From 90783f72c8772659bb1f6acce444e8551ed5aef9 Mon Sep 17 00:00:00 2001 From: Andreas Atteneder Date: Mon, 17 Apr 2023 14:24:33 +0200 Subject: [PATCH 01/27] chore: Making package identifier compatible with original OpenUPM releases. KtxUnity soft dependency has been changed back to OpenUPM version (for now) --- Editor/UI/GltfImporter.uxml | 2 +- LICENSE.md | 4 ++-- Runtime/Scripts/GltfGlobals.cs | 2 +- Runtime/Scripts/glTFast.asmdef | 6 +++--- package.json | 9 +++++++-- 5 files changed, 14 insertions(+), 9 deletions(-) diff --git a/Editor/UI/GltfImporter.uxml b/Editor/UI/GltfImporter.uxml index b30c33e39..4a53fd7a4 100644 --- a/Editor/UI/GltfImporter.uxml +++ b/Editor/UI/GltfImporter.uxml @@ -1,7 +1,7 @@ - Code coverage - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Generated by: ReportGenerator 5.0.4.0 - - - - Coverage - Coverage - 70.4%70.4% - - - - - Line coverage - - - \ No newline at end of file diff --git a/Documentation~/ImportRuntime.md b/Documentation~/ImportRuntime.md index b922ff847..cec1ccb18 100644 --- a/Documentation~/ImportRuntime.md +++ b/Documentation~/ImportRuntime.md @@ -2,7 +2,8 @@ You can load a glTF™ asset from an URL or a file path. -> Note: glTFs are loaded via [UnityWebRequests](https://docs.unity3d.com/ScriptReference/Networking.UnityWebRequest.html). File paths have to be prefixed with `file://` in the Unity Editor and on certain platforms (e.g. iOS). +> [!NOTE] +> By default glTFs are loaded via [UnityWebRequests](https://docs.unity3d.com/ScriptReference/Networking.UnityWebRequest.html). File paths thus have to be prefixed with `file://` in the Unity Editor and on certain platforms (e.g. iOS). ## Runtime Loading via Component @@ -37,7 +38,8 @@ async void LoadGltfBinaryFromMemory() { } ``` -> Note: Most users want to load self-contained glTF binary files this way, but `LoadGltfBinary` also takes the original URI of glTF file as second parameter, so it can resolve relative URIs. +> [!TIP] +> Provide the original URI of glTF-binary file as `uri` parameter to [LoadGltfBinary][GltfImportLoadGltfBinary], so that it is able to resolve relative URIs in non-self-contained glTFs. ## Customize loading behavior @@ -219,13 +221,16 @@ When loading a glTF file, *Unity glTFast* logs messages of varying severity (err - Feed the information into an analytics framework - Display details to the users -The provided component `GltfAsset` logs all of those messages to the console by default. +The [GltfAsset][GltfAsset] component logs all of those messages to the console by default. -You can customize logging by providing an implementation of [`ICodeLogger`][ICodeLogger] to methods like `GltfImport.Load` or `GltfImport.InstantiateMainScene`. +You can customize logging by providing an implementation of [ICodeLogger][ICodeLogger] to the constructors of [GltfImport][GltfImportCtor] or [GameObjectInstantiator][GameObjectInstantiatorCtor]. -There are two common implementations bundled. The `ConsoleLogger`, which logs straight to console (the default) and `CollectingLogger`, which stores messages in a list for users to process. +> [!IMPORTANT] +> Not providing an `ICodeLogger` will disable logging altogether, which makes finding the cause of problems hard! Always use a logger like the `ConsoleLogger` during development. -Look into [`ICodeLogger`][ICodeLogger] and [`LogMessages`][LogMessages] for details. +There are two common implementations bundled. The [ConsoleLogger][ConsoleLogger], which logs straight to console and [CollectingLogger][CollectingLogger], which stores messages in a list for users to process. + +Look into [ICodeLogger][ICodeLogger] and [LogMessages][LogMessages] for details. ### Tune loading performance @@ -290,9 +295,15 @@ When you no longer need a loaded instance of a glTF scene you might want to remo *Khronos®* is a registered trademark and *glTF™* is a trademark of [The Khronos Group Inc][Khronos]. +[CollectingLogger]: xref:GLTFast.Logging.CollectingLogger +[ConsoleLogger]: xref:GLTFast.Logging.ConsoleLogger +[GltfAsset]: xref:GLTFast.GltfAsset [GltfImport]: xref:GLTFast.GltfImport +[GltfImportCtor]: xref:GLTFast.GltfImport.#ctor* [GltfImportDispose]: xref:GLTFast.GltfImport.Dispose +[GltfImportLoadGltfBinary]: xref:GLTFast.GltfImportBase.LoadGltfBinary* [GameObjectInstantiator]: xref:GLTFast.GameObjectInstantiator +[GameObjectInstantiatorCtor]: xref:GLTFast.GameObjectInstantiator.#ctor* [gltfasset_component]: Images/gltfasset_component.png "Inspector showing a GltfAsset component added to a GameObject" [ICodeLogger]: xref:GLTFast.Logging.ICodeLogger [IDownload]: xref:GLTFast.Loading.IDownload diff --git a/Documentation~/Original.md b/Documentation~/Original.md index 3a765e433..77f1d9fac 100644 --- a/Documentation~/Original.md +++ b/Documentation~/Original.md @@ -14,6 +14,9 @@ Afterwards *glTFast* and further, optional packages are listed in the *Package M If you want to clone the GIT repository and installed the package locally (which is useful if you intend to develop glTFast itself), you have to checkout the branch `openupm`. +> [!IMPORTANT] +> Unlike the Unity fork, the `openupm` branch does not contain the full [content of the monorepo structure](./UpgradeGuides.md#repository-structure-monorepo)! It contains just a slightly modified variant of the package itself without tests, tools or test projects and is not recommended for [development](./development.md). + The package identifier in the `main` branch was changed, which likely leads to errors if you've cloned it before and pulled that change. In that case either switch to the `openupm` branch or [transition to the new package identifier][transition]. [fork]: ./UpgradeGuides#unity-fork diff --git a/Documentation~/ProjectSetup.md b/Documentation~/ProjectSetup.md index 043ea5844..e6b579304 100644 --- a/Documentation~/ProjectSetup.md +++ b/Documentation~/ProjectSetup.md @@ -4,6 +4,8 @@ uid: doc-project-setup # Project Setup +This page explains how projects can be setup to fit your needs and tweaked in detail. As a prerequisite you first need to [install *glTFast*](installation.md). + ## Materials and Shader Variants For runtime import *Unity glTFast* uses custom shader graphs or shaders for rendering glTF™ materials. Depending on the properties of a glTF material (and extensions it relies on), a specific [shader variant][shader-variants] will get used. In the Editor this shader variant will be built on-demand, but in order for materials to work in your build, you **have** to make sure all shader variants that you're going to need are included. @@ -30,12 +32,6 @@ Depending on the Unity version and render pipeline in use, different shader grap - Shader graphs in folder `Runtime/Shader/Legacy` for older Universal / High-Definition render pipe versions - Shaders in folder `Runtime/Shader/Built-In` for the built-in render pipeline -## Texture Support - -In order to be able to import and export PNG and Jpeg textures, the built-in packages [*Unity Web Request Texture*][uwrt] (for loading image URIs) and [*Image Conversion*][ImgConv] have to be enabled. - -So if you don't need PNG/Jpeg support (because you use only KTX™ 2.0 textures or no textures at all), you can disable those packages and reduce your build size a bit. - ### Shader Graphs and the Built-In Render Pipeline > This approach is experimental and has know shading issues @@ -45,6 +41,12 @@ Built-In render pipe projects can optionally use the shader graphs instead of th - Installing Shader Graph version 12 or newer - Adding `GLTFAST_BUILTIN_SHADER_GRAPH` to the list of scripting define symbols in the project settings +## Optional Packages + +*glTFast* has soft-dependencies on some [optional packages](installation.md#optional-packages). By not installing those packages you might be able to reduce your final build size, so consider doing that. + +For example, if you don't need PNG/Jpeg support (because you use only KTX™ 2.0 textures or no textures at all), you can disable the *Image Conversion* and *UnityWebRequestTexture* modules. + ## Readable Mesh Data By default *Unity glTFast* discards mesh data after it was uploaded to the GPU to free up main memory (see [`markNoLongerReadable`](https://docs.unity3d.com/ScriptReference/Mesh.UploadMeshData.html)). You can disable this globally by using the scripting define `GLTFAST_KEEP_MESH_DATA`. diff --git a/Documentation~/TableOfContents.md b/Documentation~/TableOfContents.md index 18adbd921..a9f6d9fcc 100644 --- a/Documentation~/TableOfContents.md +++ b/Documentation~/TableOfContents.md @@ -11,8 +11,14 @@ * [Project Setup](ProjectSetup.md) * Use Cases * [Use glTFast Add-on API to import custom data](UseCaseCustomExtras.md) +* [Development](development.md) + * [Sources](sources.md) + * [Test Project](test-project-setup.md) + * [Run Tests](tests.md) + * [Contributing](contributing.md) * More Information * [Known Issues](KnownIssues.md) * [Physical Light Units in glTF](LightUnits.md) * [Implementation Details](ImplementationDetails.md) + * [Code of Conduct](code-of-conduct.md) * [Apple Privacy Manifest](apple-privacy-manifest.md) diff --git a/Documentation~/UpgradeGuides.md b/Documentation~/UpgradeGuides.md index 96b98c0ea..eb19c8d0d 100644 --- a/Documentation~/UpgradeGuides.md +++ b/Documentation~/UpgradeGuides.md @@ -6,6 +6,24 @@ uid: doc-upgrade-guides These guides will help you upgrade your project to use the latest version of *Unity glTFast*. If you still encounter problems, help us improving this guide and *Unity glTFast* in general by reaching out by raising an issue. +## Repository Structure: Monorepo + +The Git repository of *glTFast* used to have the package content only at its root level. Shortly after version 6.8.0 this was changed to a [Monorepo][Monorepo] structure where the package resides in a sub-folder (`/Packages/com.unity.cloud.gltfast`). This was done so that the repository can also host additional content like test projects and assets that improve the development experience. Read the [development guide](development.md) and [Repository Structure](sources.md#repository-structure) for details. + +Users who installed *glTFast* via its package identifier/name won't notice a difference, but if you've [installed it via Git URL][GitPackageInstall] (usually for development purpose), you'll need to update the URL to include a `path` parameter like so: + +```none +https://github.com/Unity-Technologies/com.unity.cloud.gltfast.git?path=/Packages/com.unity.cloud.gltfast +``` + +You can do this by manually editing the URL in the [project manifest][ProjectManifest]. + +## Upgrade to 6.0 + +Use Unity 2020.3.48f1 or newer only. + +*GltfAnimation* was renamed to [Animation](xref:GLTFast.Schema.Animation). + ## Unity Fork With the release of version 5.2.0 the package name and identifier were changed to *Unity glTFast* (`com.unity.cloud.gltfast`) for the following reasons: @@ -260,10 +278,13 @@ In the future materials can be created before textures are available/downloaded [GameObjectInstantiator]: xref:GLTFast.GameObjectInstantiator [GameObjectSceneInstance]: xref:GLTFast.GameObjectSceneInstance +[GitPackageInstall]: https://docs.unity3d.com/Manual/upm-ui-giturl.html [gltf-spec-coords]: https://www.khronos.org/registry/glTF/specs/2.0/glTF-2.0.html#coordinate-system-and-units [GltfAsset]: xref:GLTFast.GltfAsset [gltfast3to4]: Images/gltfast3to4.png "3D scene view showing BoomBoxWithAxes model twice. One with the legacy axis conversion and one with the new orientation" [GltfImport]: xref:GLTFast.GltfImport +[Monorepo]: https://en.wikipedia.org/wiki/Monorepo +[ProjectManifest]: https://docs.unity3d.com/Manual/upm-git.html [IGltfReadable]: xref:GLTFast.IGltfReadable [ImgConv]: https://docs.unity3d.com/2021.3/Documentation/ScriptReference/UnityEngine.ImageConversionModule.html [OpenUPM]: https://openupm.com/ diff --git a/Documentation~/UseCaseCustomExtras.md b/Documentation~/UseCaseCustomExtras.md index 23c53507a..b3ddcd0bd 100644 --- a/Documentation~/UseCaseCustomExtras.md +++ b/Documentation~/UseCaseCustomExtras.md @@ -59,11 +59,11 @@ To create a custom glTF import behavior, follow these steps: 4. Select **C# Script**. 5. Rename the new script as `CustomGltfImport`. 6. Open the `CustomGltfImport` script and replace the content with the following: - [!code-cs [custom-gltf-import](../Samples/Documentation/Manual/CustomGltfImport.cs#CustomGltfImport)] + [!code-cs [custom-gltf-import](../DocExamples/CustomGltfImport.cs#CustomGltfImport)] 7. Repeat step 2-4 to create another new script 8. Rename the new script as `ExtraData`. 9. Open the `ExtraData` script and replace the content with the following: - [!code-cs [extra-data](../Samples/Documentation/Manual/ExtraData.cs#ExtraData)] + [!code-cs [extra-data](../DocExamples/ExtraData.cs#ExtraData)] ### Add assembly definitions @@ -92,7 +92,7 @@ To set up a new scene, follow these steps: Select **Play**, the glTF asset should be loaded and displayed at runtime. You can verify that the custom data in the `extras` property of the glTF is imported correctly by inspecting the loaded glTF asset: -![Screen capture that displays the extra data in the imported glTF asset](Images/gltf-extra-data.PNG) +![Screen capture that displays the extra data in the imported glTF asset](Images/gltf-extra-data.png) ## Trademarks diff --git a/Documentation~/code-of-conduct.md b/Documentation~/code-of-conduct.md new file mode 100644 index 000000000..6d78d7a88 --- /dev/null +++ b/Documentation~/code-of-conduct.md @@ -0,0 +1,76 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to make participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, sex characteristics, gender identity and expression, +level of experience, education, socio-economic status, nationality, personal +appearance, race, religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or + advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies within all project spaces, and it also applies when +an individual is representing the project or its community in public spaces. +Examples of representing a project or community include using an official +project e-mail address, posting via an official social media account, or acting +as an appointed representative at an online or offline event. Representation of +a project may be further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team. +All complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at + +For answers to common questions about this code of conduct, see + + +[homepage]: https://www.contributor-covenant.org diff --git a/Documentation~/contributing.md b/Documentation~/contributing.md new file mode 100644 index 000000000..5a8aabb2f --- /dev/null +++ b/Documentation~/contributing.md @@ -0,0 +1,81 @@ +# Contributing + +Thank you for your interest in contributing to *glTFast*! We are +incredibly excited to see how members of our community will use and extend +*glTFast*. To facilitate your contributions, we've outlined a brief set +of guidelines to ensure that your extensions can be easily integrated. + +## Communication + +Please read through our [code of conduct][COC], as we expect all our contributors to follow it. + +## Contact + +For inquiries of all sorts there are ways to get in touch with the *glTFast* maintainers. + +- Create an [issue on GitHub][NewIssue] (preferred way for bug reports and feature requests) +- Post a reply in the [glTFast announcement post][Announcement] on [Unity Discussions][Discussions]. + +## Contribution Ideas + +If you're looking for ideas on ways to contribute browse the [issues][issues], +especially ones with the *help wanted* or *good first issue* label. + +## Preparation + +Before starting to work on a contribution we recommend searching within the +existing [issues][issues] and [pull requests][pulls] for similar topics to +avoid redundant efforts and make sure you got all contextual information. + +Feel free to propose ideas upfront via an [issue][NewIssue] that briefly outlines +your intended changes. We'll then try to give you advice and feedback on how to +optimally implement those changes or, if justifiable, reasons to abandon an +idea. This pre-evaluation can raise the chances of getting a contribution +accepted. + +## Version Control + +*glTFast* uses [Git][Git] and [GitHub][repo] for version control. + +## Submission via Pull Request + +Changes can be proposed via [pull requests (PR)][GithubDocPR] on the [pull requests][pulls] page. + +In order to get a positive review and increase the chances getting a PR merged, make sure the PR has the following traits. + +- Concise title. +- Detailed description of the proposed improvements. +- Testing + - All existing [tests](tests.md) pass. + - Added or modified code is covered by tests. Add new tests if needed. +- [Changelog][changelog] entry. +- Updates and additions to documentation, if applicable. +- References to issues that the PR resolves, if any. +- [Contributor License Agreements](#contributor-license-agreements) signed by all authors. + +PRs will be transferred to an internal, mirrored repository to undergo review and (automated) tests that use Unity® internal tools and infrastructure. If those tests and reviews are not successful, we'll try to help you resolving remaining issues. Once all problems are resolved, the actual merge will happen on the mirrored repository and the original pull requests will get closed with a proper notification about expected release version and date. + +## Contributor License Agreements + +When you open a pull request, you will be asked to acknowledge our [Contributor +License Agreement][GltfastCLA]. You will have to confirm that your Contributions are your +original creation and that you have complete right and authority to make your +contributions. We allow both individual contributions and contributions made on +behalf of companies. + +## Trademarks + +*Unity®* is a registered trademark of [Unity Technologies][unity]. + +[Announcement]: https://discussions.unity.com/t/unity-gltfast-package-is-now-available/935685 +[changelog]: https://keepachangelog.com/en/1.0.0/ +[COC]: code-of-conduct.md +[Discussions]: https://discussions.unity.com/ +[Git]: https://git-scm.com/ +[GltfastCLA]: https://cla-assistant.cds.internal.unity3d.com/Unity-Technologies/com.unity.cloud.gltfast +[repo]: https://github.com/Unity-Technologies/com.unity.cloud.gltfast +[issues]: https://github.com/Unity-Technologies/com.unity.cloud.gltfast/issues +[NewIssue]: https://github.com/Unity-Technologies/com.unity.cloud.gltfast/issues/new/choose +[pulls]: https://github.com/Unity-Technologies/com.unity.cloud.gltfast/pulls +[GithubDocPR]: https://docs.github.com/pull-requests +[unity]: https://unity.com diff --git a/Documentation~/development.md b/Documentation~/development.md new file mode 100644 index 000000000..856c2f81a --- /dev/null +++ b/Documentation~/development.md @@ -0,0 +1,21 @@ +# Development + +> [!CAUTION] +> To do meaningful development you have to [switch to the Unity fork](./UpgradeGuides#transition-to-unity-gltfast), as this repository/branch does not contain the tools, test and projects required for development. See [Download Sources](./sources.md#download-sources) to learn where to obtain said fork. + +Here's a guide to getting started with development, testing your modifications and making a contribution to *glTFast*. + +As prerequisites you'll need to [install](installation.md) a version of Unity® that is [compatible with *glTFast*](features.md#unity-version-support). + +- [Download Sources](sources.md#download-sources) +- [Test Projects](test-project-setup.md) + - [Provided Projects](test-project-setup.md#test-projects) + - [Custom Project](test-project-setup.md#setup-a-custom-project) +- [Run Tests](tests.md) +- [Contribute](contributing.md) + +## Trademarks + +*Unity®* is a registered trademark of [Unity Technologies][unity]. + +[unity]: https://unity.com diff --git a/Documentation~/features.md b/Documentation~/features.md index 86b40ffc0..c8580154c 100644 --- a/Documentation~/features.md +++ b/Documentation~/features.md @@ -72,10 +72,9 @@ The glTF 2.0 specification is fully supported, with only a few minor remarks. | Per primitive material | ✅ | ✅ | Joints (up to 4 per vertex) | ✅ | ✅ | Weights (up to 4 per vertex) | ✅ | ✅ -| | | -| **Morph Targets / Blend Shapes** -| Sparse accessors | ² ✅ | | [Skins][Skins] | ✅ | ✅ +| Morph Targets (Blend Shapes) | ✅ | +| Sparse accessors | ² ✅ | | | | | **Animation** | via legacy Animation System | ✅ | @@ -90,6 +89,8 @@ The glTF 2.0 specification is fully supported, with only a few minor remarks. ## Extensions +glTF defines an [extension mechanism][gltf-ext] that allows the base format to be extended with new capabilities. Here's a list of extensions and their current state of support. + ### Official Khronos® extensions | | Import | Export @@ -306,7 +307,7 @@ Possibly incomplete list of things that are known to not work with Entities yet: ## Unity Version Support -*Unity glTFast* requires Unity 2020.1 or newer. +*Unity glTFast* requires Unity 2020.3.48f1 or newer. ## Legend @@ -335,6 +336,7 @@ Possibly incomplete list of things that are known to not work with Entities yet: [Entities]: https://docs.unity3d.com/Packages/com.unity.entities@latest [EntitiesGraphics]: https://docs.unity3d.com/Packages/com.unity.entities.graphics@latest [GoogleLLC]: https://about.google/ +[gltf-ext]: https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#specifying-extensions [HDRP]: https://unity.com/srp/High-Definition-Render-Pipeline [IBL]: https://github.com/atteneder/glTFast/issues/108 [IOR]: https://github.com/atteneder/glTFast/issues/207 diff --git a/Documentation~/filter.yml b/Documentation~/filter.yml index 07beaff6b..65ab908bd 100644 --- a/Documentation~/filter.yml +++ b/Documentation~/filter.yml @@ -3,9 +3,3 @@ apiRules: hasAttribute: uid: System.ObsoleteAttribute type: Type - - exclude: - uidRegex: ^GLTFast\.Tests\..*$ - type: Namespace - - exclude: - uidRegex: ^Samples\..*$ - type: Namespace diff --git a/Documentation~/index.md b/Documentation~/index.md index 830872217..f10304b6d 100644 --- a/Documentation~/index.md +++ b/Documentation~/index.md @@ -1,17 +1,20 @@ # Unity glTFast Documentation -*Unity glTFast* enables use of [glTF™ (GL Transmission Format)][gltf] asset files in [Unity][unity]. +Use *glTFast* to import and export [glTF™][gltf] 3D files efficiently at runtime or in the Editor. -It focuses on speed, memory efficiency and a small build footprint while also providing: +## Installing -- 100% [glTF 2.0 specification][gltf-spec] compliance -- Ease of use -- Robustness and Stability -- Customization and extensibility for advanced users +*Unity glTFast* is a [Package][UnityPackage] and is installed via the name `com.unity.cloud.gltfast` in the Package Manager window in Unity®. See [installation](installation.md) for detailed instructions. ## Features -*Unity glTFast* supports the full [glTF 2.0 specification][gltf-spec] and many extensions. It works with Universal, High Definition and the Built-In Render Pipelines on all platforms. +Speed, memory efficiency and a small build footprint are focus points of *Unity glTFast*. + +The [glTF 2.0 specification][gltf-spec] and a large and growing number of [glTF extensions][gltf-ext] are supported. + +All platforms as well as Universal, High Definition and Built-In Render Pipelines are supported. + +Advanced users can customize or extend *glTFast* in various ways. See the [comprehensive list of supported features and extensions](./features.md). @@ -60,7 +63,8 @@ Read about [usage](ImportEditor.md) below. Use the Unity Editor as an authoring tool and export your scenes and GameObjects as *glTFs*. -> Note: This feature is experimental +> [!WARNING] +> This feature is experimental ##### Use-cases for Editor Export @@ -81,8 +85,6 @@ Allows your Unity-powered application/game to export scenes/GameObjects to glTF - Build high level editing and authoring tools with Unity - Social media sharing -> Note: This feature is coming soon (see [issue](https://github.com/atteneder/glTFast/issues/259)) - ## Trademarks *Unity®* is a registered trademark of [Unity Technologies][unity]. @@ -96,6 +98,8 @@ Allows your Unity-powered application/game to export scenes/GameObjects to glTF [gltf]: https://www.khronos.org/gltf [gltf-projects]: https://github.khronos.org/glTF-Project-Explorer [gltf-spec]: https://www.khronos.org/registry/glTF/specs/2.0/glTF-2.0.html +[gltf-ext]: https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#specifying-extensions [GoogleLLC]: https://about.google/ [khronos]: https://www.khronos.org [unity]: https://unity.com +[UnityPackage]: https://docs.unity3d.com/Manual/PackagesList.html diff --git a/Documentation~/installation.md b/Documentation~/installation.md index 7a5528ecf..7bc42f322 100644 --- a/Documentation~/installation.md +++ b/Documentation~/installation.md @@ -15,10 +15,23 @@ To install the *Unity glTFast* package, follow these steps: There are some related package that improve *Unity glTFast* by extending its feature set. +- [Built-in Packages](https://docs.unity3d.com/Manual/pack-build.html) + - [Image Conversion](https://docs.unity3d.com/2022.3/Documentation/ScriptReference/UnityEngine.ImageConversionModule.html) for import/export of Jpeg and PNG textures. + - [Unity Web Request Texture](https://docs.unity3d.com/2022.3/Documentation/ScriptReference/UnityEngine.UnityWebRequestTextureModule.html) for import of Jpeg/PNG images from URI. + - [Animation](https://docs.unity3d.com/2022.3/Documentation/ScriptReference/UnityEngine.AnimationModule.html) for animation playback. + - [Physics](https://docs.unity3d.com/2022.3/Documentation/ScriptReference/UnityEngine.PhysicsModule.html) to create a glTF scene's [bounding box collider](xref:UnityEngine.BoxCollider) via [GltfBoundsAsset](xref:GLTFast.GltfBoundsAsset). - [Draco™ for Unity][DracoForUnity] (provides support for [KHR_draco_mesh_compression][ExtDraco]) - [KTX™ for Unity][KtxUnity] (provides support for [KHR_texture_basisu][ExtBasisU]) - [*meshoptimizer decompression for Unity*][Meshopt] (provides support for [EXT_meshopt_compression][ExtMeshopt]) +## Project Setup + +With the package(s) installed you're ready to get started, but have a look at [Project Setup](ProjectSetup.md) to certify your builds work as expected as well and tweak the package's behavior overall. + +## Install from Source Repository + +If you intend to modify or develop *glTFast* you need to install it from the source repository. See the [development documentation](development.md) for instructions on how the [get the sources](sources.md) and [setup your project](test-project-setup.md#setup-a-custom-project). + ## Trademarks *Unity®* is a registered trademark of [Unity Technologies][unity]. diff --git a/Documentation~/sources.md b/Documentation~/sources.md new file mode 100644 index 000000000..d0bbdb191 --- /dev/null +++ b/Documentation~/sources.md @@ -0,0 +1,56 @@ +# Sources + +## Download Sources + +*glTFast*'s sources are hosted in a [GitHub repository][UnityGltfastGitHub] that needs to be cloned (i.e. downloaded) first. + +> [!TIP] +> See [Cloning a repository][GitHubCloning] for detailed instructions how to download a repository. +> [Git LFS](https://git-lfs.com/) is used for binary files, so make sure your Git client handles it correctly. + +Clone via command line interface: + +```sh +git clone git@github.com:Unity-Technologies/com.unity.cloud.gltfast.git +``` + +This will download the repository into a sub-folder named `com.unity.cloud.gltfast`. + +> [!NOTE] +> Cloning requires authentication configured properly. + +## Repository Structure + +*glTFast* is part of a larger [Monorepo][Monorepo] and can be found in the subfolder `Packages/com.unity.cloud.gltfast`. + +Here's an overview of the repository structure. + +```none + +├── Packages +│ ├── com.unity.cloud.gltfast +│ └── com.unity.cloud.gltfast.tests +│ └── Assets~ +└── Projects + ├── glTFast-Test + └── ... +``` + +- *Packages* - Unity® packages + - *com.unity.cloud.gltfast* - The actual *glTFast* package + - *com.unity.cloud.gltfast.tests* - Test code and assets + - *Assets~* - glTF™ test assets +- *Projects* - see [Test Projects](test-project-setup.md#test-projects) + +## Trademarks + +*Unity®* is a registered trademark of [Unity Technologies][unity]. + +*Khronos®* is a registered trademark and [glTF™][gltf] is a trademark of [The Khronos Group Inc][khronos]. + +[GitHubCloning]: https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository +[gltf]: https://www.khronos.org/gltf +[khronos]: https://www.khronos.org +[Monorepo]: https://en.wikipedia.org/wiki/Monorepo +[UnityGltfastGitHub]: https://github.com/Unity-Technologies/com.unity.cloud.gltfast +[unity]: https://unity.com diff --git a/Documentation~/test-project-setup.md b/Documentation~/test-project-setup.md new file mode 100644 index 000000000..1002c0da6 --- /dev/null +++ b/Documentation~/test-project-setup.md @@ -0,0 +1,46 @@ +# Test Project Setup + +> [!CAUTION] +> To do meaningful development you have to [switch to the Unity fork](./UpgradeGuides#transition-to-unity-gltfast), as this repository/branch does not contain the tools, test and projects required for development. See [Download Sources](./sources.md#download-sources) to learn where to obtain said fork. + +You can get started quickly by opening one of the provided [test projects](#test-projects) or [setup a custom project](#setup-a-custom-project). + +## Test Projects + +This repository comes with test projects that are pre-configured to have all required packages installed and ready to run [tests](tests.md). + +### Project List + +| Project | Description | +|---------------------------|---------------------------------------------------------| +| glTFast-Test | Default project with all [optional packages](installation.md#optional-packages) installed. | +| glTFast-Test-minimalistic | Minimalistic setup with none of the optional dependency packages installed. | + +### Open a Project + +To open a project open [Unity® Hub][UnityHub], go to *Projects* and pick *Add* → *Add project from disk*. Select the respective project folder from within the `Projects` directory in your local copy. + +Now the project will be listed in Unity Hub with an *Unknown* editor version. Upon opening the project first time you have to pick a version of your choice (within the range of [supported versions](features.md#unity-version-support)). + +## Setup a Custom Project + +The setup of an existing project can give you a development context that is not covered by any of the provided [test projects](test-project-setup.md#test-projects). Examples are custom scripts for import/export of glTFs, the constellation of installed packages, the choice of [render pipeline][RenderPipelines] or use of [Entities][Entities]. + +In such scenarios it makes sense to setup the existing project for *glTFast* development. + +Prerequisite is that you have a [local copy of the repository](sources.md#download-sources). + +With your project opened, open the *Package Manager* and click the ➕ symbol at the top left. Select *Add package from disk* and navigate to `Packages/com.unity.cloud.gltfast/package.json` within your local copy. + +Repeat the same steps for the tests package at `Packages/com.unity.cloud.gltfast.tests/package.json`. + +You're now ready to start modifying *glTFast* and [run the tests](tests.md). + +## Trademarks + +*Unity®* is a registered trademark of [Unity Technologies][unity]. + +[Entities]: https://docs.unity3d.com/Packages/com.unity.entities@latest/ +[RenderPipelines]: https://docs.unity3d.com/Manual/render-pipelines.html +[unity]: https://unity.com +[UnityHub]: https://unity.com/unity-hub diff --git a/Documentation~/tests.md b/Documentation~/tests.md new file mode 100644 index 000000000..110d1f325 --- /dev/null +++ b/Documentation~/tests.md @@ -0,0 +1,44 @@ +# Tests + +> [!CAUTION] +> To do meaningful development you have to [switch to the Unity fork](./UpgradeGuides#transition-to-unity-gltfast), as this repository/branch does not contain the tools, test and projects required for development. See [Download Sources](./sources.md#download-sources) to learn where to obtain said fork. + +*glTFast* comes with a set of unit and integration tests that ensure the software functions without unexpected errors and certify the correctness of the results. Those tests and the assets they require can be found in the tests package under `Packages/com.unity.cloud.gltfast.tests`. + +Once your project is correctly setup (by either opening one of the provided [test projects](test-project-setup.md#test-projects) or following the steps to [setup your own project](test-project-setup.md#setup-a-custom-project)) you'll be able to run all tests via the *Test Runner* window (under *Window* → *General* → *Test Runner*; see [Test Framework documentation][UTFRunTests] for details about running tests). + +Passing all tests is a requirement for getting a [contribution](contribute.md) accepted. + +On an unmodified copy of *glTFast* all tests should pass. Once you start introducing changes it's recommended to periodically check that the tests still pass. + +If a test doesn't succeed you'll have to investigate if it revealed a flaw in you modification or the tests itself needs to be adjusted. + +## Adding Tests + +If you add new code to *glTFast* you should also add tests that certify correctness of the new code. + +For more information about creating and running tests, consult the documentation of the [Unity® Test Framework][UTF] + +## Test Assets + +Some tests consume glTF™ files or other kinds of test input data. Those test assets can be found in the hidden directory `Packages/com.unity.cloud.gltfast.tests/Assets~`. + +When tests are run in Editor playmode, the test assets are loaded from that location directly. + +When tests are run in a player build, `GLTFast.Editor.Tests.PreprocessBuild` copies all test assets into a directory named `gltfast` within [StreamingAssets][StreamingAssets], effectively packing the assets with the build and ensuring the files are accessible when the tests are run. + +> [!CAUTION] +> If you ran the tests in a production project, you need to remove the test folders in StreamingAssets to ensure they don't end up in a production build. + +## Trademarks + +*Unity®* is a registered trademark of [Unity Technologies][unity]. + +*Khronos®* is a registered trademark and [glTF™][gltf] is a trademark of [The Khronos Group Inc][khronos]. + +[gltf]: https://www.khronos.org/gltf +[khronos]: https://www.khronos.org +[StreamingAssets]: https://docs.unity3d.com/Manual/StreamingAssets.html +[unity]: https://unity.com +[UTF]: https://docs.unity3d.com/Packages/com.unity.test-framework@latest/ +[UTFRunTests]: https://docs.unity3d.com/Packages/com.unity.test-framework@1.4/manual/workflow-run-test.html diff --git a/Editor/Scripts/BuiltInShaderGUI.cs b/Editor/Scripts/BuiltInShaderGUI.cs index a10cbecbb..7a152a71f 100644 --- a/Editor/Scripts/BuiltInShaderGUI.cs +++ b/Editor/Scripts/BuiltInShaderGUI.cs @@ -1,6 +1,7 @@ // SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 +using Unity.Mathematics; using UnityEditor; using UnityEngine; using static GLTFast.Materials.MaterialGenerator; @@ -70,7 +71,7 @@ public override void OnGUI(MaterialEditor materialEditor, UnityEditor.MaterialPr "Base Color Tex Rotation"); if (m_UVTransform.HasValue) { - if (m_UVTransform.Value.rotation != 0) + if (math.abs(m_UVTransform.Value.rotation) >= float.Epsilon) { material.EnableKeyword(TextureTransformKeyword); } diff --git a/Editor/Scripts/MenuEntries.cs b/Editor/Scripts/MenuEntries.cs index 1cdf1bea2..5c79f92bc 100644 --- a/Editor/Scripts/MenuEntries.cs +++ b/Editor/Scripts/MenuEntries.cs @@ -10,7 +10,7 @@ using UnityEngine.SceneManagement; #if GLTF_VALIDATOR -using Unity.glTF.Validator; +using UnityEditor.Formats.Gltf.Validation; #endif namespace GLTFast.Editor diff --git a/Editor/Scripts/ShaderGUIBase.cs b/Editor/Scripts/ShaderGUIBase.cs index 3c2b1ae8f..c06756b5c 100644 --- a/Editor/Scripts/ShaderGUIBase.cs +++ b/Editor/Scripts/ShaderGUIBase.cs @@ -77,7 +77,7 @@ class ShaderGUIBase : ShaderGUI float2x2 rotScale = math.mul(new float2x2(cos, sin, -sin, cos), new float2x2(newUvTransform.scale.x, 0, 0, newUvTransform.scale.y)); material.SetVector(scaleTransformPropertyId, new Vector4(rotScale.c0.x, rotScale.c1.y, currentScaleTransform.z, currentScaleTransform.w)); material.SetVector(rotationPropertyId, new Vector4(rotScale.c1.x, rotScale.c0.y, 0, 0)); - if (newUvTransform.rotation == 0) + if (math.abs(newUvTransform.rotation) < float.Epsilon) { material.DisableKeyword(TextureTransformKeyword); } diff --git a/Editor/Scripts/glTFast.Editor.asmdef b/Editor/Scripts/glTFast.Editor.asmdef index 57fae5031..3c56952b8 100644 --- a/Editor/Scripts/glTFast.Editor.asmdef +++ b/Editor/Scripts/glTFast.Editor.asmdef @@ -7,7 +7,7 @@ "glTFast.Export", "UnityEngine.TestTools.Graphics", "Unity.RenderPipelines.HighDefinition.Runtime", - "com.unity.formats.gltf.validator.Editor" + "UnityEditor.Formats.Gltf.Validation" ], "includePlatforms": [ "Editor" @@ -41,7 +41,7 @@ }, { "name": "com.unity.formats.gltf.validator", - "expression": "", + "expression": "0.2.0-preview.1", "define": "GLTF_VALIDATOR" } ], diff --git a/README.md b/README.md index c46675bb5..d65037ea9 100644 --- a/README.md +++ b/README.md @@ -1,27 +1,24 @@ # glTFast -[![codecov](https://codecov.unity3d.com/ghe/unity/com.unity.cloud.gltfast.src/graph/badge.svg?token=QZYEFH0SDC)](https://codecov.unity3d.com/ghe/unity/com.unity.cloud.gltfast.src) - -

-Unity and glTF logos side by side -

- [![openupm](https://img.shields.io/npm/v/com.atteneder.gltfast?label=openupm®istry_uri=https://package.openupm.com)](https://openupm.com/packages/com.atteneder.gltfast/) -> **NOTE:** It's recommended to switch to [Unity glTFast][UnityGltfast], a fork of this package that is developed and supported by [Unity][unity]. Consult the [upgrade guide](https://docs.unity3d.com/Packages/com.unity.cloud.gltfast@6.1/manual/UpgradeGuides.html#unity-fork) for details. +Use *glTFast* to import and export [glTF™][gltf] 3D files efficiently at runtime or in the Editor. -*glTFast* enables use of [glTF™ (GL Transmission Format)][gltf] asset files in [Unity®][unity]. +## Installing -It focuses on speed, memory efficiency and a small build footprint while also providing: +*Unity glTFast* is a [Package][UnityPackage] and is installed via the name `com.unity.cloud.gltfast` in the Package Manager window in Unity®. See [installation](Documentation~/installation.md) for detailed instructions. -- 100% [glTF 2.0 specification][gltf-spec] compliance -- Ease of use -- Robustness and Stability -- Customization and extensibility for advanced users +> **NOTE:** This package originally had the identifier `com.atteneder.gltfast`. Consult the [upgrade guide](./Documentation~/UpgradeGuides.md#unity-fork) to learn how to switch to the Unity version (`com.unity.cloud.gltfast`) or [install the original package](./Documentation~/Original.md). ## Features -*glTFast* supports the full [glTF 2.0 specification][gltf-spec] and many extensions. It works with Universal, High Definition and the Built-In Render Pipelines on all platforms. +Speed, memory efficiency and a small build footprint are focus points of *Unity glTFast*. + +The [glTF 2.0 specification][gltf-spec] and a large and growing number of [glTF extensions][gltf-ext] are supported. + +All platforms as well as Universal, High Definition and Built-In Render Pipelines are supported. + +Advanced users can customize or extend *glTFast* in various ways. See the [comprehensive list of supported features and extensions](./Documentation~/features.md). @@ -40,12 +37,6 @@ There are four use-cases for glTF within Unity Read more about the workflows in the [documentation][workflows]. -## Installing - -> **NOTE:** Consider switching to [Unity glTFast][UnityGltfast], a fork of this package that is developed and supported by [Unity][unity]. Consult the [upgrade guide](./Documentation~/UpgradeGuides.md#unity-fork) for details. - -[Installation instruction for the original glTFast](./Documentation~/Original.md). - ## Usage You can load a glTF asset from an URL or a file path. @@ -116,11 +107,12 @@ limitations under the License. *Khronos®* is a registered trademark and [glTF™][gltf] is a trademark of [The Khronos Group Inc][khronos]. -[gltf-spec]: https://www.khronos.org/registry/glTF/specs/2.0/glTF-2.0.html [gltf]: https://www.khronos.org/gltf +[gltf-spec]: https://www.khronos.org/registry/glTF/specs/2.0/glTF-2.0.html +[gltf-ext]: https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#specifying-extensions [gltfasset_component]: ./Documentation~/Images/gltfasset_component.png "Inspector showing a GltfAsset component added to a GameObject" [import-gif]: ./Documentation~/Images/import.gif "Video showing glTF files being copied into the Assets folder and imported" [khronos]: https://www.khronos.org [unity]: https://unity.com -[UnityGltfast]: https://docs.unity3d.com/Packages/com.unity.cloud.gltfast@latest/ +[UnityPackage]: https://docs.unity3d.com/Manual/PackagesList.html [workflows]: ./Documentation~/index.md#workflows diff --git a/Runtime/Scripts/Export/AssemblyInfo.cs b/Runtime/Scripts/Export/AssemblyInfo.cs index a00acbafc..0004f5eac 100644 --- a/Runtime/Scripts/Export/AssemblyInfo.cs +++ b/Runtime/Scripts/Export/AssemblyInfo.cs @@ -4,6 +4,7 @@ using System.Runtime.CompilerServices; [assembly: InternalsVisibleTo("glTFast.Editor")] +[assembly: InternalsVisibleTo("glTFast.Editor.Tests")] [assembly: InternalsVisibleTo("glTFast.Tests")] // TODO: Remove once tests are transferred into package diff --git a/Runtime/Scripts/Export/Constants.cs b/Runtime/Scripts/Export/Constants.cs index 9650ea3ab..b679219fd 100644 --- a/Runtime/Scripts/Export/Constants.cs +++ b/Runtime/Scripts/Export/Constants.cs @@ -7,7 +7,7 @@ namespace GLTFast.Export { static class Constants { - public const string version = "6.8.0"; + public const string version = "6.9.0"; internal const string mimeTypePNG = "image/png"; internal const string mimeTypeJPG = "image/jpeg"; diff --git a/Runtime/Scripts/Export/GltfMaterialExporter.cs b/Runtime/Scripts/Export/GltfMaterialExporter.cs index 19b6ccb9e..06feb7dab 100644 --- a/Runtime/Scripts/Export/GltfMaterialExporter.cs +++ b/Runtime/Scripts/Export/GltfMaterialExporter.cs @@ -299,7 +299,7 @@ out TextureTransform result var st = uMaterial.GetVector(scaleTransformPropertyId); var r = uMaterial.GetVector(rotationPropertyId); - if (st.z != 0 || st.w != 0) + if (math.abs(st.z) >= float.Epsilon || math.abs(st.w) >= float.Epsilon) { result ??= new TextureTransform(); result.offset = new[] { st.z, st.w }; @@ -307,14 +307,14 @@ out TextureTransform result var uvTransform = UvTransform.FromMatrix(new float2x2(st.x, st.y, r.x, r.y)); - if (uvTransform.rotation != 0) + if (math.abs(uvTransform.rotation) > float.Epsilon) { result ??= new TextureTransform(); result.rotation = uvTransform.rotation; } if (math.abs(uvTransform.scale.x - 1) > math.EPSILON - || math.abs(uvTransform.scale.x - 1) > math.EPSILON) + || math.abs(uvTransform.scale.y - 1) > math.EPSILON) { result ??= new TextureTransform(); result.scale = new[] { uvTransform.scale[0], uvTransform.scale[1] }; diff --git a/Runtime/Scripts/Export/GltfWriter.cs b/Runtime/Scripts/Export/GltfWriter.cs index d84d7726a..e427197a1 100755 --- a/Runtime/Scripts/Export/GltfWriter.cs +++ b/Runtime/Scripts/Export/GltfWriter.cs @@ -124,7 +124,6 @@ int outputOffset /// Defer agent (); decides when/if to preempt /// export to preserve a stable frame rate. /// Interface for logging (error) messages. - /// Function used to get the bone Ids of a given mesh public GltfWriter( ExportSettings exportSettings = null, IDeferAgent deferAgent = null, @@ -437,7 +436,7 @@ public int AddTexture(int imageId, int samplerId) sampler = samplerId }; - var index = m_Textures.IndexOf(texture); + var index = m_Textures.FindIndex(i => TextureComparer.Equals(i, texture)); if (index >= 0) { return index; } @@ -921,7 +920,7 @@ async Task BakeMeshes() task = BakeMesh(meshId, meshData[meshId]); } - if (m_Settings.Deterministic) + if (m_Settings.Deterministic || tasks == null) { await task; } @@ -1177,8 +1176,10 @@ async Task BakeMesh(int meshId, IMeshData meshData) topology = subMeshTopology; } else + if (topology.Value != subMeshTopology) { - Assert.AreEqual(topology.Value, subMeshTopology, "Mixed topologies are not supported!"); + m_Logger?.Error(LogCode.TopologyUnsupported, "mixed"); + return; } var mode = GetDrawMode(subMeshTopology); if (!mode.HasValue) @@ -1215,8 +1216,12 @@ async Task BakeMesh(int meshId, IMeshData meshData) indices = indexAccessorId, }; } - Assert.IsTrue(topology.HasValue); Profiler.EndSample(); // "BakeMesh 1" + if (!topology.HasValue) + { + m_Logger?.Error(LogCode.TopologyUnsupported, "unknown"); + return; + } int indexBufferViewId; if (uMesh.indexFormat == IndexFormat.UInt16) @@ -1355,7 +1360,7 @@ async Task BakeMesh(int meshId, IMeshData meshData) #endif meshData.GetVertexData(stream); - outputStreams[stream] = new NativeArray(outputStrides[stream] * vertexCount, Allocator.TempJob); + outputStreams[stream] = new NativeArray(outputStrides[stream] * vertexCount, Allocator.Persistent); } foreach (var pair in attrDataDict) diff --git a/Runtime/Scripts/Export/ImageExport.cs b/Runtime/Scripts/Export/ImageExport.cs index 3ba3e8065..dfa345382 100644 --- a/Runtime/Scripts/Export/ImageExport.cs +++ b/Runtime/Scripts/Export/ImageExport.cs @@ -2,7 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 using System; -using System.Diagnostics.CodeAnalysis; using System.IO; using UnityEngine; using UnityEngine.Experimental.Rendering; @@ -22,7 +21,7 @@ class ImageExport : ImageExportBase /// /// Main source texture /// - protected Texture2D m_Texture; + protected readonly Texture2D m_Texture; /// /// Preferred image format @@ -38,7 +37,7 @@ class ImageExport : ImageExportBase /// /// True if is a valid path /// - protected bool validAssetPath => !string.IsNullOrEmpty(m_AssetPath) && File.Exists(m_AssetPath); + protected bool ValidAssetPath => !string.IsNullOrEmpty(m_AssetPath) && File.Exists(m_AssetPath); #endif /// @@ -73,7 +72,7 @@ public override string FileName get { #if UNITY_EDITOR - if (validAssetPath) { + if (ValidAssetPath) { var nameWithoutExtension = Path.GetFileNameWithoutExtension(m_AssetPath); return $"{nameWithoutExtension}.{FileExtension}"; } @@ -155,7 +154,7 @@ protected virtual bool GenerateTexture(out byte[] imageData) public override bool Write(string filePath, bool overwrite) { #if UNITY_EDITOR - if (validAssetPath && GetFormatFromExtension(m_AssetPath)==ImageFormat) { + if (ValidAssetPath && GetFormatFromExtension(m_AssetPath)==ImageFormat) { File.Copy(m_AssetPath, filePath, overwrite); return true; } @@ -172,7 +171,7 @@ public override bool Write(string filePath, bool overwrite) public override byte[] GetData() { #if UNITY_EDITOR - if (validAssetPath && GetFormatFromExtension(m_AssetPath)==ImageFormat) { + if (ValidAssetPath && GetFormatFromExtension(m_AssetPath)==ImageFormat) { return File.ReadAllBytes(m_AssetPath); } #endif @@ -184,7 +183,6 @@ public override byte[] GetData() /// Default hash function. /// /// A hash code for the current object. - [SuppressMessage("ReSharper", "NonReadonlyMemberInGetHashCode")] public override int GetHashCode() { var hash = 13; diff --git a/Runtime/Scripts/Export/ImageExportBase.cs b/Runtime/Scripts/Export/ImageExportBase.cs index dc6cf2d4c..28b364548 100644 --- a/Runtime/Scripts/Export/ImageExportBase.cs +++ b/Runtime/Scripts/Export/ImageExportBase.cs @@ -3,6 +3,7 @@ using System; using UnityEngine; +using UnityEngine.Assertions; #if UNITY_2022_1_OR_NEWER using UnityEngine.Experimental.Rendering; #endif @@ -67,15 +68,13 @@ protected static byte[] EncodeTexture(Texture2D texture, ImageFormat format, boo { #if UNITY_IMAGECONVERSION + Assert.IsNotNull(texture); + Texture2D exportTexture; var tmpTexture = false; if (texture.isReadable && blitMaterial==null) { exportTexture = texture; - if (exportTexture == null) { - // m_Logger?.Error(LogCode.ImageFormatUnknown,texture.name,"n/a"); - return null; - } } else { var destRenderTexture = RenderTexture.GetTemporary( texture.width, diff --git a/Runtime/Scripts/Export/ManagedNativeArray.cs b/Runtime/Scripts/Export/ManagedNativeArray.cs index dddb3ee6c..9b67f98ff 100644 --- a/Runtime/Scripts/Export/ManagedNativeArray.cs +++ b/Runtime/Scripts/Export/ManagedNativeArray.cs @@ -11,8 +11,10 @@ namespace GLTFast.Export { /// - /// Wraps a managed T[] in a NativeArray<T>without copying memory. + /// Wraps a managed TIn[] in a NativeArray<TOut>without copying memory. /// + /// Type of items in input array. + /// Type of items in output NativeArray (might differ from input type TIn). public class ManagedNativeArray : IDisposable where TIn : unmanaged where TOut : unmanaged diff --git a/Runtime/Scripts/Export/OrmImageExport.cs b/Runtime/Scripts/Export/OrmImageExport.cs index 06b5248d3..d9f8a645b 100644 --- a/Runtime/Scripts/Export/OrmImageExport.cs +++ b/Runtime/Scripts/Export/OrmImageExport.cs @@ -2,7 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 using System; -using System.Diagnostics.CodeAnalysis; using System.IO; using Unity.Mathematics; using UnityEngine; @@ -25,8 +24,8 @@ class OrmImageExport : ImageExport static Material s_OcclusionBlitMaterial; static Material s_GlossBlitMaterial; - Texture2D m_OccTexture; - Texture2D m_SmoothnessTexture; + readonly Texture2D m_OccTexture; + readonly Texture2D m_SmoothnessTexture; /// /// Default constructor @@ -135,33 +134,6 @@ public override TextureWrapMode WrapModeV /// public bool HasOcclusion => m_OccTexture != null; - /// - /// Assigns a Metal/Gloss source texture - /// - /// Metal/Gloss texture - public void SetMetalGlossTexture(Texture2D texture) - { - m_Texture = texture; - } - - /// - /// Assigns an occlusion source texture - /// - /// Occlusion texture - public void SetOcclusionTexture(Texture2D texture) - { - m_OccTexture = texture; - } - - /// - /// Assigns a smoothness source texture - /// - /// Smoothness texture - public void SetSmoothnessTexture(Texture2D texture) - { - m_SmoothnessTexture = texture; - } - static Material GetMetalGlossBlitMaterial() { if (s_MetalGlossBlitMaterial == null) @@ -321,7 +293,6 @@ ImageFormat format } /// - [SuppressMessage("ReSharper", "NonReadonlyMemberInGetHashCode")] public override int GetHashCode() { var hash = 14; diff --git a/Runtime/Scripts/Export/StandardMaterialExport.cs b/Runtime/Scripts/Export/StandardMaterialExport.cs index 76c793d76..65d8ca761 100644 --- a/Runtime/Scripts/Export/StandardMaterialExport.cs +++ b/Runtime/Scripts/Export/StandardMaterialExport.cs @@ -138,7 +138,10 @@ public override bool ConvertMaterial(UnityEngine.Material uMaterial, out Materia || uMaterial.IsKeywordEnabled(k_KeywordSmoothnessTextureAlbedoChannelA) ); - OrmImageExport ormImageExport = null; + Texture2D occlusionTexture = null; + Texture2D metalGlossTexture = null; + Texture2D smoothnessTexture = null; + var mainTexProperty = MainTexProperty; if (uMaterial.HasProperty(k_BaseMap)) { @@ -149,11 +152,6 @@ public override bool ConvertMaterial(UnityEngine.Material uMaterial, out Materia mainTexProperty = k_ColorTexture; } - if (needsMetalRoughTexture) - { - ormImageExport = new OrmImageExport(); - } - if (IsUnlit(uMaterial)) { ExportUnlit(material, uMaterial, mainTexProperty, gltf, logger); @@ -164,9 +162,10 @@ public override bool ConvertMaterial(UnityEngine.Material uMaterial, out Materia uMaterial, material, mainTexProperty, - ormImageExport, gltf, - logger + logger, + out metalGlossTexture, + out smoothnessTexture ); } else if (uMaterial.HasProperty(mainTexProperty)) @@ -202,14 +201,14 @@ public override bool ConvertMaterial(UnityEngine.Material uMaterial, out Materia { if (occTex is Texture2D occTex2d) { - if (ormImageExport == null) + if (!needsMetalRoughTexture) { material.occlusionTexture = ExportOcclusionTextureInfo(occTex2d, gltf); } else { material.occlusionTexture = new OcclusionTextureInfo(); - ormImageExport.SetOcclusionTexture(occTex2d); + occlusionTexture = occTex2d; } if (material.occlusionTexture != null) { @@ -229,8 +228,9 @@ public override bool ConvertMaterial(UnityEngine.Material uMaterial, out Materia } } - if (ormImageExport != null && material.pbrMetallicRoughness != null) + if (needsMetalRoughTexture && material.pbrMetallicRoughness != null) { + var ormImageExport = new OrmImageExport(metalGlossTexture, occlusionTexture, smoothnessTexture); if (MaterialExport.AddImageExport(gltf, ormImageExport, out var ormTextureId)) { if (material.pbrMetallicRoughness.MetallicRoughnessTexture != null) @@ -276,11 +276,14 @@ static bool ExportPbrMetallicRoughness( UnityEngine.Material uMaterial, Material material, int mainTexProperty, - OrmImageExport ormImageExport, IGltfWritable gltf, - ICodeLogger logger + ICodeLogger logger, + out Texture2D metalGlossTexture, + out Texture2D smoothnessTexture ) { + metalGlossTexture = null; + smoothnessTexture = null; var success = true; var pbr = new PbrMetallicRoughness { metallicFactor = 0, roughnessFactor = 1.0f }; @@ -364,7 +367,7 @@ ICodeLogger logger if (mrTex is Texture2D mrTex2d) { pbr.metallicRoughnessTexture = pbr.metallicRoughnessTexture ?? new TextureInfo(); - ormImageExport.SetMetalGlossTexture(mrTex2d); + metalGlossTexture = mrTex2d; if (HasMetallicGlossMap(uMaterial)) pbr.metallicFactor = 1.0f; ExportTextureTransform(pbr.metallicRoughnessTexture, uMaterial, k_MetallicGlossMap, gltf); @@ -383,7 +386,7 @@ ICodeLogger logger if (smoothnessTex != null) { pbr.metallicRoughnessTexture = pbr.metallicRoughnessTexture ?? new TextureInfo(); - ormImageExport.SetSmoothnessTexture(smoothnessTex); + smoothnessTexture = smoothnessTex; ExportTextureTransform(pbr.metallicRoughnessTexture, uMaterial, mainTexProperty, gltf); } } diff --git a/Runtime/Scripts/Export/TextureComparer.cs b/Runtime/Scripts/Export/TextureComparer.cs new file mode 100644 index 000000000..f1187119c --- /dev/null +++ b/Runtime/Scripts/Export/TextureComparer.cs @@ -0,0 +1,27 @@ +// SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +using GLTFast.Schema; +using UnityEngine; + +namespace GLTFast.Export +{ + static class TextureComparer + { + /// + /// Compares two textures based on their source and sampler only. + /// + /// First texture. + /// Second texture. + /// True if textures have identical source and sampler, false otherwise. + public static bool Equals(TextureBase x, TextureBase y) + { + if (ReferenceEquals(x, y)) return true; + if (x is null) return false; + if (y is null) return false; + return x.sampler == y.sampler + && x.source == y.source; + } + } +} diff --git a/Tests/Editor/GltfImporterTest.cs.meta b/Runtime/Scripts/Export/TextureComparer.cs.meta similarity index 83% rename from Tests/Editor/GltfImporterTest.cs.meta rename to Runtime/Scripts/Export/TextureComparer.cs.meta index ae5a70bc1..f67911c34 100644 --- a/Tests/Editor/GltfImporterTest.cs.meta +++ b/Runtime/Scripts/Export/TextureComparer.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 7a9ff3108187146598c50b77339036fb +guid: 6d91c92c9aad04feab854d040e57c8b1 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Runtime/Scripts/Export/VertexAttributeUsage.cs b/Runtime/Scripts/Export/VertexAttributeUsage.cs index 695fc2b27..a614a398b 100644 --- a/Runtime/Scripts/Export/VertexAttributeUsage.cs +++ b/Runtime/Scripts/Export/VertexAttributeUsage.cs @@ -61,7 +61,7 @@ public static class VertexAttributeUsageExtension /// /// Vertex attribute. /// Vertex attribute mask with corresponding flag enabled. - /// + /// Thrown when an unknown VertexAttribute is detected. public static VertexAttributeUsage ToVertexAttributeUsage(this VertexAttribute attr) { return attr switch diff --git a/Runtime/Scripts/Extensions.cs b/Runtime/Scripts/Extensions.cs index 66dee807a..18b767200 100644 --- a/Runtime/Scripts/Extensions.cs +++ b/Runtime/Scripts/Extensions.cs @@ -50,7 +50,7 @@ public enum Extension /// MaterialsClearcoat, /// - /// KHR_materials_variants glTF extension + /// KHR_materials_variants glTF extension /// MaterialsVariants, /// diff --git a/Runtime/Scripts/GltfGlobals.cs b/Runtime/Scripts/GltfGlobals.cs index ceab1ca7c..4f8dda1df 100644 --- a/Runtime/Scripts/GltfGlobals.cs +++ b/Runtime/Scripts/GltfGlobals.cs @@ -40,7 +40,7 @@ public static class GltfGlobals /// glTF package name /// public const string GltfPackageName = "com.atteneder.gltfast"; - + /// /// First four bytes of a glTF-Binary file are made up of this signature /// Represents glTF in ASCII diff --git a/Runtime/Scripts/GltfImport.cs b/Runtime/Scripts/GltfImport.cs index 828edcad5..15a75b772 100755 --- a/Runtime/Scripts/GltfImport.cs +++ b/Runtime/Scripts/GltfImport.cs @@ -167,6 +167,7 @@ public abstract class GltfImportBase : IGltfReadable, IGltfBuffers, IDisposable }; static IDeferAgent s_DefaultDeferAgent; + static MeshPrimitiveComparer s_MeshPrimitiveComparer = new MeshPrimitiveComparer(); IDownloadProvider m_DownloadProvider; IMaterialGenerator m_MaterialGenerator; @@ -3013,11 +3014,11 @@ async Task LoadAccessorData(RootBase gltf) Profiler.BeginSample("LoadAccessorData.Init"); - var mainBufferTypes = new Dictionary(); + var mainBufferTypes = new Dictionary(s_MeshPrimitiveComparer); var meshCount = gltf.Meshes?.Count ?? 0; - m_MeshPrimitiveCluster = gltf.Meshes == null - ? null - : new Dictionary>[meshCount]; + m_MeshPrimitiveCluster = meshCount > 0 + ? new Dictionary>[meshCount] + : null; Dictionary morphTargetsContexts = null; #if DEBUG var perAttributeMeshCollection = new Dictionary>(); @@ -3033,7 +3034,7 @@ async Task LoadAccessorData(RootBase gltf) { var mesh = gltf.Meshes[meshIndex]; m_MeshPrimitiveIndex[meshIndex] = totalPrimitives; - var cluster = new Dictionary>(); + var cluster = new Dictionary>(s_MeshPrimitiveComparer); for (var primIndex = 0; primIndex < mesh.Primitives.Count; primIndex++) { @@ -3048,7 +3049,7 @@ async Task LoadAccessorData(RootBase gltf) { if (morphTargetsContexts == null) { - morphTargetsContexts = new Dictionary(); + morphTargetsContexts = new Dictionary(s_MeshPrimitiveComparer); } else if (morphTargetsContexts.ContainsKey(primitive)) { @@ -3171,7 +3172,10 @@ async Task LoadAccessorData(RootBase gltf) m_Primitives = new MeshResult[totalPrimitives]; m_PrimitiveContexts = new PrimitiveCreateContextBase[totalPrimitives]; var tmpList = new List(mainBufferTypes.Count); - m_VertexAttributes = new Dictionary(mainBufferTypes.Count); + m_VertexAttributes = new Dictionary( + mainBufferTypes.Count, + s_MeshPrimitiveComparer + ); #if DEBUG foreach (var perAttributeMeshes in perAttributeMeshCollection) { if(perAttributeMeshes.Value.Count>1) { diff --git a/Runtime/Scripts/Material/MaterialGenerator.cs b/Runtime/Scripts/Material/MaterialGenerator.cs index 188c6cf72..38cc88ef8 100644 --- a/Runtime/Scripts/Material/MaterialGenerator.cs +++ b/Runtime/Scripts/Material/MaterialGenerator.cs @@ -411,7 +411,7 @@ void TrySetTextureTransform( textureScaleTranslation.x = tt.scale[0]; textureScaleTranslation.y = tt.scale[1]; } - if (tt.rotation != 0) + if (math.abs(tt.rotation) >= float.Epsilon) { var cos = math.cos(tt.rotation); var sin = math.sin(tt.rotation); diff --git a/Runtime/Scripts/MeshPrimitiveComparer.cs b/Runtime/Scripts/MeshPrimitiveComparer.cs new file mode 100644 index 000000000..57dc29dae --- /dev/null +++ b/Runtime/Scripts/MeshPrimitiveComparer.cs @@ -0,0 +1,158 @@ +// SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +using System.Collections.Generic; +using GLTFast.Schema; +using UnityEngine; + +namespace GLTFast +{ + /// + /// Compares Mesh Primitives based on their attributes and morph targets only. + /// This is practical when clustering primitives of a mesh together, + /// that end up in a single Unity Mesh. + /// + class MeshPrimitiveComparer : IEqualityComparer + { + public bool Equals(MeshPrimitiveBase x, MeshPrimitiveBase y) + { + if (ReferenceEquals(x, y)) return true; + if (x is null) return false; + if (y is null) return false; + + return Equals(x.attributes, y.attributes) + && Equals(x.targets, y.targets); + } + + public int GetHashCode(MeshPrimitiveBase obj) + { +#if NET_STANDARD + return HashCode.Combine( + GetHashCode(obj.attributes), + GetHashCode(obj.targets) + ); +#else + var hash = 13; + hash = hash * 31 + GetHashCode(obj.attributes); + hash = hash * 31 + GetHashCode(obj.targets); + return hash; +#endif + } + + static int GetHashCode(Attributes x) + { + if (x == null) return 0; +#if NET_STANDARD + HashCode hash = new(); + hash.Add(x.POSITION); + hash.Add(x.NORMAL); + hash.Add(x.TANGENT); + hash.Add(x.TEXCOORD_0); + hash.Add(x.TEXCOORD_1); + hash.Add(x.TEXCOORD_2); + hash.Add(x.TEXCOORD_3); + hash.Add(x.TEXCOORD_4); + hash.Add(x.TEXCOORD_5); + hash.Add(x.TEXCOORD_6); + hash.Add(x.TEXCOORD_7); + hash.Add(x.COLOR_0); + hash.Add(x.JOINTS_0); + hash.Add(x.WEIGHTS_0); + return hash.ToHashCode(); +#else + var hash = 17; + hash = hash * 31 + x.POSITION; + hash = hash * 31 + x.NORMAL; + hash = hash * 31 + x.TANGENT; + hash = hash * 31 + x.TEXCOORD_0; + hash = hash * 31 + x.TEXCOORD_1; + hash = hash * 31 + x.TEXCOORD_2; + hash = hash * 31 + x.TEXCOORD_3; + hash = hash * 31 + x.TEXCOORD_4; + hash = hash * 31 + x.TEXCOORD_5; + hash = hash * 31 + x.TEXCOORD_6; + hash = hash * 31 + x.TEXCOORD_7; + hash = hash * 31 + x.COLOR_0; + hash = hash * 31 + x.JOINTS_0; + hash = hash * 31 + x.WEIGHTS_0; + return hash; +#endif + } + + static int GetHashCode(MorphTarget[] x) + { + if (x == null) return 0; +#if NET_STANDARD + HashCode hash = new(); + hash.Add(x.Length); + foreach (var target in x) + { + if (target == null) + { + hash.Add(0); + continue; + } + hash.Add(target.POSITION); + hash.Add(target.NORMAL); + hash.Add(target.TANGENT); + } + return hash.ToHashCode(); +#else + var hash = 17; + hash = hash * 31 + x.Length; + foreach (var target in x) + { + if (target == null) + continue; + hash = hash * 31 + target.POSITION; + hash = hash * 31 + target.NORMAL; + hash = hash * 31 + target.TANGENT; + } + return hash; +#endif + } + + static bool Equals(MorphTarget[] x, MorphTarget[] y) + { + if (ReferenceEquals(x, y)) return true; + if (x == null || y == null) return false; + if (x.Length != y.Length) return false; + for (var i = 0; i < x.Length; i++) + { + if (!Equals(x[i], y[i])) + return false; + } + return true; + } + + static bool Equals(MorphTarget x, MorphTarget y) + { + if (ReferenceEquals(x, y)) return true; + if (x == null || y == null) return false; + return x.POSITION == y.POSITION + && x.NORMAL == y.NORMAL + && x.TANGENT == y.TANGENT; + } + + static bool Equals(Attributes x, Attributes y) + { + if (ReferenceEquals(x, y)) return true; + if (x == null || y == null) return false; + return x.POSITION == y.POSITION + && x.NORMAL == y.NORMAL + && x.TANGENT == y.TANGENT + && x.TEXCOORD_0 == y.TEXCOORD_0 + && x.TEXCOORD_1 == y.TEXCOORD_1 + && x.TEXCOORD_2 == y.TEXCOORD_2 + && x.TEXCOORD_3 == y.TEXCOORD_3 + && x.TEXCOORD_4 == y.TEXCOORD_4 + && x.TEXCOORD_5 == y.TEXCOORD_5 + && x.TEXCOORD_6 == y.TEXCOORD_6 + && x.TEXCOORD_7 == y.TEXCOORD_7 + && x.COLOR_0 == y.COLOR_0 + && x.JOINTS_0 == y.JOINTS_0 + && x.WEIGHTS_0 == y.WEIGHTS_0; + } + } +} diff --git a/Tests/Editor/PreprocessBuild.cs.meta b/Runtime/Scripts/MeshPrimitiveComparer.cs.meta similarity index 83% rename from Tests/Editor/PreprocessBuild.cs.meta rename to Runtime/Scripts/MeshPrimitiveComparer.cs.meta index 41cbf0fb4..52fb8c7c9 100644 --- a/Tests/Editor/PreprocessBuild.cs.meta +++ b/Runtime/Scripts/MeshPrimitiveComparer.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 21585b8aadee1457084229fbfec40fe3 +guid: bd965e7b93e13481ab6b9bc6d3bf4bfa MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Runtime/Scripts/Schema/BufferView.cs b/Runtime/Scripts/Schema/BufferView.cs index 3b344c362..2b2636f64 100644 --- a/Runtime/Scripts/Schema/BufferView.cs +++ b/Runtime/Scripts/Schema/BufferView.cs @@ -5,11 +5,18 @@ namespace GLTFast.Schema { - + /// + /// GPU buffer type. + /// Relates to WebGL's bindBuffer. + /// + /// public enum BufferViewTarget { + /// No target. None = 0, + /// ARRAY_BUFFER ArrayBuffer = 34962, + /// ELEMENT_ARRAY_BUFFER ElementArrayBuffer = 34963, } diff --git a/Runtime/Scripts/Schema/MeshPrimitive.cs b/Runtime/Scripts/Schema/MeshPrimitive.cs index 858ce3375..f6cf6a06e 100644 --- a/Runtime/Scripts/Schema/MeshPrimitive.cs +++ b/Runtime/Scripts/Schema/MeshPrimitive.cs @@ -119,53 +119,26 @@ public int GetMaterialIndex(int variantIndex) #endif /// - /// Primitives are considered equal if their attributes and morph targets (if existing) - /// are equal. This is practical when clustering primitives of a mesh together, - /// that end up in a single Unity Mesh. + /// Determines whether two object instances are equal. /// - /// Object to compare against - /// True if attributes and morph targets are equal, false otherwise + /// The object to compare with the current object. + /// true if the specified object is equal to the current object; otherwise, false. + // TODO: Remove upon next major release. This serves no purpose anymore except keeping the API intact. public override bool Equals(object obj) { - //Check for null and compare run-time types. - if (obj == null || GetType() != obj.GetType()) - { - return false; - } - var b = (MeshPrimitiveBase)obj; - - if (attributes.Equals(b.attributes)) - { - if (targets == null) - { - return b.targets == null; - } - if (b.targets != null && targets.Length == b.targets.Length) - { - for (var i = 0; i < targets.Length; i++) - { - if (!targets[i].Equals(b.targets[i])) return false; - } - return true; - } - } - - return false; + // ReSharper disable once BaseObjectEqualsIsObjectEquals + return base.Equals(obj); } /// /// Default hash function. /// /// A hash code for the current object. + // TODO: Remove upon next major release. This serves no purpose anymore except keeping the API intact. public override int GetHashCode() { - int hash = 13; - hash = hash * 7 + attributes.GetHashCode(); - if (targets != null) - { - hash = hash * 7 + targets.GetHashCode(); - } - return hash; + // ReSharper disable once BaseObjectGetHashCodeCallInGetHashCode + return base.GetHashCode(); } /// @@ -265,47 +238,22 @@ public class Attributes /// /// The object to compare with the current object. /// true if the specified object is equal to the current object; otherwise, false. + // TODO: Remove upon next major release. This serves no purpose anymore except keeping the API intact. public override bool Equals(object obj) { - //Check for null and compare run-time types. - if (obj == null || GetType() != obj.GetType()) - { - return false; - } - var b = (Attributes)obj; - return POSITION == b.POSITION - && NORMAL == b.NORMAL - && TANGENT == b.TANGENT - && TEXCOORD_0 == b.TEXCOORD_0 - && TEXCOORD_1 == b.TEXCOORD_1 - && TEXCOORD_2 == b.TEXCOORD_2 - && TEXCOORD_3 == b.TEXCOORD_3 - && TEXCOORD_4 == b.TEXCOORD_4 - && TEXCOORD_5 == b.TEXCOORD_5 - && TEXCOORD_6 == b.TEXCOORD_6 - && TEXCOORD_7 == b.TEXCOORD_7 - && COLOR_0 == b.COLOR_0 - && JOINTS_0 == b.JOINTS_0 - && WEIGHTS_0 == b.WEIGHTS_0 - ; + // ReSharper disable once BaseObjectEqualsIsObjectEquals + return base.Equals(obj); } /// /// Default hash function. /// /// A hash code for the current object. + // TODO: Remove upon next major release. This serves no purpose anymore except keeping the API intact. public override int GetHashCode() { - int hash = 13; - hash = hash * 7 + POSITION.GetHashCode(); - hash = hash * 7 + NORMAL.GetHashCode(); - hash = hash * 7 + TANGENT.GetHashCode(); - hash = hash * 7 + TEXCOORD_0.GetHashCode(); - hash = hash * 7 + TEXCOORD_1.GetHashCode(); - hash = hash * 7 + COLOR_0.GetHashCode(); - hash = hash * 7 + JOINTS_0.GetHashCode(); - hash = hash * 7 + WEIGHTS_0.GetHashCode(); - return hash; + // ReSharper disable once BaseObjectGetHashCodeCallInGetHashCode + return base.GetHashCode(); } internal void GltfSerialize(JsonWriter writer) @@ -384,7 +332,6 @@ internal void GltfSerialize(JsonWriter writer) { [Serializable] public class MorphTarget { - // Names are identical to glTF specified property names, that's why // inconsistent names are ignored. // ReSharper disable InconsistentNaming @@ -403,31 +350,22 @@ public class MorphTarget /// /// The object to compare with the current object. /// true if the specified object is equal to the current object; otherwise, false. + // TODO: Remove upon next major release. This serves no purpose anymore except keeping the API intact. public override bool Equals(object obj) { - //Check for null and compare run-time types. - if (obj == null || GetType() != obj.GetType()) - { - return false; - } - var b = (MorphTarget)obj; - return POSITION == b.POSITION - && NORMAL == b.NORMAL - && TANGENT == b.TANGENT - ; + // ReSharper disable once BaseObjectEqualsIsObjectEquals + return base.Equals(obj); } /// /// Default hash function. /// /// A hash code for the current object. + // TODO: Remove upon next major release. This serves no purpose anymore except keeping the API intact. public override int GetHashCode() { - int hash = 13; - hash = hash * 7 + POSITION.GetHashCode(); - hash = hash * 7 + NORMAL.GetHashCode(); - hash = hash * 7 + TANGENT.GetHashCode(); - return hash; + // ReSharper disable once BaseObjectGetHashCodeCallInGetHashCode + return base.GetHashCode(); } internal void GltfSerialize(JsonWriter writer) diff --git a/Runtime/Scripts/Schema/Texture.cs b/Runtime/Scripts/Schema/Texture.cs index 10d012a8d..f2c81f9e4 100644 --- a/Runtime/Scripts/Schema/Texture.cs +++ b/Runtime/Scripts/Schema/Texture.cs @@ -94,41 +94,22 @@ internal void GltfSerialize(JsonWriter writer) /// /// The object to compare with the current object. /// true if the specified object is equal to the current object; otherwise, false. + // TODO: Remove upon next major release. This serves no purpose anymore except keeping the API intact. public override bool Equals(object obj) { - //Check for null and compare run-time types. - if (obj == null || GetType() != obj.GetType()) - { - return false; - } - return Equals((Texture)obj); - } - - bool Equals(Texture other) - { - return source == other.source - && sampler == other.sampler - && ( - Extensions == null && other.Extensions == null - || (Extensions != null && Extensions.Equals(other.Extensions)) - ); + // ReSharper disable once BaseObjectEqualsIsObjectEquals + return base.Equals(obj); } /// /// Default hash function. /// /// A hash code for the current object. + // TODO: Remove upon next major release. This serves no purpose anymore except keeping the API intact. public override int GetHashCode() { -#if NET_STANDARD - return HashCode.Combine(source, sampler, Extensions.GetHashCode()); -#else - var hash = 17; - hash = hash * 31 + source; - hash = hash * 31 + sampler; - hash = hash * 31 + Extensions.GetHashCode(); - return hash; -#endif + // ReSharper disable once BaseObjectGetHashCodeCallInGetHashCode + return base.GetHashCode(); } /// diff --git a/Runtime/Scripts/Schema/TextureTransform.cs b/Runtime/Scripts/Schema/TextureTransform.cs index 4b102e127..e73e8e489 100644 --- a/Runtime/Scripts/Schema/TextureTransform.cs +++ b/Runtime/Scripts/Schema/TextureTransform.cs @@ -1,6 +1,8 @@ // SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 +using Unity.Mathematics; + namespace GLTFast.Schema { @@ -40,7 +42,7 @@ internal void GltfSerialize(JsonWriter writer) { writer.AddArrayProperty("scale", scale); } - if (rotation != 0) + if (math.abs(rotation) >= float.Epsilon) { writer.AddProperty("rotation", rotation); } diff --git a/Runtime/Scripts/UriHelper.cs b/Runtime/Scripts/UriHelper.cs index 1fed766a4..d46ea1dce 100644 --- a/Runtime/Scripts/UriHelper.cs +++ b/Runtime/Scripts/UriHelper.cs @@ -18,10 +18,14 @@ public static Uri GetBaseUri(Uri uri) if (uri == null) return null; if (!uri.IsAbsoluteUri) { - var uriString = Path.GetDirectoryName(uri.OriginalString) ?? ""; - return new Uri(uriString, UriKind.Relative); + var directoryName = Path.GetDirectoryName(uri.OriginalString) ?? ""; + return new Uri(directoryName, UriKind.Relative); } - return new Uri(uri, "."); + var uriString = uri.OriginalString; + var index = uriString.LastIndexOfAny(new[] { '/', '\\' }); + return index < 0 + ? new Uri("", UriKind.Relative) + : new Uri(uriString.Substring(0, index + 1)); } /// @@ -47,7 +51,7 @@ public static Uri GetUriString(string uri, Uri baseUri) { baseUri = new Uri(baseUri, ".."); } - return new Uri(baseUri, uri); + return new Uri(Combine(baseUri.OriginalString, uri)); } var parentPath = baseUri.OriginalString; @@ -185,5 +189,22 @@ internal static ImageFormat GetImageFormatFromUri(string uri) // } // return null; // } + + internal static string Combine(string baseUri, string uri) + { + var sepIndex = baseUri.LastIndexOfAny(new[] { '/', '\\' }); + var uriStartsWithSep = uri.IndexOfAny(new[] { '/', '\\' }, 0, 1) == 0; + var trimmedUri = uriStartsWithSep + ? uri.Substring(1) + : uri; + if (sepIndex > 0) + { + return sepIndex == baseUri.Length - 1 + ? $"{baseUri}{trimmedUri}" + : $"{baseUri}{baseUri[sepIndex]}{trimmedUri}"; + } + + return $"{baseUri}/{trimmedUri}"; + } } } diff --git a/Runtime/Scripts/glTFast.asmdef b/Runtime/Scripts/glTFast.asmdef index 6165215ad..f2c3b0f0d 100644 --- a/Runtime/Scripts/glTFast.asmdef +++ b/Runtime/Scripts/glTFast.asmdef @@ -25,17 +25,17 @@ "define": "DRACO_UNITY" }, { - "name": "com.atteneder.ktx", + "name": "com.unity.cloud.ktx", "expression": "", "define": "KTX_UNITY" }, { - "name": "com.atteneder.ktx", + "name": "com.unity.cloud.ktx", "expression": "1.3.0", "define": "KTX_UNITY_1_3_OR_NEWER" }, { - "name": "com.atteneder.ktx", + "name": "com.unity.cloud.ktx", "expression": "2.2.1", "define": "KTX_UNITY_2_2_OR_NEWER" }, diff --git a/Samples/Documentation.meta b/Samples/Documentation.meta deleted file mode 100644 index bbe32df9a..000000000 --- a/Samples/Documentation.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: c31dca948fd8a9c45b6a13732c190c2e -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Samples/Documentation/Manual.meta b/Samples/Documentation/Manual.meta deleted file mode 100644 index 66d89b5ee..000000000 --- a/Samples/Documentation/Manual.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 19e2269416001a74bb7886e4e56b9b05 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests.meta b/Tests.meta deleted file mode 100644 index 8bf710389..000000000 --- a/Tests.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 96addf301842e4f14b90f9e6dbf6e695 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/.tests.json b/Tests/.tests.json deleted file mode 100644 index abcb25009..000000000 --- a/Tests/.tests.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "createSeparatePackage": true, - "displayName": "Unity glTFast Tests", - "dependencies": { - "com.unity.modules.unitywebrequesttexture": "1.0.0", - "com.unity.nuget.newtonsoft-json": "3.2.1" - } -} diff --git a/Tests/Editor.meta b/Tests/Editor.meta deleted file mode 100644 index bce167610..000000000 --- a/Tests/Editor.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 326a27a33f13c4d3db807cead0bbf96b -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Editor/GltfImporterTest.cs b/Tests/Editor/GltfImporterTest.cs deleted file mode 100644 index bf3dc82be..000000000 --- a/Tests/Editor/GltfImporterTest.cs +++ /dev/null @@ -1,72 +0,0 @@ -// SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using System.Collections; -using GLTFast.Tests.Import; -using NUnit.Framework; -using UnityEditor; -using UnityEngine; - -#if !GLTFAST_EDITOR_IMPORT_OFF -using System.IO; -using UnityEngine.TestTools; -#endif - -namespace GLTFast.Editor.Tests -{ - [TestFixture] - class GltfImporterTest - { - const string k_TestPath = "Temp-glTF-tests"; - - [OneTimeSetUp] - public void OneTimeSetup() - { - if (!AssetDatabase.IsValidFolder($"Assets/{k_TestPath}")) - { - AssetDatabase.CreateFolder("Assets", k_TestPath); - AssetDatabase.Refresh(); - } - } - - [OneTimeTearDown] - public void OneTimeTearDown() - { - AssetDatabase.DeleteAsset($"Assets/{k_TestPath}"); - AssetDatabase.Refresh(); - } - - [GltfTestCase("glTF-test-models", 22)] - public IEnumerator GltfTestModels(GltfTestCaseSet testCaseSet, GltfTestCase testCase) - { -#if GLTFAST_EDITOR_IMPORT_OFF - Assert.Ignore("glTF Editor import is disabled via GLTFAST_EDITOR_IMPORT_OFF scripting define."); -#else - var directories = testCase.relativeUri.Split('/'); - Assert.NotNull(directories); - Assert.GreaterOrEqual(directories.Length, 2); - var assetDir = directories[0]; - var destination = $"Assets/{k_TestPath}/{assetDir}"; - var assetPath = Path.Combine("Assets", k_TestPath, testCase.relativeUri); - - if (testCase.expectedLogCodes.Length > 0) - { - LogAssert.Expect(LogType.Error, $"Failed to import {assetPath.Replace('\\', '/')} (see inspector for details)"); - } - - if (!AssetDatabase.IsValidFolder(destination)) - { - var sourcePath = Path.Combine(testCaseSet.RootPath, assetDir); - FileUtil.CopyFileOrDirectory(sourcePath, destination); - AssetDatabase.Refresh(); - } - - var importer = (GltfImporter)AssetImporter.GetAtPath(assetPath); - Assert.NotNull(importer, $"No glTF importer at {assetPath}"); - - AssetsTests.AssertLogItems(importer.reportItems, testCase); -#endif - yield return null; - } - } -} diff --git a/Tests/Editor/PreprocessBuild.cs b/Tests/Editor/PreprocessBuild.cs deleted file mode 100644 index f1ef76f45..000000000 --- a/Tests/Editor/PreprocessBuild.cs +++ /dev/null @@ -1,177 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using System; -using System.Collections.Generic; -using System.IO; -using GLTFast.Tests.Export; -using GLTFast.Tests.Import; -using UnityEditor; -using UnityEditor.Build; -using UnityEditor.Build.Reporting; -using UnityEngine; -using UnityEngine.Assertions; -using UnityEngine.Rendering; -using Object = UnityEngine.Object; - -namespace GLTFast.Editor.Tests -{ - public class PreprocessBuild : IPreprocessBuildWithReport - { - public int callbackOrder => 0; - - static string pkgPath => $"Packages/{GltfGlobals.GltfPackageName}"; - - public void OnPreprocessBuild(BuildReport target) - { - if ((target.summary.options & BuildOptions.IncludeTestAssemblies) != 0) - { - SyncTestAssets(); - AddShaderVariantCollections(); - ExportTests.CertifyStreamingAssetsFolder(); - ExportTests.SetupTests(); - CopyExportTargetsToStreamingAssets(); - AssetDatabase.Refresh(); - } - } - - static void SyncTestAssets() - { - var streamingAssets = Application.streamingAssetsPath; - if (!Directory.Exists(streamingAssets)) - { - Directory.CreateDirectory(streamingAssets); - } - foreach (var testCaseSet in IterateAssets("Tests/Runtime/TestCaseSets")) - { - testCaseSet.SerializeToStreamingAssets(); - if (GltfTestCaseSet.IsStreamingAssetsPlatform) - { - testCaseSet.CopyToStreamingAssets(); - } - } - - AssetDatabase.Refresh(); - } - - static IEnumerable IterateAssets(string inPackageLocation, string name = null) where T : Object - { - var guids = FindAssets($"t:{typeof(T).Name} {name ?? ""}", inPackageLocation); - if (guids == null || guids.Length < 1) - { - throw new InvalidDataException($"No {typeof(T).Name} asset set was found in {inPackageLocation}!"); - } - foreach (var guid in guids) - { - yield return AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath(guid)); - } - } - - static IEnumerable IterateAllShaderVariantCollections() - { - string name; - switch (RenderPipelineUtils.RenderPipeline) - { - case RenderPipeline.BuiltIn: - name = "birp"; - break; - case RenderPipeline.HighDefinition: - name = "hdrp"; - break; - case RenderPipeline.Unknown: - case RenderPipeline.Universal: - default: -#if UNITY_2021_2_OR_NEWER - name = "urp.12"; -#else - name = "urp.10"; -#endif - break; - } - - foreach (var collection in IterateAssets("Tests/Runtime/TestCaseSets", name)) - { - yield return collection; - } - - // Shaders required for export tests. - var export = AssetDatabase.LoadAssetAtPath($"{pkgPath}/Runtime/Shader/Export/glTFExport.shadervariants"); - Assert.IsNotNull(export); - yield return export; - } - - static void AddShaderVariantCollections() - { - var settings = GraphicsSettings.GetGraphicsSettings(); - var obj = new SerializedObject(settings); - var preloadedShaders = obj.FindProperty("m_PreloadedShaders"); - - foreach (var svc in IterateAllShaderVariantCollections()) - { - var found = false; - var arraySize = preloadedShaders.arraySize; - for (var i = 0; i < arraySize; i++) - { - var e = preloadedShaders.GetArrayElementAtIndex(i); - if (e.objectReferenceValue == svc) - { - found = true; - break; - } - } - - if (!found) - { - preloadedShaders.InsertArrayElementAtIndex(arraySize); - var entry = preloadedShaders.GetArrayElementAtIndex(arraySize); - entry.objectReferenceValue = svc; - } - } - - obj.ApplyModifiedProperties(); - } - - static void CopyExportTargetsToStreamingAssets() - { - const string inPackageLocation = "Tests/Resources/ExportTargets"; - var sourceRoot = $"{pkgPath}/{inPackageLocation}"; - ExportTests.TryFixPackageAssetPath(ref sourceRoot); - var exportTargetFolder = $"Assets/StreamingAssets/{ExportTests.exportTargetFolder}"; - if (!AssetDatabase.IsValidFolder(exportTargetFolder)) - { - AssetDatabase.CreateFolder("Assets/StreamingAssets", ExportTests.exportTargetFolder); - } - - foreach (var target in IterateAssets(inPackageLocation)) - { - var sourcePath = AssetDatabase.GetAssetPath(target); - Assert.IsTrue(sourcePath.StartsWith(sourceRoot), $"{sourcePath} is not relative to {sourceRoot}"); - var relativePath = sourcePath.Substring(sourceRoot.Length + 1); - Debug.Log($"Relative export target path {relativePath}\n{sourcePath}\n{sourceRoot}"); - var destinationPath = Path.Combine(exportTargetFolder, relativePath); - var destinationDir = Path.GetDirectoryName(destinationPath); - Assert.IsFalse(string.IsNullOrEmpty(destinationDir)); - Directory.CreateDirectory(destinationDir); - File.Copy(sourcePath, destinationPath, true); - } - } - - static string[] FindAssets(string filter, string inPackageLocation) - { - var guids = AssetDatabase.FindAssets( - filter, - new[] { $"{pkgPath}/{inPackageLocation}" } - ); - if (guids?.Length < 1) - { - // Try again with separate tests package - guids = AssetDatabase.FindAssets( - filter, - new[] { $"{pkgPath}.tests/{inPackageLocation}" } - ); - } - - return guids; - } - } -} diff --git a/Tests/Editor/SetupProject.cs b/Tests/Editor/SetupProject.cs deleted file mode 100644 index 42902ee58..000000000 --- a/Tests/Editor/SetupProject.cs +++ /dev/null @@ -1,187 +0,0 @@ -// SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -#if USING_URP || USING_HDRP -#define USING_SRP -#endif - -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Threading.Tasks; -using UnityEditor; -using UnityEditor.PackageManager; -using UnityEngine; -#if USING_SRP -using UnityEngine.Rendering; -#endif - -namespace GLTFast.Editor.Tests -{ - static class SetupProject - { - const string k_RenderPipelineAssetsPath = "Packages/com.unity.cloud.gltfast/Tests/Runtime/RenderPipelineAssets/"; - - static readonly Dictionary k_ProjectSetups = new Dictionary - { - ["default"] = new ProjectSetup( - new[] { - "com.unity.nuget.newtonsoft-json", - "com.unity.modules.unitywebrequesttexture", - "com.unity.cloud.draco", - "com.unity.cloud.ktx", - "com.unity.meshopt.decompress", - "com.unity.modules.physics", - "com.unity.modules.animation", - "com.unity.modules.imageconversion" - }), - ["minimalistic"] = new ProjectSetup( - new[] { - "com.unity.nuget.newtonsoft-json", - "com.unity.modules.unitywebrequesttexture" - }), - ["urp"] = new ProjectSetup( - new[] { - "com.unity.nuget.newtonsoft-json", - "com.unity.modules.unitywebrequesttexture", - "com.unity.render-pipelines.universal" - }), - ["hdrp"] = new ProjectSetup( - new[] { - "com.unity.nuget.newtonsoft-json", - "com.unity.modules.unitywebrequesttexture", - "com.unity.render-pipelines.high-definition" - }), - ["all_defines"] = new ProjectSetup( - new[] { - "com.unity.nuget.newtonsoft-json", - "com.unity.modules.unitywebrequesttexture", - "com.unity.modules.physics", - "com.unity.modules.animation", - "com.unity.modules.imageconversion", - "com.unity.render-pipelines.universal" - }, - new[] { - "GLTFAST_EDITOR_IMPORT_OFF", - "GLTFAST_SAFE", - "GLTFAST_KEEP_MESH_DATA" - }) - }; - - public static async void ApplySetup() - { - var args = Environment.GetCommandLineArgs(); - foreach (var arg in args) - { - const string prefix = "glTFastSetup:"; - if (arg.StartsWith(prefix)) - { - var name = arg.Substring(prefix.Length); - if (k_ProjectSetups.TryGetValue(name, out var setup)) - { - await setup.Apply(); - } - else - { - throw new ArgumentException($"Test Setup {name} not found!"); - } - break; - } - } - } - - public static void SetRenderPipeline() - { - var args = Environment.GetCommandLineArgs(); - foreach (var arg in args) - { - const string prefix = "SRP:"; - if (arg.StartsWith(prefix)) - { - var subPath = arg.Substring(prefix.Length); - var assetPath = $"{k_RenderPipelineAssetsPath}{subPath}.asset"; -#if USING_SRP - PlayerSettings.colorSpace = ColorSpace.Linear; - var asset = AssetDatabase.LoadAssetAtPath(assetPath); - if (asset == null) - { - throw new InvalidDataException($"Could not find render pipeline asset at {subPath}."); - } - Debug.Log($"Set default render pipeline to {subPath}"); - GraphicsSettings.defaultRenderPipeline = asset; - break; -#else - throw new InvalidOperationException( - $"Could not set render pipeline asset ({subPath}): No SRP package installed"); -#endif - } - } - - - } - } - - class ProjectSetup - { - public ProjectSetup(string[] dependencies, string[] defines = null) - { - Dependencies = dependencies; - Defines = defines; - } - - string[] Dependencies { get; } - string[] Defines { get; } - - public async Task Apply() - { - await InstallDependencies(); - if (Defines != null) - { - ApplyScriptingDefines(Defines); - } - } - - async Task InstallDependencies() - { - foreach (var dependency in Dependencies) - { - var request = Client.Add(dependency); - while (!request.IsCompleted) - { - await Task.Yield(); - } - } - } - - static void ApplyScriptingDefines(IEnumerable newDefines) - { - var target = EditorUserBuildSettings.activeBuildTarget; - var group = BuildPipeline.GetBuildTargetGroup(target); - -#if UNITY_2021_2_OR_NEWER - var namedBuildTarget = UnityEditor.Build.NamedBuildTarget.FromBuildTargetGroup(group); - var scriptingDefineSymbols = PlayerSettings.GetScriptingDefineSymbols(namedBuildTarget); -#else - var scriptingDefineSymbols = PlayerSettings.GetScriptingDefineSymbolsForGroup(group); -#endif - var defines = new HashSet(scriptingDefineSymbols.Split(';')); - - foreach (var define in newDefines) - { -#if UNITY_2021_2_OR_NEWER - Debug.Log($"Adding scripting define {define} ({namedBuildTarget})."); -#else - Debug.Log($"Adding scripting define {define} ({group})."); -#endif - Debug.Log($"Adding scripting define {define} ({group})."); - defines.Add(define); - } -#if UNITY_2021_2_OR_NEWER - PlayerSettings.SetScriptingDefineSymbols(namedBuildTarget, defines.ToArray()); -#else - PlayerSettings.SetScriptingDefineSymbolsForGroup(group, defines.ToArray()); -#endif - } - } -} diff --git a/Tests/Editor/SetupProject.cs.meta b/Tests/Editor/SetupProject.cs.meta deleted file mode 100644 index 008bdd72b..000000000 --- a/Tests/Editor/SetupProject.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 6a7585d9df4224993ba77871c5377991 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Editor/glTFast.Editor.Tests.asmdef b/Tests/Editor/glTFast.Editor.Tests.asmdef deleted file mode 100644 index ff3df371c..000000000 --- a/Tests/Editor/glTFast.Editor.Tests.asmdef +++ /dev/null @@ -1,39 +0,0 @@ -{ - "name": "glTFast.Editor.Tests", - "rootNamespace": "GLTFast.Editor.Tests", - "references": [ - "UnityEngine.TestRunner", - "UnityEditor.TestRunner", - "glTFast", - "Unity.Mathematics", - "glTFast.Tests", - "glTFast.Editor", - "Unity.RenderPipelines.Universal.Runtime" - ], - "includePlatforms": [ - "Editor" - ], - "excludePlatforms": [], - "allowUnsafeCode": false, - "overrideReferences": true, - "precompiledReferences": [ - "nunit.framework.dll" - ], - "autoReferenced": false, - "defineConstraints": [ - "UNITY_INCLUDE_TESTS" - ], - "versionDefines": [ - { - "name": "com.unity.render-pipelines.universal", - "expression": "", - "define": "USING_URP" - }, - { - "name": "com.unity.render-pipelines.high-definition", - "expression": "", - "define": "USING_HDRP" - } - ], - "noEngineReferences": false -} \ No newline at end of file diff --git a/Tests/Editor/glTFast.Editor.Tests.asmdef.meta b/Tests/Editor/glTFast.Editor.Tests.asmdef.meta deleted file mode 100644 index 83cb06555..000000000 --- a/Tests/Editor/glTFast.Editor.Tests.asmdef.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 6cbab5b4615bd4a41b22c7536b8e0dd7 -AssemblyDefinitionImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources.meta b/Tests/Resources.meta deleted file mode 100644 index abb411fed..000000000 --- a/Tests/Resources.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 36c61e11f66e34a158648f4f9deba82d -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export.meta b/Tests/Resources/Export.meta deleted file mode 100644 index b53829dc5..000000000 --- a/Tests/Resources/Export.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 7952bc0a685044205ab7791335bd308c -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials.meta b/Tests/Resources/Export/Materials.meta deleted file mode 100644 index dcc1f69bf..000000000 --- a/Tests/Resources/Export/Materials.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 0f9c1b74a1ffd4def81c74710cb8019f -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/Built-In.meta b/Tests/Resources/Export/Materials/Built-In.meta deleted file mode 100644 index 6423e997b..000000000 --- a/Tests/Resources/Export/Materials/Built-In.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 47052910485b343edb79884a9b5aeb4f -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/Built-In/BaseColor.mat b/Tests/Resources/Export/Materials/Built-In/BaseColor.mat deleted file mode 100644 index 44c678f0e..000000000 --- a/Tests/Resources/Export/Materials/Built-In/BaseColor.mat +++ /dev/null @@ -1,67 +0,0 @@ -%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: BaseColor - m_Shader: {fileID: 4800000, guid: 99fa998bbbed3408aafa652b466d261d, type: 3} - m_ShaderKeywords: - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 1 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _CullMode: 0 - - _DstBlend: 0 - - _Mode: 0 - - _SrcBlend: 1 - - _ZWrite: 1 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 0.5 - m_Colors: - - baseColorFactor: {r: 0.48452914, g: 0.7353569, b: 0.880825, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] diff --git a/Tests/Resources/Export/Materials/Built-In/BaseColor.mat.meta b/Tests/Resources/Export/Materials/Built-In/BaseColor.mat.meta deleted file mode 100644 index 7fd3a33e8..000000000 --- a/Tests/Resources/Export/Materials/Built-In/BaseColor.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 80eff3504ca1e481fa92ece0de4b930a -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/Built-In/BaseColorTexture.mat b/Tests/Resources/Export/Materials/Built-In/BaseColorTexture.mat deleted file mode 100644 index eb42dd2c0..000000000 --- a/Tests/Resources/Export/Materials/Built-In/BaseColorTexture.mat +++ /dev/null @@ -1,67 +0,0 @@ -%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: BaseColorTexture - m_Shader: {fileID: 4800000, guid: 99fa998bbbed3408aafa652b466d261d, type: 3} - m_ShaderKeywords: - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 1 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 2800000, guid: 767b013dd53264d2a858edf8651b320d, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _CullMode: 0 - - _DstBlend: 0 - - _Mode: 0 - - _SrcBlend: 1 - - _ZWrite: 1 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 0.5 - m_Colors: - - baseColorFactor: {r: 0.9, g: 0.8, b: 0.7, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] diff --git a/Tests/Resources/Export/Materials/Built-In/BaseColorTexture.mat.meta b/Tests/Resources/Export/Materials/Built-In/BaseColorTexture.mat.meta deleted file mode 100644 index 0b40b371d..000000000 --- a/Tests/Resources/Export/Materials/Built-In/BaseColorTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: bbf033fcc7dba47a38b1d2c8831631e8 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/Built-In/BaseColorTextureCutout.mat b/Tests/Resources/Export/Materials/Built-In/BaseColorTextureCutout.mat deleted file mode 100644 index e495ce5a0..000000000 --- a/Tests/Resources/Export/Materials/Built-In/BaseColorTextureCutout.mat +++ /dev/null @@ -1,67 +0,0 @@ -%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: BaseColorTextureCutout - m_Shader: {fileID: 4800000, guid: 99fa998bbbed3408aafa652b466d261d, type: 3} - m_ShaderKeywords: _ALPHATEST_ON - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 1 - m_CustomRenderQueue: 2450 - stringTagMap: - RenderType: TransparentCutout - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 2800000, guid: 1e22bd6b46ceb4d0c99cfdb552ec8586, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _CullMode: 2 - - _DstBlend: 0 - - _Mode: 1 - - _SrcBlend: 1 - - _ZWrite: 1 - - alphaCutoff: 0.6 - - baseColorTexture_texCoord: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 0 - m_Colors: - - baseColorFactor: {r: 0.9, g: 0.8, b: 0.7, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] diff --git a/Tests/Resources/Export/Materials/Built-In/BaseColorTextureCutout.mat.meta b/Tests/Resources/Export/Materials/Built-In/BaseColorTextureCutout.mat.meta deleted file mode 100644 index 89abd9d19..000000000 --- a/Tests/Resources/Export/Materials/Built-In/BaseColorTextureCutout.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 5b914df6eb36642f6ab65059988ac09b -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/Built-In/BaseColorTextureRotated.mat b/Tests/Resources/Export/Materials/Built-In/BaseColorTextureRotated.mat deleted file mode 100644 index b611c9151..000000000 --- a/Tests/Resources/Export/Materials/Built-In/BaseColorTextureRotated.mat +++ /dev/null @@ -1,67 +0,0 @@ -%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: BaseColorTextureRotated - m_Shader: {fileID: 4800000, guid: 99fa998bbbed3408aafa652b466d261d, type: 3} - m_ShaderKeywords: _TEXTURE_TRANSFORM - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 1 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 2800000, guid: 767b013dd53264d2a858edf8651b320d, type: 3} - m_Scale: {x: 0.70710677, y: 0.70710677} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _CullMode: 0 - - _DstBlend: 0 - - _Mode: 0 - - _SrcBlend: 1 - - _ZWrite: 1 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 0.5 - m_Colors: - - baseColorFactor: {r: 0.9, g: 0.8, b: 0.7, a: 1} - - baseColorTexture_Rotation: {r: 0.70710677, g: -0.70710677, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] diff --git a/Tests/Resources/Export/Materials/Built-In/BaseColorTextureRotated.mat.meta b/Tests/Resources/Export/Materials/Built-In/BaseColorTextureRotated.mat.meta deleted file mode 100644 index e6b053feb..000000000 --- a/Tests/Resources/Export/Materials/Built-In/BaseColorTextureRotated.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: c4131b7e7f6bc4425813ec057b530fb6 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/Built-In/BaseColorTextureScaled.mat b/Tests/Resources/Export/Materials/Built-In/BaseColorTextureScaled.mat deleted file mode 100644 index 59e17a7da..000000000 --- a/Tests/Resources/Export/Materials/Built-In/BaseColorTextureScaled.mat +++ /dev/null @@ -1,67 +0,0 @@ -%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: BaseColorTextureScaled - m_Shader: {fileID: 4800000, guid: 99fa998bbbed3408aafa652b466d261d, type: 3} - m_ShaderKeywords: _TEXTURE_TRANSFORM - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 1 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 2800000, guid: 767b013dd53264d2a858edf8651b320d, type: 3} - m_Scale: {x: 1.2, y: 1.3} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _CullMode: 0 - - _DstBlend: 0 - - _Mode: 0 - - _SrcBlend: 1 - - _ZWrite: 1 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 0.5 - m_Colors: - - baseColorFactor: {r: 0.9, g: 0.8, b: 0.7, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] diff --git a/Tests/Resources/Export/Materials/Built-In/BaseColorTextureScaled.mat.meta b/Tests/Resources/Export/Materials/Built-In/BaseColorTextureScaled.mat.meta deleted file mode 100644 index 3a425a65a..000000000 --- a/Tests/Resources/Export/Materials/Built-In/BaseColorTextureScaled.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 85ba04bd97c034de78bd0ec7e4cb3819 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/Built-In/BaseColorTextureTranslated.mat b/Tests/Resources/Export/Materials/Built-In/BaseColorTextureTranslated.mat deleted file mode 100644 index cd23cd49d..000000000 --- a/Tests/Resources/Export/Materials/Built-In/BaseColorTextureTranslated.mat +++ /dev/null @@ -1,67 +0,0 @@ -%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: BaseColorTextureTranslated - m_Shader: {fileID: 4800000, guid: 99fa998bbbed3408aafa652b466d261d, type: 3} - m_ShaderKeywords: _TEXTURE_TRANSFORM - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 1 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 2800000, guid: 767b013dd53264d2a858edf8651b320d, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0.4, y: 0.6} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _CullMode: 0 - - _DstBlend: 0 - - _Mode: 0 - - _SrcBlend: 1 - - _ZWrite: 1 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 0.5 - m_Colors: - - baseColorFactor: {r: 0.9, g: 0.8, b: 0.7, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] diff --git a/Tests/Resources/Export/Materials/Built-In/BaseColorTextureTranslated.mat.meta b/Tests/Resources/Export/Materials/Built-In/BaseColorTextureTranslated.mat.meta deleted file mode 100644 index f3d3ae969..000000000 --- a/Tests/Resources/Export/Materials/Built-In/BaseColorTextureTranslated.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 710978f54602d42a797a2f7ed35a4cfe -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/Built-In/BaseColorTextureTransparent.mat b/Tests/Resources/Export/Materials/Built-In/BaseColorTextureTransparent.mat deleted file mode 100644 index 2bf683111..000000000 --- a/Tests/Resources/Export/Materials/Built-In/BaseColorTextureTransparent.mat +++ /dev/null @@ -1,67 +0,0 @@ -%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: BaseColorTextureTransparent - m_Shader: {fileID: 4800000, guid: 99fa998bbbed3408aafa652b466d261d, type: 3} - m_ShaderKeywords: _ALPHABLEND_ON - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 1 - m_CustomRenderQueue: 3000 - stringTagMap: - RenderType: Fade - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 2800000, guid: 1e22bd6b46ceb4d0c99cfdb552ec8586, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _CullMode: 2 - - _DstBlend: 10 - - _Mode: 2 - - _SrcBlend: 5 - - _ZWrite: 0 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 0 - m_Colors: - - baseColorFactor: {r: 0.9, g: 0.8, b: 0.7, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] diff --git a/Tests/Resources/Export/Materials/Built-In/BaseColorTextureTransparent.mat.meta b/Tests/Resources/Export/Materials/Built-In/BaseColorTextureTransparent.mat.meta deleted file mode 100644 index 07ea7ec8c..000000000 --- a/Tests/Resources/Export/Materials/Built-In/BaseColorTextureTransparent.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: e2663bf7c8a9a4b1591e6845b56b0726 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/Built-In/DoubleSided.mat b/Tests/Resources/Export/Materials/Built-In/DoubleSided.mat deleted file mode 100644 index a298309c3..000000000 --- a/Tests/Resources/Export/Materials/Built-In/DoubleSided.mat +++ /dev/null @@ -1,67 +0,0 @@ -%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: DoubleSided - m_Shader: {fileID: 4800000, guid: 99fa998bbbed3408aafa652b466d261d, type: 3} - m_ShaderKeywords: - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 1 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _CullMode: 0 - - _DstBlend: 0 - - _Mode: 0 - - _SrcBlend: 1 - - _ZWrite: 1 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 0.7 - m_Colors: - - baseColorFactor: {r: 0, g: 0.32675865, b: 1, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] diff --git a/Tests/Resources/Export/Materials/Built-In/DoubleSided.mat.meta b/Tests/Resources/Export/Materials/Built-In/DoubleSided.mat.meta deleted file mode 100644 index 20bbdb428..000000000 --- a/Tests/Resources/Export/Materials/Built-In/DoubleSided.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 4bdd9ed023c9a4e509fe6b05fb68f71e -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/Built-In/EmissiveFactor.mat b/Tests/Resources/Export/Materials/Built-In/EmissiveFactor.mat deleted file mode 100644 index 3101a7c57..000000000 --- a/Tests/Resources/Export/Materials/Built-In/EmissiveFactor.mat +++ /dev/null @@ -1,67 +0,0 @@ -%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: EmissiveFactor - m_Shader: {fileID: 4800000, guid: 99fa998bbbed3408aafa652b466d261d, type: 3} - m_ShaderKeywords: _EMISSION - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 1 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _CullMode: 2 - - _DstBlend: 0 - - _Mode: 0 - - _SrcBlend: 1 - - _ZWrite: 1 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 1 - m_Colors: - - baseColorFactor: {r: 0, g: 0, b: 0, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 1, g: 1, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] diff --git a/Tests/Resources/Export/Materials/Built-In/EmissiveFactor.mat.meta b/Tests/Resources/Export/Materials/Built-In/EmissiveFactor.mat.meta deleted file mode 100644 index d488bdcc2..000000000 --- a/Tests/Resources/Export/Materials/Built-In/EmissiveFactor.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: ac8c5cd7cb45a4783b5f82543256b871 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/Built-In/EmissiveTexture.mat b/Tests/Resources/Export/Materials/Built-In/EmissiveTexture.mat deleted file mode 100644 index b3838fd4b..000000000 --- a/Tests/Resources/Export/Materials/Built-In/EmissiveTexture.mat +++ /dev/null @@ -1,67 +0,0 @@ -%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: EmissiveTexture - m_Shader: {fileID: 4800000, guid: 99fa998bbbed3408aafa652b466d261d, type: 3} - m_ShaderKeywords: _EMISSION - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 1 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 2800000, guid: f53f6abdff34c42bf8b9a9487f5fba4d, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _CullMode: 2 - - _DstBlend: 0 - - _Mode: 0 - - _SrcBlend: 1 - - _ZWrite: 1 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 1 - m_Colors: - - baseColorFactor: {r: 0, g: 0, b: 0, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 1, g: 1, b: 1, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] diff --git a/Tests/Resources/Export/Materials/Built-In/EmissiveTexture.mat.meta b/Tests/Resources/Export/Materials/Built-In/EmissiveTexture.mat.meta deleted file mode 100644 index 7740aece4..000000000 --- a/Tests/Resources/Export/Materials/Built-In/EmissiveTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: c2014ccd823b04e2b8bf470d5152e9fa -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/Built-In/EmissiveTextureFactor.mat b/Tests/Resources/Export/Materials/Built-In/EmissiveTextureFactor.mat deleted file mode 100644 index 0c8c2d66b..000000000 --- a/Tests/Resources/Export/Materials/Built-In/EmissiveTextureFactor.mat +++ /dev/null @@ -1,67 +0,0 @@ -%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: EmissiveTextureFactor - m_Shader: {fileID: 4800000, guid: 99fa998bbbed3408aafa652b466d261d, type: 3} - m_ShaderKeywords: _EMISSION _TEXTURE_TRANSFORM - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 1 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 2800000, guid: f53f6abdff34c42bf8b9a9487f5fba4d, type: 3} - m_Scale: {x: 2, y: 3} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _CullMode: 2 - - _DstBlend: 0 - - _Mode: 0 - - _SrcBlend: 1 - - _ZWrite: 1 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 1 - m_Colors: - - baseColorFactor: {r: 0, g: 0, b: 0, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 1, g: 0.7353569, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] diff --git a/Tests/Resources/Export/Materials/Built-In/EmissiveTextureFactor.mat.meta b/Tests/Resources/Export/Materials/Built-In/EmissiveTextureFactor.mat.meta deleted file mode 100644 index 603733e39..000000000 --- a/Tests/Resources/Export/Materials/Built-In/EmissiveTextureFactor.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: e0fb2433cd3414df7a1179de0aefe076 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/Built-In/Metallic.mat b/Tests/Resources/Export/Materials/Built-In/Metallic.mat deleted file mode 100644 index a8ceedaf5..000000000 --- a/Tests/Resources/Export/Materials/Built-In/Metallic.mat +++ /dev/null @@ -1,67 +0,0 @@ -%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: Metallic - m_Shader: {fileID: 4800000, guid: 99fa998bbbed3408aafa652b466d261d, type: 3} - m_ShaderKeywords: - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 1 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _CullMode: 2 - - _DstBlend: 0 - - _Mode: 0 - - _SrcBlend: 1 - - _ZWrite: 1 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0.89 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 0 - m_Colors: - - baseColorFactor: {r: 1, g: 1, b: 1, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] diff --git a/Tests/Resources/Export/Materials/Built-In/Metallic.mat.meta b/Tests/Resources/Export/Materials/Built-In/Metallic.mat.meta deleted file mode 100644 index 7ae88cc1b..000000000 --- a/Tests/Resources/Export/Materials/Built-In/Metallic.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 549d849394275453098d228037491cfe -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/Built-In/MetallicRoughnessOcclusionTexture.mat b/Tests/Resources/Export/Materials/Built-In/MetallicRoughnessOcclusionTexture.mat deleted file mode 100644 index b4f6a0847..000000000 --- a/Tests/Resources/Export/Materials/Built-In/MetallicRoughnessOcclusionTexture.mat +++ /dev/null @@ -1,67 +0,0 @@ -%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: MetallicRoughnessOcclusionTexture - m_Shader: {fileID: 4800000, guid: 99fa998bbbed3408aafa652b466d261d, type: 3} - m_ShaderKeywords: _METALLICGLOSSMAP _OCCLUSION - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 1 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 2800000, guid: e6a8dbc8ea6f7452db96210e86372550, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 2800000, guid: e6a8dbc8ea6f7452db96210e86372550, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _CullMode: 2 - - _DstBlend: 0 - - _Mode: 0 - - _SrcBlend: 1 - - _ZWrite: 1 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 1 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 0.8 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 1 - m_Colors: - - baseColorFactor: {r: 0.30588236, g: 0.94509804, b: 1, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] diff --git a/Tests/Resources/Export/Materials/Built-In/MetallicRoughnessOcclusionTexture.mat.meta b/Tests/Resources/Export/Materials/Built-In/MetallicRoughnessOcclusionTexture.mat.meta deleted file mode 100644 index 586c72689..000000000 --- a/Tests/Resources/Export/Materials/Built-In/MetallicRoughnessOcclusionTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: a0e9294a1583e456e973634bf42c8f98 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/Built-In/MetallicRoughnessTexture.mat b/Tests/Resources/Export/Materials/Built-In/MetallicRoughnessTexture.mat deleted file mode 100644 index 2905a17d4..000000000 --- a/Tests/Resources/Export/Materials/Built-In/MetallicRoughnessTexture.mat +++ /dev/null @@ -1,67 +0,0 @@ -%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: MetallicRoughnessTexture - m_Shader: {fileID: 4800000, guid: 99fa998bbbed3408aafa652b466d261d, type: 3} - m_ShaderKeywords: _METALLICGLOSSMAP - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 1 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 2800000, guid: e6a8dbc8ea6f7452db96210e86372550, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _CullMode: 2 - - _DstBlend: 0 - - _Mode: 0 - - _SrcBlend: 1 - - _ZWrite: 1 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 1 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 1 - m_Colors: - - baseColorFactor: {r: 0.30588236, g: 1, b: 0.3882353, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] diff --git a/Tests/Resources/Export/Materials/Built-In/MetallicRoughnessTexture.mat.meta b/Tests/Resources/Export/Materials/Built-In/MetallicRoughnessTexture.mat.meta deleted file mode 100644 index 414e82687..000000000 --- a/Tests/Resources/Export/Materials/Built-In/MetallicRoughnessTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 276fe359dd1fb43f9be12f1ab031195f -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/Built-In/MetallicTexture.mat b/Tests/Resources/Export/Materials/Built-In/MetallicTexture.mat deleted file mode 100644 index 74bc0e5f2..000000000 --- a/Tests/Resources/Export/Materials/Built-In/MetallicTexture.mat +++ /dev/null @@ -1,67 +0,0 @@ -%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: MetallicTexture - m_Shader: {fileID: 4800000, guid: 99fa998bbbed3408aafa652b466d261d, type: 3} - m_ShaderKeywords: _METALLICGLOSSMAP _TEXTURE_TRANSFORM - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 1 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 2800000, guid: 8da4e4c98bfa44b25a9faa40105892f1, type: 3} - m_Scale: {x: 2, y: 2} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _CullMode: 2 - - _DstBlend: 0 - - _Mode: 0 - - _SrcBlend: 1 - - _ZWrite: 1 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 1 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 1 - m_Colors: - - baseColorFactor: {r: 0.30588236, g: 1, b: 0.3882353, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] diff --git a/Tests/Resources/Export/Materials/Built-In/MetallicTexture.mat.meta b/Tests/Resources/Export/Materials/Built-In/MetallicTexture.mat.meta deleted file mode 100644 index 3522cc87f..000000000 --- a/Tests/Resources/Export/Materials/Built-In/MetallicTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: df1fc8cd0047648dc81658bf9b5d53fa -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/Built-In/NormalTexture.mat b/Tests/Resources/Export/Materials/Built-In/NormalTexture.mat deleted file mode 100644 index 770b8a863..000000000 --- a/Tests/Resources/Export/Materials/Built-In/NormalTexture.mat +++ /dev/null @@ -1,67 +0,0 @@ -%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: NormalTexture - m_Shader: {fileID: 4800000, guid: 99fa998bbbed3408aafa652b466d261d, type: 3} - m_ShaderKeywords: _NORMALMAP _TEXTURE_TRANSFORM - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 1 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 2800000, guid: e5fa3fd4c4ccd4b5c972e3746a01539d, type: 3} - m_Scale: {x: 1.5, y: 1.2} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _CullMode: 2 - - _DstBlend: 0 - - _Mode: 0 - - _SrcBlend: 1 - - _ZWrite: 1 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1.1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 0.5 - m_Colors: - - baseColorFactor: {r: 1, g: 1, b: 1, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] diff --git a/Tests/Resources/Export/Materials/Built-In/NormalTexture.mat.meta b/Tests/Resources/Export/Materials/Built-In/NormalTexture.mat.meta deleted file mode 100644 index b37536ba6..000000000 --- a/Tests/Resources/Export/Materials/Built-In/NormalTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 0bb37c71773914c56a61834e5ab7e491 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/Built-In/NotGltf.mat b/Tests/Resources/Export/Materials/Built-In/NotGltf.mat deleted file mode 100644 index 1535a8979..000000000 --- a/Tests/Resources/Export/Materials/Built-In/NotGltf.mat +++ /dev/null @@ -1,78 +0,0 @@ -%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: NotGltf - 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: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - m_BuildTextureStacks: [] diff --git a/Tests/Resources/Export/Materials/Built-In/NotGltf.mat.meta b/Tests/Resources/Export/Materials/Built-In/NotGltf.mat.meta deleted file mode 100644 index 04d62f5e7..000000000 --- a/Tests/Resources/Export/Materials/Built-In/NotGltf.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: abff76eec17a14bf88e5a41e3ba830b6 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/Built-In/OcclusionTexture.mat b/Tests/Resources/Export/Materials/Built-In/OcclusionTexture.mat deleted file mode 100644 index 75f8ed1f8..000000000 --- a/Tests/Resources/Export/Materials/Built-In/OcclusionTexture.mat +++ /dev/null @@ -1,67 +0,0 @@ -%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: OcclusionTexture - m_Shader: {fileID: 4800000, guid: 99fa998bbbed3408aafa652b466d261d, type: 3} - m_ShaderKeywords: _OCCLUSION _TEXTURE_TRANSFORM - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 1 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 2800000, guid: a0989fa75442a4f299d3e16bd238de3b, type: 3} - m_Scale: {x: 2, y: 2} - m_Offset: {x: 0, y: 0} - m_Floats: - - _CullMode: 2 - - _DstBlend: 0 - - _Mode: 0 - - _SrcBlend: 1 - - _ZWrite: 1 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 0.8 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 0.7 - m_Colors: - - baseColorFactor: {r: 1, g: 0.85672647, b: 0.58965355, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] diff --git a/Tests/Resources/Export/Materials/Built-In/OcclusionTexture.mat.meta b/Tests/Resources/Export/Materials/Built-In/OcclusionTexture.mat.meta deleted file mode 100644 index ec3fae81c..000000000 --- a/Tests/Resources/Export/Materials/Built-In/OcclusionTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 65d05fd20e64c4a33ad12ed1b61eb28b -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/Built-In/Omni.mat b/Tests/Resources/Export/Materials/Built-In/Omni.mat deleted file mode 100644 index becd1f2e0..000000000 --- a/Tests/Resources/Export/Materials/Built-In/Omni.mat +++ /dev/null @@ -1,67 +0,0 @@ -%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: Omni - m_Shader: {fileID: 4800000, guid: 99fa998bbbed3408aafa652b466d261d, type: 3} - m_ShaderKeywords: _METALLICGLOSSMAP _OCCLUSION _TEXTURE_TRANSFORM _EMISSION _NORMALMAP - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 1 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 2800000, guid: 767b013dd53264d2a858edf8651b320d, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0.4, y: 0.6} - - emissiveTexture: - m_Texture: {fileID: 2800000, guid: f53f6abdff34c42bf8b9a9487f5fba4d, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0.1, y: 0.2} - - metallicRoughnessTexture: - m_Texture: {fileID: 2800000, guid: e6a8dbc8ea6f7452db96210e86372550, type: 3} - m_Scale: {x: 1.11, y: 1.21} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 2800000, guid: e5fa3fd4c4ccd4b5c972e3746a01539d, type: 3} - m_Scale: {x: 1.5, y: 1.2} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 2800000, guid: e6a8dbc8ea6f7452db96210e86372550, type: 3} - m_Scale: {x: 1.1, y: 1.2} - m_Offset: {x: 0, y: 0} - m_Floats: - - _CullMode: 0 - - _DstBlend: 0 - - _Mode: 0 - - _SrcBlend: 1 - - _ZWrite: 1 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0.95 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 0.42 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 0.58 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 0.93 - m_Colors: - - baseColorFactor: {r: 0.9, g: 0.8, b: 0.7, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 1, g: 1, b: 1, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] diff --git a/Tests/Resources/Export/Materials/Built-In/Omni.mat.meta b/Tests/Resources/Export/Materials/Built-In/Omni.mat.meta deleted file mode 100644 index c39ee5cb8..000000000 --- a/Tests/Resources/Export/Materials/Built-In/Omni.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 44b8ac7a7b0884b79b6093a83b5ab343 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/Built-In/RoughnessTexture.mat b/Tests/Resources/Export/Materials/Built-In/RoughnessTexture.mat deleted file mode 100644 index aa2f9be10..000000000 --- a/Tests/Resources/Export/Materials/Built-In/RoughnessTexture.mat +++ /dev/null @@ -1,67 +0,0 @@ -%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: RoughnessTexture - m_Shader: {fileID: 4800000, guid: 99fa998bbbed3408aafa652b466d261d, type: 3} - m_ShaderKeywords: _METALLICGLOSSMAP - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 1 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 2800000, guid: 236ba889a0d5e48bf977cee24ffcb55f, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _CullMode: 2 - - _DstBlend: 0 - - _Mode: 0 - - _SrcBlend: 1 - - _ZWrite: 1 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 0.89 - m_Colors: - - baseColorFactor: {r: 0.30588236, g: 1, b: 0.3882353, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] diff --git a/Tests/Resources/Export/Materials/Built-In/RoughnessTexture.mat.meta b/Tests/Resources/Export/Materials/Built-In/RoughnessTexture.mat.meta deleted file mode 100644 index 093d7e7e8..000000000 --- a/Tests/Resources/Export/Materials/Built-In/RoughnessTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 6b28d65289d8344f4ae483988f93728d -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/HDRP.meta b/Tests/Resources/Export/Materials/HDRP.meta deleted file mode 100644 index 0cc84c368..000000000 --- a/Tests/Resources/Export/Materials/HDRP.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: acda2baa68ebf4967a27112152108568 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/HDRP/BaseColor.mat b/Tests/Resources/Export/Materials/HDRP/BaseColor.mat deleted file mode 100644 index 02dd89d38..000000000 --- a/Tests/Resources/Export/Materials/HDRP/BaseColor.mat +++ /dev/null @@ -1,197 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-6868728779799944013 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: 639247ca83abc874e893eb93af2b5e44, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 0 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: BaseColor - m_Shader: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122, type: 3} - m_ShaderKeywords: _ALPHATEST_ON _DISABLE_SSR_TRANSPARENT - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2475 - stringTagMap: - RenderType: TransparentCutout - disabledShaderPasses: - - MOTIONVECTORS - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - transmissionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaCutoffEnable: 1 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _BUILTIN_AlphaClip: 0 - - _BUILTIN_Blend: 0 - - _BUILTIN_CullMode: 2 - - _BUILTIN_DstBlend: 0 - - _BUILTIN_QueueControl: -1 - - _BUILTIN_QueueOffset: 0 - - _BUILTIN_SrcBlend: 1 - - _BUILTIN_Surface: 0 - - _BUILTIN_ZTest: 4 - - _BUILTIN_ZWrite: 1 - - _BUILTIN_ZWriteControl: 0 - - _Blend: 0 - - _BlendMode: 0 - - _BlendModePreserveSpecular: 0 - - _CastShadows: 1 - - _Cull: 2 - - _CullMode: 2 - - _CullModeForward: 2 - - _DepthOffsetEnable: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedNormalMode: 2 - - _DstBlend: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _Mode: 0 - - _OpaqueCullMode: 2 - - _QueueControl: 0 - - _QueueOffset: 0 - - _RayTracing: 0 - - _ReceiveShadows: 1 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _RenderQueueType: 1 - - _RequireSplitLighting: 0 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SupportDecals: 1 - - _Surface: 0 - - _SurfaceType: 0 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UseShadowThreshold: 0 - - _WorkflowMode: 1 - - _ZTest: 4 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 3 - - _ZTestTransparent: 4 - - _ZWrite: 1 - - _ZWriteControl: 0 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveExposureWeight: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 0.5 - - transmissionFactor: 0 - m_Colors: - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - baseColorFactor: {r: 0.48452914, g: 0.7353569, b: 0.880825, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] ---- !u!114 &3748538558603016288 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 11 ---- !u!114 &8190096692948843879 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 9 diff --git a/Tests/Resources/Export/Materials/HDRP/BaseColor.mat.meta b/Tests/Resources/Export/Materials/HDRP/BaseColor.mat.meta deleted file mode 100644 index bb156d8c2..000000000 --- a/Tests/Resources/Export/Materials/HDRP/BaseColor.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: b8a9fb2d38ff94a98a5d16783249d495 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/HDRP/BaseColorTexture.mat b/Tests/Resources/Export/Materials/HDRP/BaseColorTexture.mat deleted file mode 100644 index 5cece5f77..000000000 --- a/Tests/Resources/Export/Materials/HDRP/BaseColorTexture.mat +++ /dev/null @@ -1,197 +0,0 @@ -%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: BaseColorTexture - m_Shader: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122, type: 3} - m_ShaderKeywords: _ALPHATEST_ON _DISABLE_SSR_TRANSPARENT - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2475 - stringTagMap: - RenderType: TransparentCutout - disabledShaderPasses: - - MOTIONVECTORS - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 2800000, guid: 767b013dd53264d2a858edf8651b320d, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - transmissionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaCutoffEnable: 1 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _BUILTIN_AlphaClip: 0 - - _BUILTIN_Blend: 0 - - _BUILTIN_CullMode: 2 - - _BUILTIN_DstBlend: 0 - - _BUILTIN_QueueControl: -1 - - _BUILTIN_QueueOffset: 0 - - _BUILTIN_SrcBlend: 1 - - _BUILTIN_Surface: 0 - - _BUILTIN_ZTest: 4 - - _BUILTIN_ZWrite: 1 - - _BUILTIN_ZWriteControl: 0 - - _Blend: 0 - - _BlendMode: 0 - - _BlendModePreserveSpecular: 0 - - _CastShadows: 1 - - _Cull: 2 - - _CullMode: 2 - - _CullModeForward: 2 - - _DepthOffsetEnable: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedNormalMode: 2 - - _DstBlend: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _Mode: 0 - - _OpaqueCullMode: 2 - - _QueueControl: 0 - - _QueueOffset: 0 - - _RayTracing: 0 - - _ReceiveShadows: 1 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _RenderQueueType: 1 - - _RequireSplitLighting: 0 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SupportDecals: 1 - - _Surface: 0 - - _SurfaceType: 0 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UseShadowThreshold: 0 - - _WorkflowMode: 1 - - _ZTest: 4 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 3 - - _ZTestTransparent: 4 - - _ZWrite: 1 - - _ZWriteControl: 0 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveExposureWeight: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 0.5 - - transmissionFactor: 0 - m_Colors: - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - baseColorFactor: {r: 0.9, g: 0.8, b: 0.7, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] ---- !u!114 &3271681715824319525 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: 639247ca83abc874e893eb93af2b5e44, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 0 ---- !u!114 &4242709241036237138 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 11 ---- !u!114 &8297463674298635704 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 9 diff --git a/Tests/Resources/Export/Materials/HDRP/BaseColorTexture.mat.meta b/Tests/Resources/Export/Materials/HDRP/BaseColorTexture.mat.meta deleted file mode 100644 index cbc95f913..000000000 --- a/Tests/Resources/Export/Materials/HDRP/BaseColorTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 7e9d3c1b8914c4f548572e4588cdd34b -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/HDRP/BaseColorTextureCutout.mat b/Tests/Resources/Export/Materials/HDRP/BaseColorTextureCutout.mat deleted file mode 100644 index 373c60b67..000000000 --- a/Tests/Resources/Export/Materials/HDRP/BaseColorTextureCutout.mat +++ /dev/null @@ -1,196 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-6792439800286000282 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: 639247ca83abc874e893eb93af2b5e44, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 0 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: BaseColorTextureCutout - m_Shader: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122, type: 3} - m_ShaderKeywords: _ALPHATEST_ON _DISABLE_SSR_TRANSPARENT - m_LightmapFlags: 2 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2475 - stringTagMap: - MotionVector: User - RenderType: TransparentCutout - disabledShaderPasses: - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - - MOTIONVECTORS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 2800000, guid: 1e22bd6b46ceb4d0c99cfdb552ec8586, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - transmissionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 1 - - _AlphaCutoffEnable: 1 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _BUILTIN_AlphaClip: 0 - - _BUILTIN_Blend: 0 - - _BUILTIN_CullMode: 2 - - _BUILTIN_DstBlend: 0 - - _BUILTIN_QueueControl: 1 - - _BUILTIN_QueueOffset: 0 - - _BUILTIN_SrcBlend: 1 - - _BUILTIN_Surface: 0 - - _BUILTIN_ZTest: 4 - - _BUILTIN_ZWrite: 1 - - _BUILTIN_ZWriteControl: 0 - - _Blend: 0 - - _BlendMode: 0 - - _CastShadows: 1 - - _Cull: 2 - - _CullMode: 2 - - _CullModeForward: 2 - - _DepthOffsetEnable: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedNormalMode: 2 - - _DstBlend: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _OpaqueCullMode: 2 - - _QueueControl: 1 - - _QueueOffset: 0 - - _RayTracing: 0 - - _ReceiveShadows: 1 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _RenderQueueType: 1 - - _RequireSplitLighting: 0 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SupportDecals: 1 - - _Surface: 0 - - _SurfaceType: 0 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UseShadowThreshold: 0 - - _WorkflowMode: 1 - - _ZTest: 4 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 3 - - _ZTestTransparent: 4 - - _ZWrite: 1 - - _ZWriteControl: 0 - - alphaCutoff: 0.6 - - baseColorTexture_texCoord: 0 - - emissiveExposureWeight: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 0 - - transmissionFactor: 0 - m_Colors: - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - baseColorFactor: {r: 0.9, g: 0.8, b: 0.7, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] ---- !u!114 &749680127556728278 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 11 ---- !u!114 &1818509006005091842 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 5 diff --git a/Tests/Resources/Export/Materials/HDRP/BaseColorTextureCutout.mat.meta b/Tests/Resources/Export/Materials/HDRP/BaseColorTextureCutout.mat.meta deleted file mode 100644 index 94d54b580..000000000 --- a/Tests/Resources/Export/Materials/HDRP/BaseColorTextureCutout.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 9b08608d3a097402cbb361cb9b2665f6 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/HDRP/BaseColorTextureRotated.mat b/Tests/Resources/Export/Materials/HDRP/BaseColorTextureRotated.mat deleted file mode 100644 index 1933f4c6d..000000000 --- a/Tests/Resources/Export/Materials/HDRP/BaseColorTextureRotated.mat +++ /dev/null @@ -1,198 +0,0 @@ -%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: BaseColorTextureRotated - m_Shader: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122, type: 3} - m_ShaderKeywords: _ALPHATEST_ON _DISABLE_SSR_TRANSPARENT _TEXTURE_TRANSFORM - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2475 - stringTagMap: - MotionVector: User - RenderType: TransparentCutout - disabledShaderPasses: - - MOTIONVECTORS - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 2800000, guid: 767b013dd53264d2a858edf8651b320d, type: 3} - m_Scale: {x: 0.70710677, y: 0.70710677} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - transmissionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaCutoffEnable: 1 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _BUILTIN_AlphaClip: 0 - - _BUILTIN_Blend: 0 - - _BUILTIN_CullMode: 2 - - _BUILTIN_DstBlend: 0 - - _BUILTIN_QueueControl: -1 - - _BUILTIN_QueueOffset: 0 - - _BUILTIN_SrcBlend: 1 - - _BUILTIN_Surface: 0 - - _BUILTIN_ZTest: 4 - - _BUILTIN_ZWrite: 1 - - _BUILTIN_ZWriteControl: 0 - - _Blend: 0 - - _BlendMode: 0 - - _BlendModePreserveSpecular: 0 - - _CastShadows: 1 - - _Cull: 2 - - _CullMode: 2 - - _CullModeForward: 2 - - _DepthOffsetEnable: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedNormalMode: 2 - - _DstBlend: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _Mode: 0 - - _OpaqueCullMode: 2 - - _QueueControl: 0 - - _QueueOffset: 0 - - _RayTracing: 0 - - _ReceiveShadows: 1 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _RenderQueueType: 1 - - _RequireSplitLighting: 0 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SupportDecals: 1 - - _Surface: 0 - - _SurfaceType: 0 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UseShadowThreshold: 0 - - _WorkflowMode: 1 - - _ZTest: 4 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 3 - - _ZTestTransparent: 4 - - _ZWrite: 1 - - _ZWriteControl: 0 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveExposureWeight: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 0.5 - - transmissionFactor: 0 - m_Colors: - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - baseColorFactor: {r: 0.9, g: 0.8, b: 0.7, a: 1} - - baseColorTexture_Rotation: {r: 0.70710677, g: -0.70710677, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] ---- !u!114 &4496889970596464588 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 11 ---- !u!114 &5005384916937477244 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 9 ---- !u!114 &8468717510162963845 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: 639247ca83abc874e893eb93af2b5e44, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 0 diff --git a/Tests/Resources/Export/Materials/HDRP/BaseColorTextureRotated.mat.meta b/Tests/Resources/Export/Materials/HDRP/BaseColorTextureRotated.mat.meta deleted file mode 100644 index be832dc7a..000000000 --- a/Tests/Resources/Export/Materials/HDRP/BaseColorTextureRotated.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 9fe2bc2702cbf42728d0462dbb707b1f -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/HDRP/BaseColorTextureScaled.mat b/Tests/Resources/Export/Materials/HDRP/BaseColorTextureScaled.mat deleted file mode 100644 index 90b063c33..000000000 --- a/Tests/Resources/Export/Materials/HDRP/BaseColorTextureScaled.mat +++ /dev/null @@ -1,198 +0,0 @@ -%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: BaseColorTextureScaled - m_Shader: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122, type: 3} - m_ShaderKeywords: _ALPHATEST_ON _DISABLE_SSR_TRANSPARENT _TEXTURE_TRANSFORM - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2475 - stringTagMap: - MotionVector: User - RenderType: TransparentCutout - disabledShaderPasses: - - MOTIONVECTORS - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 2800000, guid: 767b013dd53264d2a858edf8651b320d, type: 3} - m_Scale: {x: 1.2, y: 1.3} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - transmissionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaCutoffEnable: 1 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _BUILTIN_AlphaClip: 0 - - _BUILTIN_Blend: 0 - - _BUILTIN_CullMode: 2 - - _BUILTIN_DstBlend: 0 - - _BUILTIN_QueueControl: -1 - - _BUILTIN_QueueOffset: 0 - - _BUILTIN_SrcBlend: 1 - - _BUILTIN_Surface: 0 - - _BUILTIN_ZTest: 4 - - _BUILTIN_ZWrite: 1 - - _BUILTIN_ZWriteControl: 0 - - _Blend: 0 - - _BlendMode: 0 - - _BlendModePreserveSpecular: 0 - - _CastShadows: 1 - - _Cull: 2 - - _CullMode: 2 - - _CullModeForward: 2 - - _DepthOffsetEnable: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedNormalMode: 2 - - _DstBlend: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _Mode: 0 - - _OpaqueCullMode: 2 - - _QueueControl: 0 - - _QueueOffset: 0 - - _RayTracing: 0 - - _ReceiveShadows: 1 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _RenderQueueType: 1 - - _RequireSplitLighting: 0 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SupportDecals: 1 - - _Surface: 0 - - _SurfaceType: 0 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UseShadowThreshold: 0 - - _WorkflowMode: 1 - - _ZTest: 4 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 3 - - _ZTestTransparent: 4 - - _ZWrite: 1 - - _ZWriteControl: 0 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveExposureWeight: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 0.5 - - transmissionFactor: 0 - m_Colors: - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - baseColorFactor: {r: 0.9, g: 0.8, b: 0.7, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] ---- !u!114 &327049786189296091 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: 639247ca83abc874e893eb93af2b5e44, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 0 ---- !u!114 &5338241427485034969 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 11 ---- !u!114 &7754129217665426590 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 9 diff --git a/Tests/Resources/Export/Materials/HDRP/BaseColorTextureScaled.mat.meta b/Tests/Resources/Export/Materials/HDRP/BaseColorTextureScaled.mat.meta deleted file mode 100644 index 31c06bb9e..000000000 --- a/Tests/Resources/Export/Materials/HDRP/BaseColorTextureScaled.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 558c57e3e99e0416aaf1d0c2df90252d -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/HDRP/BaseColorTextureTranslated.mat b/Tests/Resources/Export/Materials/HDRP/BaseColorTextureTranslated.mat deleted file mode 100644 index 74d225030..000000000 --- a/Tests/Resources/Export/Materials/HDRP/BaseColorTextureTranslated.mat +++ /dev/null @@ -1,198 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-6755628218167242280 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 9 ---- !u!114 &-6631252386267038805 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 11 ---- !u!114 &-3521330490493970405 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: 639247ca83abc874e893eb93af2b5e44, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 0 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: BaseColorTextureTranslated - m_Shader: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122, type: 3} - m_ShaderKeywords: _ALPHATEST_ON _DISABLE_SSR_TRANSPARENT _TEXTURE_TRANSFORM - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2475 - stringTagMap: - MotionVector: User - RenderType: TransparentCutout - disabledShaderPasses: - - MOTIONVECTORS - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 2800000, guid: 767b013dd53264d2a858edf8651b320d, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0.4, y: 0.6} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - transmissionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaCutoffEnable: 1 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _BUILTIN_AlphaClip: 0 - - _BUILTIN_Blend: 0 - - _BUILTIN_CullMode: 2 - - _BUILTIN_DstBlend: 0 - - _BUILTIN_QueueControl: -1 - - _BUILTIN_QueueOffset: 0 - - _BUILTIN_SrcBlend: 1 - - _BUILTIN_Surface: 0 - - _BUILTIN_ZTest: 4 - - _BUILTIN_ZWrite: 1 - - _BUILTIN_ZWriteControl: 0 - - _Blend: 0 - - _BlendMode: 0 - - _BlendModePreserveSpecular: 0 - - _CastShadows: 1 - - _Cull: 2 - - _CullMode: 2 - - _CullModeForward: 2 - - _DepthOffsetEnable: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedNormalMode: 2 - - _DstBlend: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _Mode: 0 - - _OpaqueCullMode: 2 - - _QueueControl: 0 - - _QueueOffset: 0 - - _RayTracing: 0 - - _ReceiveShadows: 1 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _RenderQueueType: 1 - - _RequireSplitLighting: 0 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SupportDecals: 1 - - _Surface: 0 - - _SurfaceType: 0 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UseShadowThreshold: 0 - - _WorkflowMode: 1 - - _ZTest: 4 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 3 - - _ZTestTransparent: 4 - - _ZWrite: 1 - - _ZWriteControl: 0 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveExposureWeight: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 0.5 - - transmissionFactor: 0 - m_Colors: - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - baseColorFactor: {r: 0.9, g: 0.8, b: 0.7, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] diff --git a/Tests/Resources/Export/Materials/HDRP/BaseColorTextureTranslated.mat.meta b/Tests/Resources/Export/Materials/HDRP/BaseColorTextureTranslated.mat.meta deleted file mode 100644 index 974381b45..000000000 --- a/Tests/Resources/Export/Materials/HDRP/BaseColorTextureTranslated.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 5db17e564eab44192950d5e3cb55928a -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/HDRP/BaseColorTextureTransparent.mat b/Tests/Resources/Export/Materials/HDRP/BaseColorTextureTransparent.mat deleted file mode 100644 index 94407ce6e..000000000 --- a/Tests/Resources/Export/Materials/HDRP/BaseColorTextureTransparent.mat +++ /dev/null @@ -1,149 +0,0 @@ -%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: BaseColorTextureTransparent - m_Shader: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122, type: 3} - m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _ENABLE_FOG_ON_TRANSPARENT _SURFACE_TYPE_TRANSPARENT - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 3000 - stringTagMap: - MotionVector: User - RenderType: Transparent - disabledShaderPasses: - - MOTIONVECTORS - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - - DepthOnly - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 2800000, guid: 1e22bd6b46ceb4d0c99cfdb552ec8586, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - transmissionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaCutoffEnable: 0 - - _AlphaDstBlend: 10 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _BlendMode: 0 - - _CullMode: 2 - - _CullModeForward: 2 - - _DepthOffsetEnable: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedNormalMode: 2 - - _DstBlend: 10 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _OpaqueCullMode: 2 - - _RayTracing: 0 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _RenderQueueType: 4 - - _RequireSplitLighting: 0 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 0 - - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 2 - - _StencilRefMV: 32 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SupportDecals: 1 - - _SurfaceType: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 4 - - _ZTestGBuffer: 4 - - _ZTestTransparent: 4 - - _ZWrite: 0 - - alphaCutoff: 0 - - baseColorTexture_texCoord: 0 - - emissiveExposureWeight: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 0 - - transmissionFactor: 0 - m_Colors: - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - baseColorFactor: {r: 0.9, g: 0.8, b: 0.7, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] ---- !u!114 &2680468846725150881 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 11 diff --git a/Tests/Resources/Export/Materials/HDRP/BaseColorTextureTransparent.mat.meta b/Tests/Resources/Export/Materials/HDRP/BaseColorTextureTransparent.mat.meta deleted file mode 100644 index 3bad371d0..000000000 --- a/Tests/Resources/Export/Materials/HDRP/BaseColorTextureTransparent.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: be3900004a1a74d91915b1efea559abd -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/HDRP/DoubleSided.mat b/Tests/Resources/Export/Materials/HDRP/DoubleSided.mat deleted file mode 100644 index ea55f1234..000000000 --- a/Tests/Resources/Export/Materials/HDRP/DoubleSided.mat +++ /dev/null @@ -1,148 +0,0 @@ -%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: DoubleSided - m_Shader: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122, type: 3} - m_ShaderKeywords: _ALPHATEST_ON _DISABLE_SSR_TRANSPARENT _DOUBLESIDED_ON - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 1 - m_CustomRenderQueue: 2475 - stringTagMap: - MotionVector: User - RenderType: TransparentCutout - disabledShaderPasses: - - MOTIONVECTORS - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - transmissionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaCutoffEnable: 1 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _BlendMode: 0 - - _CullMode: 0 - - _CullModeForward: 0 - - _DepthOffsetEnable: 0 - - _DoubleSidedEnable: 1 - - _DoubleSidedNormalMode: 0 - - _DstBlend: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _OpaqueCullMode: 2 - - _RayTracing: 0 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _RenderQueueType: 1 - - _RequireSplitLighting: 0 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SupportDecals: 1 - - _SurfaceType: 0 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 3 - - _ZTestTransparent: 4 - - _ZWrite: 1 - - alphaCutoff: 0 - - baseColorTexture_texCoord: 0 - - emissiveExposureWeight: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 0.7 - - transmissionFactor: 0 - m_Colors: - - _DoubleSidedConstants: {r: -1, g: -1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - baseColorFactor: {r: 0, g: 0.32675865, b: 1, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] ---- !u!114 &4402156155436136961 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 11 diff --git a/Tests/Resources/Export/Materials/HDRP/DoubleSided.mat.meta b/Tests/Resources/Export/Materials/HDRP/DoubleSided.mat.meta deleted file mode 100644 index f7ad6beb8..000000000 --- a/Tests/Resources/Export/Materials/HDRP/DoubleSided.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 4cb4eaa6072024bb9b1d173757700a44 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/HDRP/EmissiveFactor.mat b/Tests/Resources/Export/Materials/HDRP/EmissiveFactor.mat deleted file mode 100644 index 5f798fd7a..000000000 --- a/Tests/Resources/Export/Materials/HDRP/EmissiveFactor.mat +++ /dev/null @@ -1,198 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-1551366186088804395 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 9 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: EmissiveFactor - m_Shader: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122, type: 3} - m_ShaderKeywords: _ALPHATEST_ON _DISABLE_SSR_TRANSPARENT _EMISSIVE - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2475 - stringTagMap: - MotionVector: User - RenderType: TransparentCutout - disabledShaderPasses: - - MOTIONVECTORS - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - transmissionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaCutoffEnable: 1 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _BUILTIN_AlphaClip: 0 - - _BUILTIN_Blend: 0 - - _BUILTIN_CullMode: 2 - - _BUILTIN_DstBlend: 0 - - _BUILTIN_QueueControl: -1 - - _BUILTIN_QueueOffset: 0 - - _BUILTIN_SrcBlend: 1 - - _BUILTIN_Surface: 0 - - _BUILTIN_ZTest: 4 - - _BUILTIN_ZWrite: 1 - - _BUILTIN_ZWriteControl: 0 - - _Blend: 0 - - _BlendMode: 0 - - _BlendModePreserveSpecular: 0 - - _CastShadows: 1 - - _Cull: 2 - - _CullMode: 2 - - _CullModeForward: 2 - - _DepthOffsetEnable: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedNormalMode: 2 - - _DstBlend: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _Mode: 0 - - _OpaqueCullMode: 2 - - _QueueControl: 0 - - _QueueOffset: 0 - - _RayTracing: 0 - - _ReceiveShadows: 1 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _RenderQueueType: 1 - - _RequireSplitLighting: 0 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SupportDecals: 1 - - _Surface: 0 - - _SurfaceType: 0 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UseShadowThreshold: 0 - - _WorkflowMode: 1 - - _ZTest: 4 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 3 - - _ZTestTransparent: 4 - - _ZWrite: 1 - - _ZWriteControl: 0 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveExposureWeight: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 1 - - transmissionFactor: 0 - m_Colors: - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - baseColorFactor: {r: 0, g: 0, b: 0, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 1, g: 1, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] ---- !u!114 &752764914036390117 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: 639247ca83abc874e893eb93af2b5e44, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 0 ---- !u!114 &4882466098009885765 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 11 diff --git a/Tests/Resources/Export/Materials/HDRP/EmissiveFactor.mat.meta b/Tests/Resources/Export/Materials/HDRP/EmissiveFactor.mat.meta deleted file mode 100644 index 6e3b9aace..000000000 --- a/Tests/Resources/Export/Materials/HDRP/EmissiveFactor.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: ffa41ae1b5f2c455eb3a837cf7ef2ff2 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/HDRP/EmissiveTexture.mat b/Tests/Resources/Export/Materials/HDRP/EmissiveTexture.mat deleted file mode 100644 index 40aa15efc..000000000 --- a/Tests/Resources/Export/Materials/HDRP/EmissiveTexture.mat +++ /dev/null @@ -1,198 +0,0 @@ -%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: EmissiveTexture - m_Shader: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122, type: 3} - m_ShaderKeywords: _ALPHATEST_ON _DISABLE_SSR_TRANSPARENT _EMISSIVE - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2475 - stringTagMap: - MotionVector: User - RenderType: TransparentCutout - disabledShaderPasses: - - MOTIONVECTORS - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 2800000, guid: f53f6abdff34c42bf8b9a9487f5fba4d, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - transmissionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaCutoffEnable: 1 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _BUILTIN_AlphaClip: 0 - - _BUILTIN_Blend: 0 - - _BUILTIN_CullMode: 2 - - _BUILTIN_DstBlend: 0 - - _BUILTIN_QueueControl: -1 - - _BUILTIN_QueueOffset: 0 - - _BUILTIN_SrcBlend: 1 - - _BUILTIN_Surface: 0 - - _BUILTIN_ZTest: 4 - - _BUILTIN_ZWrite: 1 - - _BUILTIN_ZWriteControl: 0 - - _Blend: 0 - - _BlendMode: 0 - - _BlendModePreserveSpecular: 0 - - _CastShadows: 1 - - _Cull: 2 - - _CullMode: 2 - - _CullModeForward: 2 - - _DepthOffsetEnable: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedNormalMode: 2 - - _DstBlend: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _Mode: 0 - - _OpaqueCullMode: 2 - - _QueueControl: 0 - - _QueueOffset: 0 - - _RayTracing: 0 - - _ReceiveShadows: 1 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _RenderQueueType: 1 - - _RequireSplitLighting: 0 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SupportDecals: 1 - - _Surface: 0 - - _SurfaceType: 0 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UseShadowThreshold: 0 - - _WorkflowMode: 1 - - _ZTest: 4 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 3 - - _ZTestTransparent: 4 - - _ZWrite: 1 - - _ZWriteControl: 0 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveExposureWeight: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 1 - - transmissionFactor: 0 - m_Colors: - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - baseColorFactor: {r: 0, g: 0, b: 0, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 1, g: 1, b: 1, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] ---- !u!114 &2579796636048872692 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 11 ---- !u!114 &3024038785185664378 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: 639247ca83abc874e893eb93af2b5e44, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 0 ---- !u!114 &6458052233830712772 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 9 diff --git a/Tests/Resources/Export/Materials/HDRP/EmissiveTexture.mat.meta b/Tests/Resources/Export/Materials/HDRP/EmissiveTexture.mat.meta deleted file mode 100644 index d1456bc28..000000000 --- a/Tests/Resources/Export/Materials/HDRP/EmissiveTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 7bd4e1a423ca64ec79b0aee304858a18 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/HDRP/EmissiveTextureFactor.mat b/Tests/Resources/Export/Materials/HDRP/EmissiveTextureFactor.mat deleted file mode 100644 index 75eca1b7a..000000000 --- a/Tests/Resources/Export/Materials/HDRP/EmissiveTextureFactor.mat +++ /dev/null @@ -1,198 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-8930221280936305980 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: 639247ca83abc874e893eb93af2b5e44, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 0 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: EmissiveTextureFactor - m_Shader: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122, type: 3} - m_ShaderKeywords: _ALPHATEST_ON _DISABLE_SSR_TRANSPARENT _EMISSIVE _TEXTURE_TRANSFORM - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2475 - stringTagMap: - MotionVector: User - RenderType: TransparentCutout - disabledShaderPasses: - - MOTIONVECTORS - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 2800000, guid: f53f6abdff34c42bf8b9a9487f5fba4d, type: 3} - m_Scale: {x: 2, y: 3} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - transmissionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaCutoffEnable: 1 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _BUILTIN_AlphaClip: 0 - - _BUILTIN_Blend: 0 - - _BUILTIN_CullMode: 2 - - _BUILTIN_DstBlend: 0 - - _BUILTIN_QueueControl: -1 - - _BUILTIN_QueueOffset: 0 - - _BUILTIN_SrcBlend: 1 - - _BUILTIN_Surface: 0 - - _BUILTIN_ZTest: 4 - - _BUILTIN_ZWrite: 1 - - _BUILTIN_ZWriteControl: 0 - - _Blend: 0 - - _BlendMode: 0 - - _BlendModePreserveSpecular: 0 - - _CastShadows: 1 - - _Cull: 2 - - _CullMode: 2 - - _CullModeForward: 2 - - _DepthOffsetEnable: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedNormalMode: 2 - - _DstBlend: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _Mode: 0 - - _OpaqueCullMode: 2 - - _QueueControl: 0 - - _QueueOffset: 0 - - _RayTracing: 0 - - _ReceiveShadows: 1 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _RenderQueueType: 1 - - _RequireSplitLighting: 0 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SupportDecals: 1 - - _Surface: 0 - - _SurfaceType: 0 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UseShadowThreshold: 0 - - _WorkflowMode: 1 - - _ZTest: 4 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 3 - - _ZTestTransparent: 4 - - _ZWrite: 1 - - _ZWriteControl: 0 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveExposureWeight: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 1 - - transmissionFactor: 0 - m_Colors: - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - baseColorFactor: {r: 0, g: 0, b: 0, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 1, g: 0.7353569, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] ---- !u!114 &2581781820884484437 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 9 ---- !u!114 &6741184414440526089 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 11 diff --git a/Tests/Resources/Export/Materials/HDRP/EmissiveTextureFactor.mat.meta b/Tests/Resources/Export/Materials/HDRP/EmissiveTextureFactor.mat.meta deleted file mode 100644 index bb4de2585..000000000 --- a/Tests/Resources/Export/Materials/HDRP/EmissiveTextureFactor.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 7ff491a41b19042f59c7341b78a8ab3a -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/HDRP/Metallic.mat b/Tests/Resources/Export/Materials/HDRP/Metallic.mat deleted file mode 100644 index 1cf2e8449..000000000 --- a/Tests/Resources/Export/Materials/HDRP/Metallic.mat +++ /dev/null @@ -1,197 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-3607148911885502513 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 11 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Metallic - m_Shader: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122, type: 3} - m_ShaderKeywords: _ALPHATEST_ON _DISABLE_SSR_TRANSPARENT - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2475 - stringTagMap: - RenderType: TransparentCutout - disabledShaderPasses: - - MOTIONVECTORS - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - transmissionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaCutoffEnable: 1 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _BUILTIN_AlphaClip: 0 - - _BUILTIN_Blend: 0 - - _BUILTIN_CullMode: 2 - - _BUILTIN_DstBlend: 0 - - _BUILTIN_QueueControl: -1 - - _BUILTIN_QueueOffset: 0 - - _BUILTIN_SrcBlend: 1 - - _BUILTIN_Surface: 0 - - _BUILTIN_ZTest: 4 - - _BUILTIN_ZWrite: 1 - - _BUILTIN_ZWriteControl: 0 - - _Blend: 0 - - _BlendMode: 0 - - _BlendModePreserveSpecular: 0 - - _CastShadows: 1 - - _Cull: 2 - - _CullMode: 2 - - _CullModeForward: 2 - - _DepthOffsetEnable: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedNormalMode: 2 - - _DstBlend: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _Mode: 0 - - _OpaqueCullMode: 2 - - _QueueControl: 0 - - _QueueOffset: 0 - - _RayTracing: 0 - - _ReceiveShadows: 1 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _RenderQueueType: 1 - - _RequireSplitLighting: 0 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SupportDecals: 1 - - _Surface: 0 - - _SurfaceType: 0 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UseShadowThreshold: 0 - - _WorkflowMode: 1 - - _ZTest: 4 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 3 - - _ZTestTransparent: 4 - - _ZWrite: 1 - - _ZWriteControl: 0 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveExposureWeight: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0.89 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 0 - - transmissionFactor: 0 - m_Colors: - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - baseColorFactor: {r: 1, g: 1, b: 1, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] ---- !u!114 &1203086932070529331 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: 639247ca83abc874e893eb93af2b5e44, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 0 ---- !u!114 &7677109854519655275 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 9 diff --git a/Tests/Resources/Export/Materials/HDRP/Metallic.mat.meta b/Tests/Resources/Export/Materials/HDRP/Metallic.mat.meta deleted file mode 100644 index 42813c0fd..000000000 --- a/Tests/Resources/Export/Materials/HDRP/Metallic.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 25f2a94764230451589dbf1e7021d58e -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/HDRP/MetallicRoughnessOcclusionTexture.mat b/Tests/Resources/Export/Materials/HDRP/MetallicRoughnessOcclusionTexture.mat deleted file mode 100644 index 27bdb5878..000000000 --- a/Tests/Resources/Export/Materials/HDRP/MetallicRoughnessOcclusionTexture.mat +++ /dev/null @@ -1,197 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-7393323642559032507 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: 639247ca83abc874e893eb93af2b5e44, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 0 ---- !u!114 &-4181352363440409036 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 11 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: MetallicRoughnessOcclusionTexture - m_Shader: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122, type: 3} - m_ShaderKeywords: _ALPHATEST_ON _DISABLE_SSR_TRANSPARENT - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2475 - stringTagMap: - RenderType: TransparentCutout - disabledShaderPasses: - - MOTIONVECTORS - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 2800000, guid: e6a8dbc8ea6f7452db96210e86372550, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 2800000, guid: e6a8dbc8ea6f7452db96210e86372550, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - transmissionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaCutoffEnable: 1 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _BUILTIN_AlphaClip: 0 - - _BUILTIN_Blend: 0 - - _BUILTIN_CullMode: 2 - - _BUILTIN_DstBlend: 0 - - _BUILTIN_QueueControl: -1 - - _BUILTIN_QueueOffset: 0 - - _BUILTIN_SrcBlend: 1 - - _BUILTIN_Surface: 0 - - _BUILTIN_ZTest: 4 - - _BUILTIN_ZWrite: 1 - - _BUILTIN_ZWriteControl: 0 - - _Blend: 0 - - _BlendMode: 0 - - _BlendModePreserveSpecular: 0 - - _CastShadows: 1 - - _Cull: 2 - - _CullMode: 2 - - _CullModeForward: 2 - - _DepthOffsetEnable: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedNormalMode: 2 - - _DstBlend: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _Mode: 0 - - _OpaqueCullMode: 2 - - _QueueControl: 0 - - _QueueOffset: 0 - - _RayTracing: 0 - - _ReceiveShadows: 1 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _RenderQueueType: 1 - - _RequireSplitLighting: 0 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SupportDecals: 1 - - _Surface: 0 - - _SurfaceType: 0 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UseShadowThreshold: 0 - - _WorkflowMode: 1 - - _ZTest: 4 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 3 - - _ZTestTransparent: 4 - - _ZWrite: 1 - - _ZWriteControl: 0 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveExposureWeight: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 1 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 0.8 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 1 - - transmissionFactor: 0 - m_Colors: - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - baseColorFactor: {r: 0.30588236, g: 0.94509804, b: 1, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] ---- !u!114 &8822211145023048442 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 9 diff --git a/Tests/Resources/Export/Materials/HDRP/MetallicRoughnessOcclusionTexture.mat.meta b/Tests/Resources/Export/Materials/HDRP/MetallicRoughnessOcclusionTexture.mat.meta deleted file mode 100644 index 04cf2c52a..000000000 --- a/Tests/Resources/Export/Materials/HDRP/MetallicRoughnessOcclusionTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 005b847b2165341f3bb154b351cf8b72 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/HDRP/MetallicRoughnessTexture.mat b/Tests/Resources/Export/Materials/HDRP/MetallicRoughnessTexture.mat deleted file mode 100644 index 22fd1639e..000000000 --- a/Tests/Resources/Export/Materials/HDRP/MetallicRoughnessTexture.mat +++ /dev/null @@ -1,197 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-5749603472449940425 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 9 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: MetallicRoughnessTexture - m_Shader: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122, type: 3} - m_ShaderKeywords: _ALPHATEST_ON _DISABLE_SSR_TRANSPARENT - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2475 - stringTagMap: - RenderType: TransparentCutout - disabledShaderPasses: - - MOTIONVECTORS - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 2800000, guid: e6a8dbc8ea6f7452db96210e86372550, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - transmissionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaCutoffEnable: 1 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _BUILTIN_AlphaClip: 0 - - _BUILTIN_Blend: 0 - - _BUILTIN_CullMode: 2 - - _BUILTIN_DstBlend: 0 - - _BUILTIN_QueueControl: -1 - - _BUILTIN_QueueOffset: 0 - - _BUILTIN_SrcBlend: 1 - - _BUILTIN_Surface: 0 - - _BUILTIN_ZTest: 4 - - _BUILTIN_ZWrite: 1 - - _BUILTIN_ZWriteControl: 0 - - _Blend: 0 - - _BlendMode: 0 - - _BlendModePreserveSpecular: 0 - - _CastShadows: 1 - - _Cull: 2 - - _CullMode: 2 - - _CullModeForward: 2 - - _DepthOffsetEnable: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedNormalMode: 2 - - _DstBlend: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _Mode: 0 - - _OpaqueCullMode: 2 - - _QueueControl: 0 - - _QueueOffset: 0 - - _RayTracing: 0 - - _ReceiveShadows: 1 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _RenderQueueType: 1 - - _RequireSplitLighting: 0 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SupportDecals: 1 - - _Surface: 0 - - _SurfaceType: 0 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UseShadowThreshold: 0 - - _WorkflowMode: 1 - - _ZTest: 4 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 3 - - _ZTestTransparent: 4 - - _ZWrite: 1 - - _ZWriteControl: 0 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveExposureWeight: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 1 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 1 - - transmissionFactor: 0 - m_Colors: - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - baseColorFactor: {r: 0.30588236, g: 1, b: 0.3882353, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] ---- !u!114 &5792399793874184331 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: 639247ca83abc874e893eb93af2b5e44, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 0 ---- !u!114 &6252396589539094185 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 11 diff --git a/Tests/Resources/Export/Materials/HDRP/MetallicRoughnessTexture.mat.meta b/Tests/Resources/Export/Materials/HDRP/MetallicRoughnessTexture.mat.meta deleted file mode 100644 index 657bb14a9..000000000 --- a/Tests/Resources/Export/Materials/HDRP/MetallicRoughnessTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 56586ef84a7354afeab038a887b4944a -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/HDRP/MetallicTexture.mat b/Tests/Resources/Export/Materials/HDRP/MetallicTexture.mat deleted file mode 100644 index 67eba7fc2..000000000 --- a/Tests/Resources/Export/Materials/HDRP/MetallicTexture.mat +++ /dev/null @@ -1,197 +0,0 @@ -%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: MetallicTexture - m_Shader: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122, type: 3} - m_ShaderKeywords: _ALPHATEST_ON _DISABLE_SSR_TRANSPARENT _TEXTURE_TRANSFORM - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2475 - stringTagMap: - RenderType: TransparentCutout - disabledShaderPasses: - - MOTIONVECTORS - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 2800000, guid: 8da4e4c98bfa44b25a9faa40105892f1, type: 3} - m_Scale: {x: 2, y: 2} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - transmissionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaCutoffEnable: 1 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _BUILTIN_AlphaClip: 0 - - _BUILTIN_Blend: 0 - - _BUILTIN_CullMode: 2 - - _BUILTIN_DstBlend: 0 - - _BUILTIN_QueueControl: -1 - - _BUILTIN_QueueOffset: 0 - - _BUILTIN_SrcBlend: 1 - - _BUILTIN_Surface: 0 - - _BUILTIN_ZTest: 4 - - _BUILTIN_ZWrite: 1 - - _BUILTIN_ZWriteControl: 0 - - _Blend: 0 - - _BlendMode: 0 - - _BlendModePreserveSpecular: 0 - - _CastShadows: 1 - - _Cull: 2 - - _CullMode: 2 - - _CullModeForward: 2 - - _DepthOffsetEnable: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedNormalMode: 2 - - _DstBlend: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _Mode: 0 - - _OpaqueCullMode: 2 - - _QueueControl: 0 - - _QueueOffset: 0 - - _RayTracing: 0 - - _ReceiveShadows: 1 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _RenderQueueType: 1 - - _RequireSplitLighting: 0 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SupportDecals: 1 - - _Surface: 0 - - _SurfaceType: 0 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UseShadowThreshold: 0 - - _WorkflowMode: 1 - - _ZTest: 4 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 3 - - _ZTestTransparent: 4 - - _ZWrite: 1 - - _ZWriteControl: 0 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveExposureWeight: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 1 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 1 - - transmissionFactor: 0 - m_Colors: - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - baseColorFactor: {r: 0.30588236, g: 1, b: 0.3882353, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] ---- !u!114 &6329480415554470436 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 9 ---- !u!114 &6688152443506402959 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: 639247ca83abc874e893eb93af2b5e44, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 0 ---- !u!114 &7887590303826644738 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 11 diff --git a/Tests/Resources/Export/Materials/HDRP/MetallicTexture.mat.meta b/Tests/Resources/Export/Materials/HDRP/MetallicTexture.mat.meta deleted file mode 100644 index 89b730d0b..000000000 --- a/Tests/Resources/Export/Materials/HDRP/MetallicTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 6a23a9597c84549e8bbec183f45d1d6a -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/HDRP/NormalTexture.mat b/Tests/Resources/Export/Materials/HDRP/NormalTexture.mat deleted file mode 100644 index c47e68678..000000000 --- a/Tests/Resources/Export/Materials/HDRP/NormalTexture.mat +++ /dev/null @@ -1,198 +0,0 @@ -%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: NormalTexture - m_Shader: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122, type: 3} - m_ShaderKeywords: _ALPHATEST_ON _DISABLE_SSR_TRANSPARENT _TEXTURE_TRANSFORM - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2475 - stringTagMap: - MotionVector: User - RenderType: TransparentCutout - disabledShaderPasses: - - MOTIONVECTORS - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 2800000, guid: e5fa3fd4c4ccd4b5c972e3746a01539d, type: 3} - m_Scale: {x: 1.5, y: 1.2} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - transmissionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaCutoffEnable: 1 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _BUILTIN_AlphaClip: 0 - - _BUILTIN_Blend: 0 - - _BUILTIN_CullMode: 2 - - _BUILTIN_DstBlend: 0 - - _BUILTIN_QueueControl: -1 - - _BUILTIN_QueueOffset: 0 - - _BUILTIN_SrcBlend: 1 - - _BUILTIN_Surface: 0 - - _BUILTIN_ZTest: 4 - - _BUILTIN_ZWrite: 1 - - _BUILTIN_ZWriteControl: 0 - - _Blend: 0 - - _BlendMode: 0 - - _BlendModePreserveSpecular: 0 - - _CastShadows: 1 - - _Cull: 2 - - _CullMode: 2 - - _CullModeForward: 2 - - _DepthOffsetEnable: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedNormalMode: 2 - - _DstBlend: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _Mode: 0 - - _OpaqueCullMode: 2 - - _QueueControl: 0 - - _QueueOffset: 0 - - _RayTracing: 0 - - _ReceiveShadows: 1 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _RenderQueueType: 1 - - _RequireSplitLighting: 0 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SupportDecals: 1 - - _Surface: 0 - - _SurfaceType: 0 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UseShadowThreshold: 0 - - _WorkflowMode: 1 - - _ZTest: 4 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 3 - - _ZTestTransparent: 4 - - _ZWrite: 1 - - _ZWriteControl: 0 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveExposureWeight: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1.1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 0.5 - - transmissionFactor: 0 - m_Colors: - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - baseColorFactor: {r: 1, g: 1, b: 1, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] ---- !u!114 &1138547567241307365 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: 639247ca83abc874e893eb93af2b5e44, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 0 ---- !u!114 &3626248866102231885 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 9 ---- !u!114 &5196027134451525230 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 11 diff --git a/Tests/Resources/Export/Materials/HDRP/NormalTexture.mat.meta b/Tests/Resources/Export/Materials/HDRP/NormalTexture.mat.meta deleted file mode 100644 index b2577c9a8..000000000 --- a/Tests/Resources/Export/Materials/HDRP/NormalTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: b1b1f8cdb0cae4b5fa2f293ee3fa4300 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/HDRP/NotGltf.mat b/Tests/Resources/Export/Materials/HDRP/NotGltf.mat deleted file mode 100644 index 7e49eb731..000000000 --- a/Tests/Resources/Export/Materials/HDRP/NotGltf.mat +++ /dev/null @@ -1,209 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-3162871190671430744 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 9 ---- !u!114 &-2485062674677238067 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: 639247ca83abc874e893eb93af2b5e44, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 0 ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: NotGltf - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: [] - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - baseColorTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - transmissionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaToMask: 0 - - _BUILTIN_AlphaClip: 0 - - _BUILTIN_Blend: 0 - - _BUILTIN_CullMode: 2 - - _BUILTIN_DstBlend: 0 - - _BUILTIN_QueueControl: -1 - - _BUILTIN_QueueOffset: 0 - - _BUILTIN_SrcBlend: 1 - - _BUILTIN_Surface: 0 - - _BUILTIN_ZTest: 4 - - _BUILTIN_ZWrite: 1 - - _BUILTIN_ZWriteControl: 0 - - _Blend: 0 - - _BlendModePreserveSpecular: 0 - - _BumpScale: 1 - - _CastShadows: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _DstBlendAlpha: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueControl: 0 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0.5 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZTest: 4 - - _ZWrite: 1 - - _ZWriteControl: 0 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveExposureWeight: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 1 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 1 - - transmissionFactor: 0 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - - baseColorFactor: {r: 1, g: 1, b: 1, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] - m_AllowLocking: 1 diff --git a/Tests/Resources/Export/Materials/HDRP/NotGltf.mat.meta b/Tests/Resources/Export/Materials/HDRP/NotGltf.mat.meta deleted file mode 100644 index c90569879..000000000 --- a/Tests/Resources/Export/Materials/HDRP/NotGltf.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 6b6837e5525a04fe7b58b1af4435ba0d -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/HDRP/OcclusionTexture.mat b/Tests/Resources/Export/Materials/HDRP/OcclusionTexture.mat deleted file mode 100644 index c1c2381c7..000000000 --- a/Tests/Resources/Export/Materials/HDRP/OcclusionTexture.mat +++ /dev/null @@ -1,197 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-6563399278336437715 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 9 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: OcclusionTexture - m_Shader: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122, type: 3} - m_ShaderKeywords: _ALPHATEST_ON _DISABLE_SSR_TRANSPARENT _TEXTURE_TRANSFORM - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2475 - stringTagMap: - RenderType: TransparentCutout - disabledShaderPasses: - - MOTIONVECTORS - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 2800000, guid: a0989fa75442a4f299d3e16bd238de3b, type: 3} - m_Scale: {x: 2, y: 2} - m_Offset: {x: 0, y: 0} - - transmissionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaCutoffEnable: 1 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _BUILTIN_AlphaClip: 0 - - _BUILTIN_Blend: 0 - - _BUILTIN_CullMode: 2 - - _BUILTIN_DstBlend: 0 - - _BUILTIN_QueueControl: -1 - - _BUILTIN_QueueOffset: 0 - - _BUILTIN_SrcBlend: 1 - - _BUILTIN_Surface: 0 - - _BUILTIN_ZTest: 4 - - _BUILTIN_ZWrite: 1 - - _BUILTIN_ZWriteControl: 0 - - _Blend: 0 - - _BlendMode: 0 - - _BlendModePreserveSpecular: 0 - - _CastShadows: 1 - - _Cull: 2 - - _CullMode: 2 - - _CullModeForward: 2 - - _DepthOffsetEnable: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedNormalMode: 2 - - _DstBlend: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _Mode: 0 - - _OpaqueCullMode: 2 - - _QueueControl: 0 - - _QueueOffset: 0 - - _RayTracing: 0 - - _ReceiveShadows: 1 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _RenderQueueType: 1 - - _RequireSplitLighting: 0 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SupportDecals: 1 - - _Surface: 0 - - _SurfaceType: 0 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UseShadowThreshold: 0 - - _WorkflowMode: 1 - - _ZTest: 4 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 3 - - _ZTestTransparent: 4 - - _ZWrite: 1 - - _ZWriteControl: 0 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveExposureWeight: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 0.8 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 0.7 - - transmissionFactor: 0 - m_Colors: - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - baseColorFactor: {r: 1, g: 0.85672647, b: 0.58965355, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] ---- !u!114 &4661383101410321536 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: 639247ca83abc874e893eb93af2b5e44, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 0 ---- !u!114 &6970435888722911132 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 11 diff --git a/Tests/Resources/Export/Materials/HDRP/OcclusionTexture.mat.meta b/Tests/Resources/Export/Materials/HDRP/OcclusionTexture.mat.meta deleted file mode 100644 index 7fd8e770f..000000000 --- a/Tests/Resources/Export/Materials/HDRP/OcclusionTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 5bd1e29e7543846c8b76044599b3c70a -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/HDRP/Omni.mat b/Tests/Resources/Export/Materials/HDRP/Omni.mat deleted file mode 100644 index bcf184dd1..000000000 --- a/Tests/Resources/Export/Materials/HDRP/Omni.mat +++ /dev/null @@ -1,199 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-7342136019923642577 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 11 ---- !u!114 &-937208297705619245 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 9 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Omni - m_Shader: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122, type: 3} - m_ShaderKeywords: _ALPHATEST_ON _DISABLE_SSR_TRANSPARENT _TEXTURE_TRANSFORM _EMISSIVE - _OCCLUSION - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2475 - stringTagMap: - MotionVector: User - RenderType: TransparentCutout - disabledShaderPasses: - - MOTIONVECTORS - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 2800000, guid: 767b013dd53264d2a858edf8651b320d, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0.4, y: 0.6} - - emissiveTexture: - m_Texture: {fileID: 2800000, guid: f53f6abdff34c42bf8b9a9487f5fba4d, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0.1, y: 0.2} - - metallicRoughnessTexture: - m_Texture: {fileID: 2800000, guid: e6a8dbc8ea6f7452db96210e86372550, type: 3} - m_Scale: {x: 1.11, y: 1.21} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 2800000, guid: e5fa3fd4c4ccd4b5c972e3746a01539d, type: 3} - m_Scale: {x: 1.5, y: 1.2} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 2800000, guid: e6a8dbc8ea6f7452db96210e86372550, type: 3} - m_Scale: {x: 1.1, y: 1.2} - m_Offset: {x: 0, y: 0} - - transmissionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaCutoffEnable: 1 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _BUILTIN_AlphaClip: 0 - - _BUILTIN_Blend: 0 - - _BUILTIN_CullMode: 2 - - _BUILTIN_DstBlend: 0 - - _BUILTIN_QueueControl: -1 - - _BUILTIN_QueueOffset: 0 - - _BUILTIN_SrcBlend: 1 - - _BUILTIN_Surface: 0 - - _BUILTIN_ZTest: 4 - - _BUILTIN_ZWrite: 1 - - _BUILTIN_ZWriteControl: 0 - - _Blend: 0 - - _BlendMode: 0 - - _BlendModePreserveSpecular: 0 - - _CastShadows: 1 - - _Cull: 2 - - _CullMode: 2 - - _CullModeForward: 2 - - _DepthOffsetEnable: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedNormalMode: 2 - - _DstBlend: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _Mode: 0 - - _OpaqueCullMode: 2 - - _QueueControl: 0 - - _QueueOffset: 0 - - _RayTracing: 0 - - _ReceiveShadows: 1 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _RenderQueueType: 1 - - _RequireSplitLighting: 0 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SupportDecals: 1 - - _Surface: 0 - - _SurfaceType: 0 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UseShadowThreshold: 0 - - _WorkflowMode: 1 - - _ZTest: 4 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 3 - - _ZTestTransparent: 4 - - _ZWrite: 1 - - _ZWriteControl: 0 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveExposureWeight: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0.95 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 0.42 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 0.58 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 0.93 - - transmissionFactor: 0 - m_Colors: - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - baseColorFactor: {r: 0.9, g: 0.8, b: 0.7, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 1, g: 1, b: 1, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] ---- !u!114 &4475698861775716853 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: 639247ca83abc874e893eb93af2b5e44, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 0 diff --git a/Tests/Resources/Export/Materials/HDRP/Omni.mat.meta b/Tests/Resources/Export/Materials/HDRP/Omni.mat.meta deleted file mode 100644 index 51b7f28a3..000000000 --- a/Tests/Resources/Export/Materials/HDRP/Omni.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 634b5f771917c4c5699102dbd7289163 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/HDRP/RoughnessTexture.mat b/Tests/Resources/Export/Materials/HDRP/RoughnessTexture.mat deleted file mode 100644 index 8265ea500..000000000 --- a/Tests/Resources/Export/Materials/HDRP/RoughnessTexture.mat +++ /dev/null @@ -1,197 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-7184335634477803850 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 9 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: RoughnessTexture - m_Shader: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122, type: 3} - m_ShaderKeywords: _ALPHATEST_ON _DISABLE_SSR_TRANSPARENT - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2475 - stringTagMap: - RenderType: TransparentCutout - disabledShaderPasses: - - MOTIONVECTORS - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 2800000, guid: 236ba889a0d5e48bf977cee24ffcb55f, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - transmissionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaCutoffEnable: 1 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _BUILTIN_AlphaClip: 0 - - _BUILTIN_Blend: 0 - - _BUILTIN_CullMode: 2 - - _BUILTIN_DstBlend: 0 - - _BUILTIN_QueueControl: -1 - - _BUILTIN_QueueOffset: 0 - - _BUILTIN_SrcBlend: 1 - - _BUILTIN_Surface: 0 - - _BUILTIN_ZTest: 4 - - _BUILTIN_ZWrite: 1 - - _BUILTIN_ZWriteControl: 0 - - _Blend: 0 - - _BlendMode: 0 - - _BlendModePreserveSpecular: 0 - - _CastShadows: 1 - - _Cull: 2 - - _CullMode: 2 - - _CullModeForward: 2 - - _DepthOffsetEnable: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedNormalMode: 2 - - _DstBlend: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _Mode: 0 - - _OpaqueCullMode: 2 - - _QueueControl: 0 - - _QueueOffset: 0 - - _RayTracing: 0 - - _ReceiveShadows: 1 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _RenderQueueType: 1 - - _RequireSplitLighting: 0 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SupportDecals: 1 - - _Surface: 0 - - _SurfaceType: 0 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UseShadowThreshold: 0 - - _WorkflowMode: 1 - - _ZTest: 4 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 3 - - _ZTestTransparent: 4 - - _ZWrite: 1 - - _ZWriteControl: 0 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveExposureWeight: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 0.89 - - transmissionFactor: 0 - m_Colors: - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - baseColorFactor: {r: 0.30588236, g: 1, b: 0.3882353, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] ---- !u!114 &794918956778256769 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 11 ---- !u!114 &2774689119717281520 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: 639247ca83abc874e893eb93af2b5e44, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 0 diff --git a/Tests/Resources/Export/Materials/HDRP/RoughnessTexture.mat.meta b/Tests/Resources/Export/Materials/HDRP/RoughnessTexture.mat.meta deleted file mode 100644 index 37ec0abff..000000000 --- a/Tests/Resources/Export/Materials/HDRP/RoughnessTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: f0f7140270ed44d238bec0e4e29d38f1 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/Textures.meta b/Tests/Resources/Export/Materials/Textures.meta deleted file mode 100644 index 2ee5726f0..000000000 --- a/Tests/Resources/Export/Materials/Textures.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 88b0c34b1a4d54c48b7a00020521a5b1 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/Textures/emissive.jpg b/Tests/Resources/Export/Materials/Textures/emissive.jpg deleted file mode 100644 index 24619f99a..000000000 --- a/Tests/Resources/Export/Materials/Textures/emissive.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:981c4abc88aa154869ba0659aa2e5384b189264c6207685d94f26ac6752041ae -size 1380 diff --git a/Tests/Resources/Export/Materials/Textures/emissive.jpg.meta b/Tests/Resources/Export/Materials/Textures/emissive.jpg.meta deleted file mode 100644 index 68aacb88a..000000000 --- a/Tests/Resources/Export/Materials/Textures/emissive.jpg.meta +++ /dev/null @@ -1,157 +0,0 @@ -fileFormatVersion: 2 -guid: f53f6abdff34c42bf8b9a9487f5fba4d -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - 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 - cookieLightType: 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 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: tvOS - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - 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/Tests/Resources/Export/Materials/Textures/metallic.jpg b/Tests/Resources/Export/Materials/Textures/metallic.jpg deleted file mode 100644 index bca8fcdfa..000000000 --- a/Tests/Resources/Export/Materials/Textures/metallic.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5e272ac4bd7aa52aefa5f17e37a758e2b810f6c02e10b74798147e0c6d8ca920 -size 4771 diff --git a/Tests/Resources/Export/Materials/Textures/metallic.jpg.meta b/Tests/Resources/Export/Materials/Textures/metallic.jpg.meta deleted file mode 100644 index d60dcf214..000000000 --- a/Tests/Resources/Export/Materials/Textures/metallic.jpg.meta +++ /dev/null @@ -1,157 +0,0 @@ -fileFormatVersion: 2 -guid: 8da4e4c98bfa44b25a9faa40105892f1 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - 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 - cookieLightType: 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 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: tvOS - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - 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/Tests/Resources/Export/Materials/Textures/normal.png b/Tests/Resources/Export/Materials/Textures/normal.png deleted file mode 100644 index 2a700dcb4..000000000 --- a/Tests/Resources/Export/Materials/Textures/normal.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:dd0702b6b841c9d8d3487466a2c65e13871b5cc87c1022f2fb3d594083c6a82b -size 30059 diff --git a/Tests/Resources/Export/Materials/Textures/normal.png.meta b/Tests/Resources/Export/Materials/Textures/normal.png.meta deleted file mode 100644 index 49dbdb57d..000000000 --- a/Tests/Resources/Export/Materials/Textures/normal.png.meta +++ /dev/null @@ -1,157 +0,0 @@ -fileFormatVersion: 2 -guid: e5fa3fd4c4ccd4b5c972e3746a01539d -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - 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: 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: 1 - textureShape: 1 - singleChannelComponent: 0 - flipbookRows: 1 - flipbookColumns: 1 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - ignorePngGamma: 0 - applyGammaDecoding: 0 - cookieLightType: 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 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: tvOS - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - 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/Tests/Resources/Export/Materials/Textures/occlusion-roughness-metallness.jpg b/Tests/Resources/Export/Materials/Textures/occlusion-roughness-metallness.jpg deleted file mode 100644 index cd83bb8cb..000000000 --- a/Tests/Resources/Export/Materials/Textures/occlusion-roughness-metallness.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:122e771dfd8afb7d5afaef9b26fae3491390a5c3847400fe379a77a29f0f79d6 -size 3055 diff --git a/Tests/Resources/Export/Materials/Textures/occlusion-roughness-metallness.jpg.meta b/Tests/Resources/Export/Materials/Textures/occlusion-roughness-metallness.jpg.meta deleted file mode 100644 index e52b95d50..000000000 --- a/Tests/Resources/Export/Materials/Textures/occlusion-roughness-metallness.jpg.meta +++ /dev/null @@ -1,157 +0,0 @@ -fileFormatVersion: 2 -guid: e6a8dbc8ea6f7452db96210e86372550 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - 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 - cookieLightType: 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 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: tvOS - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - 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/Tests/Resources/Export/Materials/Textures/occlusion.jpg b/Tests/Resources/Export/Materials/Textures/occlusion.jpg deleted file mode 100644 index d516cfd18..000000000 --- a/Tests/Resources/Export/Materials/Textures/occlusion.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d0848f5db6b5e721558f58ed655e402c126a36f1a88236724c41e3947e378071 -size 3238 diff --git a/Tests/Resources/Export/Materials/Textures/occlusion.jpg.meta b/Tests/Resources/Export/Materials/Textures/occlusion.jpg.meta deleted file mode 100644 index fd41a74a8..000000000 --- a/Tests/Resources/Export/Materials/Textures/occlusion.jpg.meta +++ /dev/null @@ -1,157 +0,0 @@ -fileFormatVersion: 2 -guid: a0989fa75442a4f299d3e16bd238de3b -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - 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 - cookieLightType: 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 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: tvOS - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - 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/Tests/Resources/Export/Materials/Textures/roughness.jpg b/Tests/Resources/Export/Materials/Textures/roughness.jpg deleted file mode 100644 index 0c72c3f55..000000000 --- a/Tests/Resources/Export/Materials/Textures/roughness.jpg +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a2324cc2affa9d9593f4f1a7371ef5c89e932642eb909df89eacc5b1f7adc6b8 -size 681 diff --git a/Tests/Resources/Export/Materials/Textures/roughness.jpg.meta b/Tests/Resources/Export/Materials/Textures/roughness.jpg.meta deleted file mode 100644 index 925f116b9..000000000 --- a/Tests/Resources/Export/Materials/Textures/roughness.jpg.meta +++ /dev/null @@ -1,157 +0,0 @@ -fileFormatVersion: 2 -guid: 236ba889a0d5e48bf977cee24ffcb55f -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - 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: 0 - 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 - cookieLightType: 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 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: iPhone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: WebGL - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: tvOS - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Android - 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/Tests/Resources/Export/Materials/URP.meta b/Tests/Resources/Export/Materials/URP.meta deleted file mode 100644 index 6d1273060..000000000 --- a/Tests/Resources/Export/Materials/URP.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 905df68a4a6c641e6a2dffddc2a8ddb5 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/URP/BaseColor.mat b/Tests/Resources/Export/Materials/URP/BaseColor.mat deleted file mode 100644 index 02dd89d38..000000000 --- a/Tests/Resources/Export/Materials/URP/BaseColor.mat +++ /dev/null @@ -1,197 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-6868728779799944013 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: 639247ca83abc874e893eb93af2b5e44, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 0 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: BaseColor - m_Shader: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122, type: 3} - m_ShaderKeywords: _ALPHATEST_ON _DISABLE_SSR_TRANSPARENT - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2475 - stringTagMap: - RenderType: TransparentCutout - disabledShaderPasses: - - MOTIONVECTORS - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - transmissionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaCutoffEnable: 1 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _BUILTIN_AlphaClip: 0 - - _BUILTIN_Blend: 0 - - _BUILTIN_CullMode: 2 - - _BUILTIN_DstBlend: 0 - - _BUILTIN_QueueControl: -1 - - _BUILTIN_QueueOffset: 0 - - _BUILTIN_SrcBlend: 1 - - _BUILTIN_Surface: 0 - - _BUILTIN_ZTest: 4 - - _BUILTIN_ZWrite: 1 - - _BUILTIN_ZWriteControl: 0 - - _Blend: 0 - - _BlendMode: 0 - - _BlendModePreserveSpecular: 0 - - _CastShadows: 1 - - _Cull: 2 - - _CullMode: 2 - - _CullModeForward: 2 - - _DepthOffsetEnable: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedNormalMode: 2 - - _DstBlend: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _Mode: 0 - - _OpaqueCullMode: 2 - - _QueueControl: 0 - - _QueueOffset: 0 - - _RayTracing: 0 - - _ReceiveShadows: 1 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _RenderQueueType: 1 - - _RequireSplitLighting: 0 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SupportDecals: 1 - - _Surface: 0 - - _SurfaceType: 0 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UseShadowThreshold: 0 - - _WorkflowMode: 1 - - _ZTest: 4 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 3 - - _ZTestTransparent: 4 - - _ZWrite: 1 - - _ZWriteControl: 0 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveExposureWeight: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 0.5 - - transmissionFactor: 0 - m_Colors: - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - baseColorFactor: {r: 0.48452914, g: 0.7353569, b: 0.880825, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] ---- !u!114 &3748538558603016288 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 11 ---- !u!114 &8190096692948843879 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 9 diff --git a/Tests/Resources/Export/Materials/URP/BaseColor.mat.meta b/Tests/Resources/Export/Materials/URP/BaseColor.mat.meta deleted file mode 100644 index d96d47da9..000000000 --- a/Tests/Resources/Export/Materials/URP/BaseColor.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: a0fe4e32a5bee4221a50f06f60dbee97 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/URP/BaseColorTexture.mat b/Tests/Resources/Export/Materials/URP/BaseColorTexture.mat deleted file mode 100644 index 5cece5f77..000000000 --- a/Tests/Resources/Export/Materials/URP/BaseColorTexture.mat +++ /dev/null @@ -1,197 +0,0 @@ -%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: BaseColorTexture - m_Shader: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122, type: 3} - m_ShaderKeywords: _ALPHATEST_ON _DISABLE_SSR_TRANSPARENT - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2475 - stringTagMap: - RenderType: TransparentCutout - disabledShaderPasses: - - MOTIONVECTORS - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 2800000, guid: 767b013dd53264d2a858edf8651b320d, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - transmissionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaCutoffEnable: 1 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _BUILTIN_AlphaClip: 0 - - _BUILTIN_Blend: 0 - - _BUILTIN_CullMode: 2 - - _BUILTIN_DstBlend: 0 - - _BUILTIN_QueueControl: -1 - - _BUILTIN_QueueOffset: 0 - - _BUILTIN_SrcBlend: 1 - - _BUILTIN_Surface: 0 - - _BUILTIN_ZTest: 4 - - _BUILTIN_ZWrite: 1 - - _BUILTIN_ZWriteControl: 0 - - _Blend: 0 - - _BlendMode: 0 - - _BlendModePreserveSpecular: 0 - - _CastShadows: 1 - - _Cull: 2 - - _CullMode: 2 - - _CullModeForward: 2 - - _DepthOffsetEnable: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedNormalMode: 2 - - _DstBlend: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _Mode: 0 - - _OpaqueCullMode: 2 - - _QueueControl: 0 - - _QueueOffset: 0 - - _RayTracing: 0 - - _ReceiveShadows: 1 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _RenderQueueType: 1 - - _RequireSplitLighting: 0 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SupportDecals: 1 - - _Surface: 0 - - _SurfaceType: 0 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UseShadowThreshold: 0 - - _WorkflowMode: 1 - - _ZTest: 4 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 3 - - _ZTestTransparent: 4 - - _ZWrite: 1 - - _ZWriteControl: 0 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveExposureWeight: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 0.5 - - transmissionFactor: 0 - m_Colors: - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - baseColorFactor: {r: 0.9, g: 0.8, b: 0.7, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] ---- !u!114 &3271681715824319525 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: 639247ca83abc874e893eb93af2b5e44, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 0 ---- !u!114 &4242709241036237138 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 11 ---- !u!114 &8297463674298635704 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 9 diff --git a/Tests/Resources/Export/Materials/URP/BaseColorTexture.mat.meta b/Tests/Resources/Export/Materials/URP/BaseColorTexture.mat.meta deleted file mode 100644 index 0c8648a4b..000000000 --- a/Tests/Resources/Export/Materials/URP/BaseColorTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: ca2d8882652fd41119239fb65fd3046f -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/URP/BaseColorTextureCutout.mat b/Tests/Resources/Export/Materials/URP/BaseColorTextureCutout.mat deleted file mode 100644 index dfa0013e4..000000000 --- a/Tests/Resources/Export/Materials/URP/BaseColorTextureCutout.mat +++ /dev/null @@ -1,135 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-6792439800286000282 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: 639247ca83abc874e893eb93af2b5e44, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 0 ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: BaseColorTextureCutout - m_Shader: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122, - type: 3} - m_ValidKeywords: - - _ALPHATEST_ON - m_InvalidKeywords: [] - m_LightmapFlags: 2 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 1 - m_CustomRenderQueue: 2450 - stringTagMap: - RenderType: TransparentCutout - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 2800000, guid: 1e22bd6b46ceb4d0c99cfdb552ec8586, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - transmissionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AlphaClip: 1 - - _BUILTIN_AlphaClip: 0 - - _BUILTIN_Blend: 0 - - _BUILTIN_CullMode: 2 - - _BUILTIN_DstBlend: 0 - - _BUILTIN_QueueControl: 1 - - _BUILTIN_QueueOffset: 0 - - _BUILTIN_SrcBlend: 1 - - _BUILTIN_Surface: 0 - - _BUILTIN_ZTest: 4 - - _BUILTIN_ZWrite: 1 - - _BUILTIN_ZWriteControl: 0 - - _Blend: 0 - - _CastShadows: 1 - - _Cull: 2 - - _DstBlend: 0 - - _QueueControl: 1 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _WorkflowMode: 1 - - _ZTest: 4 - - _ZWrite: 1 - - _ZWriteControl: 0 - - alphaCutoff: 0.6 - - baseColorTexture_texCoord: 0 - - emissiveExposureWeight: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 0 - - transmissionFactor: 0 - m_Colors: - - baseColorFactor: {r: 0.9, g: 0.8, b: 0.7, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] ---- !u!114 &1818509006005091842 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 5 diff --git a/Tests/Resources/Export/Materials/URP/BaseColorTextureCutout.mat.meta b/Tests/Resources/Export/Materials/URP/BaseColorTextureCutout.mat.meta deleted file mode 100644 index 9f9600f23..000000000 --- a/Tests/Resources/Export/Materials/URP/BaseColorTextureCutout.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 19e1f5c269ca5451fbdf4d44a6df151e -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/URP/BaseColorTextureRotated.mat b/Tests/Resources/Export/Materials/URP/BaseColorTextureRotated.mat deleted file mode 100644 index 1933f4c6d..000000000 --- a/Tests/Resources/Export/Materials/URP/BaseColorTextureRotated.mat +++ /dev/null @@ -1,198 +0,0 @@ -%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: BaseColorTextureRotated - m_Shader: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122, type: 3} - m_ShaderKeywords: _ALPHATEST_ON _DISABLE_SSR_TRANSPARENT _TEXTURE_TRANSFORM - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2475 - stringTagMap: - MotionVector: User - RenderType: TransparentCutout - disabledShaderPasses: - - MOTIONVECTORS - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 2800000, guid: 767b013dd53264d2a858edf8651b320d, type: 3} - m_Scale: {x: 0.70710677, y: 0.70710677} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - transmissionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaCutoffEnable: 1 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _BUILTIN_AlphaClip: 0 - - _BUILTIN_Blend: 0 - - _BUILTIN_CullMode: 2 - - _BUILTIN_DstBlend: 0 - - _BUILTIN_QueueControl: -1 - - _BUILTIN_QueueOffset: 0 - - _BUILTIN_SrcBlend: 1 - - _BUILTIN_Surface: 0 - - _BUILTIN_ZTest: 4 - - _BUILTIN_ZWrite: 1 - - _BUILTIN_ZWriteControl: 0 - - _Blend: 0 - - _BlendMode: 0 - - _BlendModePreserveSpecular: 0 - - _CastShadows: 1 - - _Cull: 2 - - _CullMode: 2 - - _CullModeForward: 2 - - _DepthOffsetEnable: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedNormalMode: 2 - - _DstBlend: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _Mode: 0 - - _OpaqueCullMode: 2 - - _QueueControl: 0 - - _QueueOffset: 0 - - _RayTracing: 0 - - _ReceiveShadows: 1 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _RenderQueueType: 1 - - _RequireSplitLighting: 0 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SupportDecals: 1 - - _Surface: 0 - - _SurfaceType: 0 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UseShadowThreshold: 0 - - _WorkflowMode: 1 - - _ZTest: 4 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 3 - - _ZTestTransparent: 4 - - _ZWrite: 1 - - _ZWriteControl: 0 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveExposureWeight: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 0.5 - - transmissionFactor: 0 - m_Colors: - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - baseColorFactor: {r: 0.9, g: 0.8, b: 0.7, a: 1} - - baseColorTexture_Rotation: {r: 0.70710677, g: -0.70710677, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] ---- !u!114 &4496889970596464588 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 11 ---- !u!114 &5005384916937477244 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 9 ---- !u!114 &8468717510162963845 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: 639247ca83abc874e893eb93af2b5e44, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 0 diff --git a/Tests/Resources/Export/Materials/URP/BaseColorTextureRotated.mat.meta b/Tests/Resources/Export/Materials/URP/BaseColorTextureRotated.mat.meta deleted file mode 100644 index 01abe2af5..000000000 --- a/Tests/Resources/Export/Materials/URP/BaseColorTextureRotated.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 151a90d42fdb548ee8ca99cf365dc601 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/URP/BaseColorTextureScaled.mat b/Tests/Resources/Export/Materials/URP/BaseColorTextureScaled.mat deleted file mode 100644 index 90b063c33..000000000 --- a/Tests/Resources/Export/Materials/URP/BaseColorTextureScaled.mat +++ /dev/null @@ -1,198 +0,0 @@ -%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: BaseColorTextureScaled - m_Shader: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122, type: 3} - m_ShaderKeywords: _ALPHATEST_ON _DISABLE_SSR_TRANSPARENT _TEXTURE_TRANSFORM - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2475 - stringTagMap: - MotionVector: User - RenderType: TransparentCutout - disabledShaderPasses: - - MOTIONVECTORS - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 2800000, guid: 767b013dd53264d2a858edf8651b320d, type: 3} - m_Scale: {x: 1.2, y: 1.3} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - transmissionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaCutoffEnable: 1 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _BUILTIN_AlphaClip: 0 - - _BUILTIN_Blend: 0 - - _BUILTIN_CullMode: 2 - - _BUILTIN_DstBlend: 0 - - _BUILTIN_QueueControl: -1 - - _BUILTIN_QueueOffset: 0 - - _BUILTIN_SrcBlend: 1 - - _BUILTIN_Surface: 0 - - _BUILTIN_ZTest: 4 - - _BUILTIN_ZWrite: 1 - - _BUILTIN_ZWriteControl: 0 - - _Blend: 0 - - _BlendMode: 0 - - _BlendModePreserveSpecular: 0 - - _CastShadows: 1 - - _Cull: 2 - - _CullMode: 2 - - _CullModeForward: 2 - - _DepthOffsetEnable: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedNormalMode: 2 - - _DstBlend: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _Mode: 0 - - _OpaqueCullMode: 2 - - _QueueControl: 0 - - _QueueOffset: 0 - - _RayTracing: 0 - - _ReceiveShadows: 1 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _RenderQueueType: 1 - - _RequireSplitLighting: 0 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SupportDecals: 1 - - _Surface: 0 - - _SurfaceType: 0 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UseShadowThreshold: 0 - - _WorkflowMode: 1 - - _ZTest: 4 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 3 - - _ZTestTransparent: 4 - - _ZWrite: 1 - - _ZWriteControl: 0 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveExposureWeight: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 0.5 - - transmissionFactor: 0 - m_Colors: - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - baseColorFactor: {r: 0.9, g: 0.8, b: 0.7, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] ---- !u!114 &327049786189296091 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: 639247ca83abc874e893eb93af2b5e44, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 0 ---- !u!114 &5338241427485034969 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 11 ---- !u!114 &7754129217665426590 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 9 diff --git a/Tests/Resources/Export/Materials/URP/BaseColorTextureScaled.mat.meta b/Tests/Resources/Export/Materials/URP/BaseColorTextureScaled.mat.meta deleted file mode 100644 index 61bbfa58d..000000000 --- a/Tests/Resources/Export/Materials/URP/BaseColorTextureScaled.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 99a2e11ea850a44dfa29737d5732fa73 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/URP/BaseColorTextureTranslated.mat b/Tests/Resources/Export/Materials/URP/BaseColorTextureTranslated.mat deleted file mode 100644 index 74d225030..000000000 --- a/Tests/Resources/Export/Materials/URP/BaseColorTextureTranslated.mat +++ /dev/null @@ -1,198 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-6755628218167242280 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 9 ---- !u!114 &-6631252386267038805 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 11 ---- !u!114 &-3521330490493970405 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: 639247ca83abc874e893eb93af2b5e44, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 0 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: BaseColorTextureTranslated - m_Shader: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122, type: 3} - m_ShaderKeywords: _ALPHATEST_ON _DISABLE_SSR_TRANSPARENT _TEXTURE_TRANSFORM - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2475 - stringTagMap: - MotionVector: User - RenderType: TransparentCutout - disabledShaderPasses: - - MOTIONVECTORS - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 2800000, guid: 767b013dd53264d2a858edf8651b320d, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0.4, y: 0.6} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - transmissionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaCutoffEnable: 1 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _BUILTIN_AlphaClip: 0 - - _BUILTIN_Blend: 0 - - _BUILTIN_CullMode: 2 - - _BUILTIN_DstBlend: 0 - - _BUILTIN_QueueControl: -1 - - _BUILTIN_QueueOffset: 0 - - _BUILTIN_SrcBlend: 1 - - _BUILTIN_Surface: 0 - - _BUILTIN_ZTest: 4 - - _BUILTIN_ZWrite: 1 - - _BUILTIN_ZWriteControl: 0 - - _Blend: 0 - - _BlendMode: 0 - - _BlendModePreserveSpecular: 0 - - _CastShadows: 1 - - _Cull: 2 - - _CullMode: 2 - - _CullModeForward: 2 - - _DepthOffsetEnable: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedNormalMode: 2 - - _DstBlend: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _Mode: 0 - - _OpaqueCullMode: 2 - - _QueueControl: 0 - - _QueueOffset: 0 - - _RayTracing: 0 - - _ReceiveShadows: 1 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _RenderQueueType: 1 - - _RequireSplitLighting: 0 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SupportDecals: 1 - - _Surface: 0 - - _SurfaceType: 0 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UseShadowThreshold: 0 - - _WorkflowMode: 1 - - _ZTest: 4 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 3 - - _ZTestTransparent: 4 - - _ZWrite: 1 - - _ZWriteControl: 0 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveExposureWeight: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 0.5 - - transmissionFactor: 0 - m_Colors: - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - baseColorFactor: {r: 0.9, g: 0.8, b: 0.7, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] diff --git a/Tests/Resources/Export/Materials/URP/BaseColorTextureTranslated.mat.meta b/Tests/Resources/Export/Materials/URP/BaseColorTextureTranslated.mat.meta deleted file mode 100644 index e45f75e62..000000000 --- a/Tests/Resources/Export/Materials/URP/BaseColorTextureTranslated.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 8937cffcf23754d418132d42c798271d -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/URP/BaseColorTextureTransparent.mat b/Tests/Resources/Export/Materials/URP/BaseColorTextureTransparent.mat deleted file mode 100644 index 9b48ab79b..000000000 --- a/Tests/Resources/Export/Materials/URP/BaseColorTextureTransparent.mat +++ /dev/null @@ -1,144 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: BaseColorTextureTransparent - m_Shader: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122, - type: 3} - m_ValidKeywords: - - _SURFACE_TYPE_TRANSPARENT - m_InvalidKeywords: - - _DISABLE_SSR_TRANSPARENT - - _ENABLE_FOG_ON_TRANSPARENT - m_LightmapFlags: 2 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 1 - m_CustomRenderQueue: 3000 - stringTagMap: - MotionVector: User - RenderType: Transparent - disabledShaderPasses: - - MOTIONVECTORS - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - - DepthOnly - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 2800000, guid: 1e22bd6b46ceb4d0c99cfdb552ec8586, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - transmissionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AlphaClip: 0 - - _BUILTIN_AlphaClip: 0 - - _BUILTIN_Blend: 0 - - _BUILTIN_CullMode: 2 - - _BUILTIN_DstBlend: 0 - - _BUILTIN_QueueControl: 1 - - _BUILTIN_QueueOffset: 0 - - _BUILTIN_SrcBlend: 1 - - _BUILTIN_Surface: 0 - - _BUILTIN_ZTest: 4 - - _BUILTIN_ZWrite: 1 - - _BUILTIN_ZWriteControl: 0 - - _Blend: 0 - - _CastShadows: 1 - - _Cull: 2 - - _DstBlend: 10 - - _QueueControl: 1 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _SrcBlend: 5 - - _Surface: 1 - - _WorkflowMode: 1 - - _ZTest: 4 - - _ZWrite: 0 - - _ZWriteControl: 0 - - alphaCutoff: 0 - - baseColorTexture_texCoord: 0 - - emissiveExposureWeight: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 0 - - transmissionFactor: 0 - m_Colors: - - baseColorFactor: {r: 0.9, g: 0.8, b: 0.7, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] ---- !u!114 &902737734322235975 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: 639247ca83abc874e893eb93af2b5e44, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 0 ---- !u!114 &7852760948264433013 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 5 diff --git a/Tests/Resources/Export/Materials/URP/BaseColorTextureTransparent.mat.meta b/Tests/Resources/Export/Materials/URP/BaseColorTextureTransparent.mat.meta deleted file mode 100644 index d506110cc..000000000 --- a/Tests/Resources/Export/Materials/URP/BaseColorTextureTransparent.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: a516aedc3074849e4b6684c554415737 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/URP/DoubleSided.mat b/Tests/Resources/Export/Materials/URP/DoubleSided.mat deleted file mode 100644 index 87445ed30..000000000 --- a/Tests/Resources/Export/Materials/URP/DoubleSided.mat +++ /dev/null @@ -1,136 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-4405249971679355670 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: 639247ca83abc874e893eb93af2b5e44, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 0 ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: DoubleSided - m_Shader: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122, - type: 3} - m_ValidKeywords: [] - m_InvalidKeywords: [] - m_LightmapFlags: 2 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 1 - m_CustomRenderQueue: 2000 - stringTagMap: - MotionVector: User - RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - transmissionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AlphaClip: 0 - - _BUILTIN_AlphaClip: 0 - - _BUILTIN_Blend: 0 - - _BUILTIN_CullMode: 2 - - _BUILTIN_DstBlend: 0 - - _BUILTIN_QueueControl: 1 - - _BUILTIN_QueueOffset: 0 - - _BUILTIN_SrcBlend: 1 - - _BUILTIN_Surface: 0 - - _BUILTIN_ZTest: 4 - - _BUILTIN_ZWrite: 1 - - _BUILTIN_ZWriteControl: 0 - - _Blend: 0 - - _CastShadows: 1 - - _Cull: 0 - - _DstBlend: 0 - - _QueueControl: 1 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _WorkflowMode: 1 - - _ZTest: 4 - - _ZWrite: 1 - - _ZWriteControl: 0 - - alphaCutoff: 0 - - baseColorTexture_texCoord: 0 - - emissiveExposureWeight: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 0.7 - - transmissionFactor: 0 - m_Colors: - - baseColorFactor: {r: 0, g: 0.32675865, b: 1, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] ---- !u!114 &8639226854172091483 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 5 diff --git a/Tests/Resources/Export/Materials/URP/DoubleSided.mat.meta b/Tests/Resources/Export/Materials/URP/DoubleSided.mat.meta deleted file mode 100644 index 9c7b69157..000000000 --- a/Tests/Resources/Export/Materials/URP/DoubleSided.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 3ef67473cb66b4011a44c824e027c059 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/URP/EmissiveFactor.mat b/Tests/Resources/Export/Materials/URP/EmissiveFactor.mat deleted file mode 100644 index 5f798fd7a..000000000 --- a/Tests/Resources/Export/Materials/URP/EmissiveFactor.mat +++ /dev/null @@ -1,198 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-1551366186088804395 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 9 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: EmissiveFactor - m_Shader: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122, type: 3} - m_ShaderKeywords: _ALPHATEST_ON _DISABLE_SSR_TRANSPARENT _EMISSIVE - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2475 - stringTagMap: - MotionVector: User - RenderType: TransparentCutout - disabledShaderPasses: - - MOTIONVECTORS - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - transmissionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaCutoffEnable: 1 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _BUILTIN_AlphaClip: 0 - - _BUILTIN_Blend: 0 - - _BUILTIN_CullMode: 2 - - _BUILTIN_DstBlend: 0 - - _BUILTIN_QueueControl: -1 - - _BUILTIN_QueueOffset: 0 - - _BUILTIN_SrcBlend: 1 - - _BUILTIN_Surface: 0 - - _BUILTIN_ZTest: 4 - - _BUILTIN_ZWrite: 1 - - _BUILTIN_ZWriteControl: 0 - - _Blend: 0 - - _BlendMode: 0 - - _BlendModePreserveSpecular: 0 - - _CastShadows: 1 - - _Cull: 2 - - _CullMode: 2 - - _CullModeForward: 2 - - _DepthOffsetEnable: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedNormalMode: 2 - - _DstBlend: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _Mode: 0 - - _OpaqueCullMode: 2 - - _QueueControl: 0 - - _QueueOffset: 0 - - _RayTracing: 0 - - _ReceiveShadows: 1 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _RenderQueueType: 1 - - _RequireSplitLighting: 0 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SupportDecals: 1 - - _Surface: 0 - - _SurfaceType: 0 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UseShadowThreshold: 0 - - _WorkflowMode: 1 - - _ZTest: 4 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 3 - - _ZTestTransparent: 4 - - _ZWrite: 1 - - _ZWriteControl: 0 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveExposureWeight: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 1 - - transmissionFactor: 0 - m_Colors: - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - baseColorFactor: {r: 0, g: 0, b: 0, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 1, g: 1, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] ---- !u!114 &752764914036390117 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: 639247ca83abc874e893eb93af2b5e44, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 0 ---- !u!114 &4882466098009885765 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 11 diff --git a/Tests/Resources/Export/Materials/URP/EmissiveFactor.mat.meta b/Tests/Resources/Export/Materials/URP/EmissiveFactor.mat.meta deleted file mode 100644 index 3cd292d52..000000000 --- a/Tests/Resources/Export/Materials/URP/EmissiveFactor.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: a2b265ca626394b87ae0aef9b4cb7912 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/URP/EmissiveTexture.mat b/Tests/Resources/Export/Materials/URP/EmissiveTexture.mat deleted file mode 100644 index 40aa15efc..000000000 --- a/Tests/Resources/Export/Materials/URP/EmissiveTexture.mat +++ /dev/null @@ -1,198 +0,0 @@ -%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: EmissiveTexture - m_Shader: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122, type: 3} - m_ShaderKeywords: _ALPHATEST_ON _DISABLE_SSR_TRANSPARENT _EMISSIVE - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2475 - stringTagMap: - MotionVector: User - RenderType: TransparentCutout - disabledShaderPasses: - - MOTIONVECTORS - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 2800000, guid: f53f6abdff34c42bf8b9a9487f5fba4d, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - transmissionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaCutoffEnable: 1 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _BUILTIN_AlphaClip: 0 - - _BUILTIN_Blend: 0 - - _BUILTIN_CullMode: 2 - - _BUILTIN_DstBlend: 0 - - _BUILTIN_QueueControl: -1 - - _BUILTIN_QueueOffset: 0 - - _BUILTIN_SrcBlend: 1 - - _BUILTIN_Surface: 0 - - _BUILTIN_ZTest: 4 - - _BUILTIN_ZWrite: 1 - - _BUILTIN_ZWriteControl: 0 - - _Blend: 0 - - _BlendMode: 0 - - _BlendModePreserveSpecular: 0 - - _CastShadows: 1 - - _Cull: 2 - - _CullMode: 2 - - _CullModeForward: 2 - - _DepthOffsetEnable: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedNormalMode: 2 - - _DstBlend: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _Mode: 0 - - _OpaqueCullMode: 2 - - _QueueControl: 0 - - _QueueOffset: 0 - - _RayTracing: 0 - - _ReceiveShadows: 1 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _RenderQueueType: 1 - - _RequireSplitLighting: 0 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SupportDecals: 1 - - _Surface: 0 - - _SurfaceType: 0 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UseShadowThreshold: 0 - - _WorkflowMode: 1 - - _ZTest: 4 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 3 - - _ZTestTransparent: 4 - - _ZWrite: 1 - - _ZWriteControl: 0 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveExposureWeight: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 1 - - transmissionFactor: 0 - m_Colors: - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - baseColorFactor: {r: 0, g: 0, b: 0, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 1, g: 1, b: 1, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] ---- !u!114 &2579796636048872692 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 11 ---- !u!114 &3024038785185664378 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: 639247ca83abc874e893eb93af2b5e44, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 0 ---- !u!114 &6458052233830712772 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 9 diff --git a/Tests/Resources/Export/Materials/URP/EmissiveTexture.mat.meta b/Tests/Resources/Export/Materials/URP/EmissiveTexture.mat.meta deleted file mode 100644 index bfd9b19df..000000000 --- a/Tests/Resources/Export/Materials/URP/EmissiveTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: ee4808d20346b476292d072262dbf035 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/URP/EmissiveTextureFactor.mat b/Tests/Resources/Export/Materials/URP/EmissiveTextureFactor.mat deleted file mode 100644 index 75eca1b7a..000000000 --- a/Tests/Resources/Export/Materials/URP/EmissiveTextureFactor.mat +++ /dev/null @@ -1,198 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-8930221280936305980 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: 639247ca83abc874e893eb93af2b5e44, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 0 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: EmissiveTextureFactor - m_Shader: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122, type: 3} - m_ShaderKeywords: _ALPHATEST_ON _DISABLE_SSR_TRANSPARENT _EMISSIVE _TEXTURE_TRANSFORM - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2475 - stringTagMap: - MotionVector: User - RenderType: TransparentCutout - disabledShaderPasses: - - MOTIONVECTORS - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 2800000, guid: f53f6abdff34c42bf8b9a9487f5fba4d, type: 3} - m_Scale: {x: 2, y: 3} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - transmissionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaCutoffEnable: 1 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _BUILTIN_AlphaClip: 0 - - _BUILTIN_Blend: 0 - - _BUILTIN_CullMode: 2 - - _BUILTIN_DstBlend: 0 - - _BUILTIN_QueueControl: -1 - - _BUILTIN_QueueOffset: 0 - - _BUILTIN_SrcBlend: 1 - - _BUILTIN_Surface: 0 - - _BUILTIN_ZTest: 4 - - _BUILTIN_ZWrite: 1 - - _BUILTIN_ZWriteControl: 0 - - _Blend: 0 - - _BlendMode: 0 - - _BlendModePreserveSpecular: 0 - - _CastShadows: 1 - - _Cull: 2 - - _CullMode: 2 - - _CullModeForward: 2 - - _DepthOffsetEnable: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedNormalMode: 2 - - _DstBlend: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _Mode: 0 - - _OpaqueCullMode: 2 - - _QueueControl: 0 - - _QueueOffset: 0 - - _RayTracing: 0 - - _ReceiveShadows: 1 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _RenderQueueType: 1 - - _RequireSplitLighting: 0 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SupportDecals: 1 - - _Surface: 0 - - _SurfaceType: 0 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UseShadowThreshold: 0 - - _WorkflowMode: 1 - - _ZTest: 4 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 3 - - _ZTestTransparent: 4 - - _ZWrite: 1 - - _ZWriteControl: 0 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveExposureWeight: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 1 - - transmissionFactor: 0 - m_Colors: - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - baseColorFactor: {r: 0, g: 0, b: 0, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 1, g: 0.7353569, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] ---- !u!114 &2581781820884484437 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 9 ---- !u!114 &6741184414440526089 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 11 diff --git a/Tests/Resources/Export/Materials/URP/EmissiveTextureFactor.mat.meta b/Tests/Resources/Export/Materials/URP/EmissiveTextureFactor.mat.meta deleted file mode 100644 index c7272616b..000000000 --- a/Tests/Resources/Export/Materials/URP/EmissiveTextureFactor.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: fa253ed646ac54efb828e3cfe79932e7 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/URP/Metallic.mat b/Tests/Resources/Export/Materials/URP/Metallic.mat deleted file mode 100644 index 1cf2e8449..000000000 --- a/Tests/Resources/Export/Materials/URP/Metallic.mat +++ /dev/null @@ -1,197 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-3607148911885502513 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 11 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Metallic - m_Shader: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122, type: 3} - m_ShaderKeywords: _ALPHATEST_ON _DISABLE_SSR_TRANSPARENT - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2475 - stringTagMap: - RenderType: TransparentCutout - disabledShaderPasses: - - MOTIONVECTORS - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - transmissionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaCutoffEnable: 1 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _BUILTIN_AlphaClip: 0 - - _BUILTIN_Blend: 0 - - _BUILTIN_CullMode: 2 - - _BUILTIN_DstBlend: 0 - - _BUILTIN_QueueControl: -1 - - _BUILTIN_QueueOffset: 0 - - _BUILTIN_SrcBlend: 1 - - _BUILTIN_Surface: 0 - - _BUILTIN_ZTest: 4 - - _BUILTIN_ZWrite: 1 - - _BUILTIN_ZWriteControl: 0 - - _Blend: 0 - - _BlendMode: 0 - - _BlendModePreserveSpecular: 0 - - _CastShadows: 1 - - _Cull: 2 - - _CullMode: 2 - - _CullModeForward: 2 - - _DepthOffsetEnable: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedNormalMode: 2 - - _DstBlend: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _Mode: 0 - - _OpaqueCullMode: 2 - - _QueueControl: 0 - - _QueueOffset: 0 - - _RayTracing: 0 - - _ReceiveShadows: 1 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _RenderQueueType: 1 - - _RequireSplitLighting: 0 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SupportDecals: 1 - - _Surface: 0 - - _SurfaceType: 0 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UseShadowThreshold: 0 - - _WorkflowMode: 1 - - _ZTest: 4 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 3 - - _ZTestTransparent: 4 - - _ZWrite: 1 - - _ZWriteControl: 0 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveExposureWeight: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0.89 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 0 - - transmissionFactor: 0 - m_Colors: - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - baseColorFactor: {r: 1, g: 1, b: 1, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] ---- !u!114 &1203086932070529331 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: 639247ca83abc874e893eb93af2b5e44, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 0 ---- !u!114 &7677109854519655275 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 9 diff --git a/Tests/Resources/Export/Materials/URP/Metallic.mat.meta b/Tests/Resources/Export/Materials/URP/Metallic.mat.meta deleted file mode 100644 index f77c20500..000000000 --- a/Tests/Resources/Export/Materials/URP/Metallic.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 718bad838acdc48978498f745ddddec9 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/URP/MetallicRoughnessOcclusionTexture.mat b/Tests/Resources/Export/Materials/URP/MetallicRoughnessOcclusionTexture.mat deleted file mode 100644 index 27bdb5878..000000000 --- a/Tests/Resources/Export/Materials/URP/MetallicRoughnessOcclusionTexture.mat +++ /dev/null @@ -1,197 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-7393323642559032507 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: 639247ca83abc874e893eb93af2b5e44, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 0 ---- !u!114 &-4181352363440409036 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 11 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: MetallicRoughnessOcclusionTexture - m_Shader: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122, type: 3} - m_ShaderKeywords: _ALPHATEST_ON _DISABLE_SSR_TRANSPARENT - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2475 - stringTagMap: - RenderType: TransparentCutout - disabledShaderPasses: - - MOTIONVECTORS - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 2800000, guid: e6a8dbc8ea6f7452db96210e86372550, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 2800000, guid: e6a8dbc8ea6f7452db96210e86372550, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - transmissionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaCutoffEnable: 1 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _BUILTIN_AlphaClip: 0 - - _BUILTIN_Blend: 0 - - _BUILTIN_CullMode: 2 - - _BUILTIN_DstBlend: 0 - - _BUILTIN_QueueControl: -1 - - _BUILTIN_QueueOffset: 0 - - _BUILTIN_SrcBlend: 1 - - _BUILTIN_Surface: 0 - - _BUILTIN_ZTest: 4 - - _BUILTIN_ZWrite: 1 - - _BUILTIN_ZWriteControl: 0 - - _Blend: 0 - - _BlendMode: 0 - - _BlendModePreserveSpecular: 0 - - _CastShadows: 1 - - _Cull: 2 - - _CullMode: 2 - - _CullModeForward: 2 - - _DepthOffsetEnable: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedNormalMode: 2 - - _DstBlend: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _Mode: 0 - - _OpaqueCullMode: 2 - - _QueueControl: 0 - - _QueueOffset: 0 - - _RayTracing: 0 - - _ReceiveShadows: 1 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _RenderQueueType: 1 - - _RequireSplitLighting: 0 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SupportDecals: 1 - - _Surface: 0 - - _SurfaceType: 0 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UseShadowThreshold: 0 - - _WorkflowMode: 1 - - _ZTest: 4 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 3 - - _ZTestTransparent: 4 - - _ZWrite: 1 - - _ZWriteControl: 0 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveExposureWeight: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 1 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 0.8 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 1 - - transmissionFactor: 0 - m_Colors: - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - baseColorFactor: {r: 0.30588236, g: 0.94509804, b: 1, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] ---- !u!114 &8822211145023048442 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 9 diff --git a/Tests/Resources/Export/Materials/URP/MetallicRoughnessOcclusionTexture.mat.meta b/Tests/Resources/Export/Materials/URP/MetallicRoughnessOcclusionTexture.mat.meta deleted file mode 100644 index ce039db03..000000000 --- a/Tests/Resources/Export/Materials/URP/MetallicRoughnessOcclusionTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 84cdba12dca5147ff90e88fb79a084e0 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/URP/MetallicRoughnessTexture.mat b/Tests/Resources/Export/Materials/URP/MetallicRoughnessTexture.mat deleted file mode 100644 index 22fd1639e..000000000 --- a/Tests/Resources/Export/Materials/URP/MetallicRoughnessTexture.mat +++ /dev/null @@ -1,197 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-5749603472449940425 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 9 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: MetallicRoughnessTexture - m_Shader: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122, type: 3} - m_ShaderKeywords: _ALPHATEST_ON _DISABLE_SSR_TRANSPARENT - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2475 - stringTagMap: - RenderType: TransparentCutout - disabledShaderPasses: - - MOTIONVECTORS - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 2800000, guid: e6a8dbc8ea6f7452db96210e86372550, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - transmissionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaCutoffEnable: 1 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _BUILTIN_AlphaClip: 0 - - _BUILTIN_Blend: 0 - - _BUILTIN_CullMode: 2 - - _BUILTIN_DstBlend: 0 - - _BUILTIN_QueueControl: -1 - - _BUILTIN_QueueOffset: 0 - - _BUILTIN_SrcBlend: 1 - - _BUILTIN_Surface: 0 - - _BUILTIN_ZTest: 4 - - _BUILTIN_ZWrite: 1 - - _BUILTIN_ZWriteControl: 0 - - _Blend: 0 - - _BlendMode: 0 - - _BlendModePreserveSpecular: 0 - - _CastShadows: 1 - - _Cull: 2 - - _CullMode: 2 - - _CullModeForward: 2 - - _DepthOffsetEnable: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedNormalMode: 2 - - _DstBlend: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _Mode: 0 - - _OpaqueCullMode: 2 - - _QueueControl: 0 - - _QueueOffset: 0 - - _RayTracing: 0 - - _ReceiveShadows: 1 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _RenderQueueType: 1 - - _RequireSplitLighting: 0 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SupportDecals: 1 - - _Surface: 0 - - _SurfaceType: 0 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UseShadowThreshold: 0 - - _WorkflowMode: 1 - - _ZTest: 4 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 3 - - _ZTestTransparent: 4 - - _ZWrite: 1 - - _ZWriteControl: 0 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveExposureWeight: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 1 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 1 - - transmissionFactor: 0 - m_Colors: - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - baseColorFactor: {r: 0.30588236, g: 1, b: 0.3882353, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] ---- !u!114 &5792399793874184331 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: 639247ca83abc874e893eb93af2b5e44, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 0 ---- !u!114 &6252396589539094185 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 11 diff --git a/Tests/Resources/Export/Materials/URP/MetallicRoughnessTexture.mat.meta b/Tests/Resources/Export/Materials/URP/MetallicRoughnessTexture.mat.meta deleted file mode 100644 index 4bf743d0b..000000000 --- a/Tests/Resources/Export/Materials/URP/MetallicRoughnessTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: b9e8742b2fe80447d9c88ad48254b74a -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/URP/MetallicTexture.mat b/Tests/Resources/Export/Materials/URP/MetallicTexture.mat deleted file mode 100644 index 67eba7fc2..000000000 --- a/Tests/Resources/Export/Materials/URP/MetallicTexture.mat +++ /dev/null @@ -1,197 +0,0 @@ -%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: MetallicTexture - m_Shader: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122, type: 3} - m_ShaderKeywords: _ALPHATEST_ON _DISABLE_SSR_TRANSPARENT _TEXTURE_TRANSFORM - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2475 - stringTagMap: - RenderType: TransparentCutout - disabledShaderPasses: - - MOTIONVECTORS - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 2800000, guid: 8da4e4c98bfa44b25a9faa40105892f1, type: 3} - m_Scale: {x: 2, y: 2} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - transmissionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaCutoffEnable: 1 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _BUILTIN_AlphaClip: 0 - - _BUILTIN_Blend: 0 - - _BUILTIN_CullMode: 2 - - _BUILTIN_DstBlend: 0 - - _BUILTIN_QueueControl: -1 - - _BUILTIN_QueueOffset: 0 - - _BUILTIN_SrcBlend: 1 - - _BUILTIN_Surface: 0 - - _BUILTIN_ZTest: 4 - - _BUILTIN_ZWrite: 1 - - _BUILTIN_ZWriteControl: 0 - - _Blend: 0 - - _BlendMode: 0 - - _BlendModePreserveSpecular: 0 - - _CastShadows: 1 - - _Cull: 2 - - _CullMode: 2 - - _CullModeForward: 2 - - _DepthOffsetEnable: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedNormalMode: 2 - - _DstBlend: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _Mode: 0 - - _OpaqueCullMode: 2 - - _QueueControl: 0 - - _QueueOffset: 0 - - _RayTracing: 0 - - _ReceiveShadows: 1 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _RenderQueueType: 1 - - _RequireSplitLighting: 0 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SupportDecals: 1 - - _Surface: 0 - - _SurfaceType: 0 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UseShadowThreshold: 0 - - _WorkflowMode: 1 - - _ZTest: 4 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 3 - - _ZTestTransparent: 4 - - _ZWrite: 1 - - _ZWriteControl: 0 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveExposureWeight: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 1 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 1 - - transmissionFactor: 0 - m_Colors: - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - baseColorFactor: {r: 0.30588236, g: 1, b: 0.3882353, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] ---- !u!114 &6329480415554470436 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 9 ---- !u!114 &6688152443506402959 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: 639247ca83abc874e893eb93af2b5e44, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 0 ---- !u!114 &7887590303826644738 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 11 diff --git a/Tests/Resources/Export/Materials/URP/MetallicTexture.mat.meta b/Tests/Resources/Export/Materials/URP/MetallicTexture.mat.meta deleted file mode 100644 index a61a160cb..000000000 --- a/Tests/Resources/Export/Materials/URP/MetallicTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 50af7dbbd08744c08a4020159f74ff65 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/URP/NormalTexture.mat b/Tests/Resources/Export/Materials/URP/NormalTexture.mat deleted file mode 100644 index c47e68678..000000000 --- a/Tests/Resources/Export/Materials/URP/NormalTexture.mat +++ /dev/null @@ -1,198 +0,0 @@ -%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: NormalTexture - m_Shader: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122, type: 3} - m_ShaderKeywords: _ALPHATEST_ON _DISABLE_SSR_TRANSPARENT _TEXTURE_TRANSFORM - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2475 - stringTagMap: - MotionVector: User - RenderType: TransparentCutout - disabledShaderPasses: - - MOTIONVECTORS - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 2800000, guid: e5fa3fd4c4ccd4b5c972e3746a01539d, type: 3} - m_Scale: {x: 1.5, y: 1.2} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - transmissionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaCutoffEnable: 1 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _BUILTIN_AlphaClip: 0 - - _BUILTIN_Blend: 0 - - _BUILTIN_CullMode: 2 - - _BUILTIN_DstBlend: 0 - - _BUILTIN_QueueControl: -1 - - _BUILTIN_QueueOffset: 0 - - _BUILTIN_SrcBlend: 1 - - _BUILTIN_Surface: 0 - - _BUILTIN_ZTest: 4 - - _BUILTIN_ZWrite: 1 - - _BUILTIN_ZWriteControl: 0 - - _Blend: 0 - - _BlendMode: 0 - - _BlendModePreserveSpecular: 0 - - _CastShadows: 1 - - _Cull: 2 - - _CullMode: 2 - - _CullModeForward: 2 - - _DepthOffsetEnable: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedNormalMode: 2 - - _DstBlend: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _Mode: 0 - - _OpaqueCullMode: 2 - - _QueueControl: 0 - - _QueueOffset: 0 - - _RayTracing: 0 - - _ReceiveShadows: 1 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _RenderQueueType: 1 - - _RequireSplitLighting: 0 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SupportDecals: 1 - - _Surface: 0 - - _SurfaceType: 0 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UseShadowThreshold: 0 - - _WorkflowMode: 1 - - _ZTest: 4 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 3 - - _ZTestTransparent: 4 - - _ZWrite: 1 - - _ZWriteControl: 0 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveExposureWeight: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1.1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 0.5 - - transmissionFactor: 0 - m_Colors: - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - baseColorFactor: {r: 1, g: 1, b: 1, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] ---- !u!114 &1138547567241307365 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: 639247ca83abc874e893eb93af2b5e44, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 0 ---- !u!114 &3626248866102231885 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 9 ---- !u!114 &5196027134451525230 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 11 diff --git a/Tests/Resources/Export/Materials/URP/NormalTexture.mat.meta b/Tests/Resources/Export/Materials/URP/NormalTexture.mat.meta deleted file mode 100644 index 382d1b0f4..000000000 --- a/Tests/Resources/Export/Materials/URP/NormalTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 87e1e49d43e9742d29e7b6e9fa5214c6 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/URP/NotGltf.mat b/Tests/Resources/Export/Materials/URP/NotGltf.mat deleted file mode 100644 index 7e49eb731..000000000 --- a/Tests/Resources/Export/Materials/URP/NotGltf.mat +++ /dev/null @@ -1,209 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-3162871190671430744 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 9 ---- !u!114 &-2485062674677238067 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: 639247ca83abc874e893eb93af2b5e44, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 0 ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: NotGltf - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: [] - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: - - MOTIONVECTORS - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - baseColorTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - transmissionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaToMask: 0 - - _BUILTIN_AlphaClip: 0 - - _BUILTIN_Blend: 0 - - _BUILTIN_CullMode: 2 - - _BUILTIN_DstBlend: 0 - - _BUILTIN_QueueControl: -1 - - _BUILTIN_QueueOffset: 0 - - _BUILTIN_SrcBlend: 1 - - _BUILTIN_Surface: 0 - - _BUILTIN_ZTest: 4 - - _BUILTIN_ZWrite: 1 - - _BUILTIN_ZWriteControl: 0 - - _Blend: 0 - - _BlendModePreserveSpecular: 0 - - _BumpScale: 1 - - _CastShadows: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _DstBlendAlpha: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueControl: 0 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0.5 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _SrcBlendAlpha: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZTest: 4 - - _ZWrite: 1 - - _ZWriteControl: 0 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveExposureWeight: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 1 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 1 - - transmissionFactor: 0 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - - baseColorFactor: {r: 1, g: 1, b: 1, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] - m_AllowLocking: 1 diff --git a/Tests/Resources/Export/Materials/URP/NotGltf.mat.meta b/Tests/Resources/Export/Materials/URP/NotGltf.mat.meta deleted file mode 100644 index 3419c6610..000000000 --- a/Tests/Resources/Export/Materials/URP/NotGltf.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 95732382e073f4812b50cc3384b97646 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/URP/OcclusionTexture.mat b/Tests/Resources/Export/Materials/URP/OcclusionTexture.mat deleted file mode 100644 index c1c2381c7..000000000 --- a/Tests/Resources/Export/Materials/URP/OcclusionTexture.mat +++ /dev/null @@ -1,197 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-6563399278336437715 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 9 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: OcclusionTexture - m_Shader: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122, type: 3} - m_ShaderKeywords: _ALPHATEST_ON _DISABLE_SSR_TRANSPARENT _TEXTURE_TRANSFORM - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2475 - stringTagMap: - RenderType: TransparentCutout - disabledShaderPasses: - - MOTIONVECTORS - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 2800000, guid: a0989fa75442a4f299d3e16bd238de3b, type: 3} - m_Scale: {x: 2, y: 2} - m_Offset: {x: 0, y: 0} - - transmissionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaCutoffEnable: 1 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _BUILTIN_AlphaClip: 0 - - _BUILTIN_Blend: 0 - - _BUILTIN_CullMode: 2 - - _BUILTIN_DstBlend: 0 - - _BUILTIN_QueueControl: -1 - - _BUILTIN_QueueOffset: 0 - - _BUILTIN_SrcBlend: 1 - - _BUILTIN_Surface: 0 - - _BUILTIN_ZTest: 4 - - _BUILTIN_ZWrite: 1 - - _BUILTIN_ZWriteControl: 0 - - _Blend: 0 - - _BlendMode: 0 - - _BlendModePreserveSpecular: 0 - - _CastShadows: 1 - - _Cull: 2 - - _CullMode: 2 - - _CullModeForward: 2 - - _DepthOffsetEnable: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedNormalMode: 2 - - _DstBlend: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _Mode: 0 - - _OpaqueCullMode: 2 - - _QueueControl: 0 - - _QueueOffset: 0 - - _RayTracing: 0 - - _ReceiveShadows: 1 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _RenderQueueType: 1 - - _RequireSplitLighting: 0 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SupportDecals: 1 - - _Surface: 0 - - _SurfaceType: 0 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UseShadowThreshold: 0 - - _WorkflowMode: 1 - - _ZTest: 4 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 3 - - _ZTestTransparent: 4 - - _ZWrite: 1 - - _ZWriteControl: 0 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveExposureWeight: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 0.8 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 0.7 - - transmissionFactor: 0 - m_Colors: - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - baseColorFactor: {r: 1, g: 0.85672647, b: 0.58965355, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] ---- !u!114 &4661383101410321536 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: 639247ca83abc874e893eb93af2b5e44, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 0 ---- !u!114 &6970435888722911132 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 11 diff --git a/Tests/Resources/Export/Materials/URP/OcclusionTexture.mat.meta b/Tests/Resources/Export/Materials/URP/OcclusionTexture.mat.meta deleted file mode 100644 index 6c4bb6e22..000000000 --- a/Tests/Resources/Export/Materials/URP/OcclusionTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 38c54f3f649644401a9d0cc94f03e000 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/URP/Omni.mat b/Tests/Resources/Export/Materials/URP/Omni.mat deleted file mode 100644 index bcf184dd1..000000000 --- a/Tests/Resources/Export/Materials/URP/Omni.mat +++ /dev/null @@ -1,199 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-7342136019923642577 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 11 ---- !u!114 &-937208297705619245 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 9 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Omni - m_Shader: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122, type: 3} - m_ShaderKeywords: _ALPHATEST_ON _DISABLE_SSR_TRANSPARENT _TEXTURE_TRANSFORM _EMISSIVE - _OCCLUSION - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2475 - stringTagMap: - MotionVector: User - RenderType: TransparentCutout - disabledShaderPasses: - - MOTIONVECTORS - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 2800000, guid: 767b013dd53264d2a858edf8651b320d, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0.4, y: 0.6} - - emissiveTexture: - m_Texture: {fileID: 2800000, guid: f53f6abdff34c42bf8b9a9487f5fba4d, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0.1, y: 0.2} - - metallicRoughnessTexture: - m_Texture: {fileID: 2800000, guid: e6a8dbc8ea6f7452db96210e86372550, type: 3} - m_Scale: {x: 1.11, y: 1.21} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 2800000, guid: e5fa3fd4c4ccd4b5c972e3746a01539d, type: 3} - m_Scale: {x: 1.5, y: 1.2} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 2800000, guid: e6a8dbc8ea6f7452db96210e86372550, type: 3} - m_Scale: {x: 1.1, y: 1.2} - m_Offset: {x: 0, y: 0} - - transmissionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaCutoffEnable: 1 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _BUILTIN_AlphaClip: 0 - - _BUILTIN_Blend: 0 - - _BUILTIN_CullMode: 2 - - _BUILTIN_DstBlend: 0 - - _BUILTIN_QueueControl: -1 - - _BUILTIN_QueueOffset: 0 - - _BUILTIN_SrcBlend: 1 - - _BUILTIN_Surface: 0 - - _BUILTIN_ZTest: 4 - - _BUILTIN_ZWrite: 1 - - _BUILTIN_ZWriteControl: 0 - - _Blend: 0 - - _BlendMode: 0 - - _BlendModePreserveSpecular: 0 - - _CastShadows: 1 - - _Cull: 2 - - _CullMode: 2 - - _CullModeForward: 2 - - _DepthOffsetEnable: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedNormalMode: 2 - - _DstBlend: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _Mode: 0 - - _OpaqueCullMode: 2 - - _QueueControl: 0 - - _QueueOffset: 0 - - _RayTracing: 0 - - _ReceiveShadows: 1 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _RenderQueueType: 1 - - _RequireSplitLighting: 0 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SupportDecals: 1 - - _Surface: 0 - - _SurfaceType: 0 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UseShadowThreshold: 0 - - _WorkflowMode: 1 - - _ZTest: 4 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 3 - - _ZTestTransparent: 4 - - _ZWrite: 1 - - _ZWriteControl: 0 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveExposureWeight: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0.95 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 0.42 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 0.58 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 0.93 - - transmissionFactor: 0 - m_Colors: - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - baseColorFactor: {r: 0.9, g: 0.8, b: 0.7, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 1, g: 1, b: 1, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] ---- !u!114 &4475698861775716853 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: 639247ca83abc874e893eb93af2b5e44, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 0 diff --git a/Tests/Resources/Export/Materials/URP/Omni.mat.meta b/Tests/Resources/Export/Materials/URP/Omni.mat.meta deleted file mode 100644 index eaac91ffe..000000000 --- a/Tests/Resources/Export/Materials/URP/Omni.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: a2fd03763cca04598a20777394faf252 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Materials/URP/RoughnessTexture.mat b/Tests/Resources/Export/Materials/URP/RoughnessTexture.mat deleted file mode 100644 index 8265ea500..000000000 --- a/Tests/Resources/Export/Materials/URP/RoughnessTexture.mat +++ /dev/null @@ -1,197 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-7184335634477803850 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 9 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: RoughnessTexture - m_Shader: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122, type: 3} - m_ShaderKeywords: _ALPHATEST_ON _DISABLE_SSR_TRANSPARENT - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2475 - stringTagMap: - RenderType: TransparentCutout - disabledShaderPasses: - - MOTIONVECTORS - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - baseColorTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - emissiveTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - metallicRoughnessTexture: - m_Texture: {fileID: 2800000, guid: 236ba889a0d5e48bf977cee24ffcb55f, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - normalTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - occlusionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - transmissionTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlphaClip: 0 - - _AlphaCutoffEnable: 1 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _BUILTIN_AlphaClip: 0 - - _BUILTIN_Blend: 0 - - _BUILTIN_CullMode: 2 - - _BUILTIN_DstBlend: 0 - - _BUILTIN_QueueControl: -1 - - _BUILTIN_QueueOffset: 0 - - _BUILTIN_SrcBlend: 1 - - _BUILTIN_Surface: 0 - - _BUILTIN_ZTest: 4 - - _BUILTIN_ZWrite: 1 - - _BUILTIN_ZWriteControl: 0 - - _Blend: 0 - - _BlendMode: 0 - - _BlendModePreserveSpecular: 0 - - _CastShadows: 1 - - _Cull: 2 - - _CullMode: 2 - - _CullModeForward: 2 - - _DepthOffsetEnable: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedNormalMode: 2 - - _DstBlend: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _Mode: 0 - - _OpaqueCullMode: 2 - - _QueueControl: 0 - - _QueueOffset: 0 - - _RayTracing: 0 - - _ReceiveShadows: 1 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _RenderQueueType: 1 - - _RequireSplitLighting: 0 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SupportDecals: 1 - - _Surface: 0 - - _SurfaceType: 0 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UseShadowThreshold: 0 - - _WorkflowMode: 1 - - _ZTest: 4 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 3 - - _ZTestTransparent: 4 - - _ZWrite: 1 - - _ZWriteControl: 0 - - alphaCutoff: 0.5 - - baseColorTexture_texCoord: 0 - - emissiveExposureWeight: 0 - - emissiveTexture_texCoord: 0 - - metallicFactor: 0 - - metallicRoughnessTexture_texCoord: 0 - - normalTexture_scale: 1 - - normalTexture_texCoord: 0 - - occlusionTexture_strength: 1 - - occlusionTexture_texCoord: 0 - - roughnessFactor: 0.89 - - transmissionFactor: 0 - m_Colors: - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - baseColorFactor: {r: 0.30588236, g: 1, b: 0.3882353, a: 1} - - baseColorTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - emissiveFactor: {r: 0, g: 0, b: 0, a: 1} - - emissiveTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - metallicRoughnessTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - normalTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - - occlusionTexture_Rotation: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] ---- !u!114 &794918956778256769 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 11 ---- !u!114 &2774689119717281520 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: 639247ca83abc874e893eb93af2b5e44, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 0 diff --git a/Tests/Resources/Export/Materials/URP/RoughnessTexture.mat.meta b/Tests/Resources/Export/Materials/URP/RoughnessTexture.mat.meta deleted file mode 100644 index caa629c69..000000000 --- a/Tests/Resources/Export/Materials/URP/RoughnessTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 7831ec4c2227d401c80e0f76a16b61c1 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Models.meta b/Tests/Resources/Export/Models.meta deleted file mode 100644 index 6c08611c8..000000000 --- a/Tests/Resources/Export/Models.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 3b55a6db9d49d4a9dabe4716c9229241 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/Export/Models/NonReadableTriangle.fbx b/Tests/Resources/Export/Models/NonReadableTriangle.fbx deleted file mode 100644 index 9f67d00f901895246bb70f0758ff476505eb81ba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12076 zcmcgyeQX@X6<N3HT2yKkg$6-IC~8XzRr-4~Z|~;p z+r6_bb>#K#&YSm}c^~uM%-rrZr_!ct#yZ=skF{C0=}yIB#%kllg@*BLy-_GDLGKb~ zTDZF>ePMf+W8VZ~4X#>T%M0XT;Sw?N;hBapskLZCi-1PpKhkK+cH1d;D(8c5a4IJf zAQ|@%G?x|at}rFl%8I0KW^=y-CFr}p0E;e0ZMDABh*wkfu?X-iWa_p6#VZ)w{4 zB>E%JwYU~1Q^FPrd(=sui`P9FXT;3Vt5H*=kmy66a63%jya=2afI%`YBIPG_>Ncj5 zi3@5@=kV3tu6 zH#HxmzXE9y*w-i|vR0pKjbY|yr0F1H&dJ+pH4IRVooG%XbmKzbt8oiB?rP2DGFD2? ztzmc@^sGySmWIMviKoCHI|*L0JjBR-paS`P+{z*MnwYiaalfqL&hYcUG59V8enAL0 zPyP^ml3UJ}HayWwk3yr#Q5Y(GR}3Pu+`Ok}Q0g$KDC#gt1C4KP#^2^0+vBl#{A=>B zDISj>WN5bS3LU!B%7_T@$(=MWc@apE+PDlC^tl+fZqxIV=7dOx7eyoP%q}hgdmHD4E7Q*HdEmBnoYBLEaQ(h`@-{^2VKjw$1ZJD7Vj5TGhbPl1P5()4MR`>QZRro~_vt3#q@|$zVWmOG7>l>}g9Vn`0FCB&Og8SXOBAu^4La#@d)7D>t_ z!p>)lc`Sj}##Tr|!@Uw0SZD;qlFXSl7T2yXW!WpM2thvJE*B7VH+%-zf@c7bVu}Dx zE|mYNw@(~}osH+2Uo&=l-t(PorwbJfARSjW_SL%p6jJKQfw?RW7Fk{m1f{q@qSv-# z5#!4+aSGM6bh`*wL(sVU?ALaZHyctGxpXc*y+In|QWB^RfIu3%92e^)i48+`IvP!cJ;KQf-<|rrJkBZPOJXJeUCxXCsX>v=Wyk|*=68-v z_6TqMBTB4XN(_Dwaf;ft;)21+j+H~h!w*sUprvEh!@CUEq2LI)t<9Olc2mylVa#~P zy|P124)r2kh?>hX`yq~z6U}&A1>k#rl5N%F?;PFm_!dR>tzDWaJrf z9Nr9}jUngSOvB33W$#FC7-0p?({e}59Dn7~%10p35{wi^zWi{oAHOdtz zI_X|Sl2Rzme4X8lDzxD72=hg{5Y55+(J&|_E_4*Y1j@0LmUGwT;eW18rzlv{xH(7q z<04RI1aksh1q+ac_u_&*Xc7%LzDYB)Z*o~{Rj4lKwrFSkf`_EpM&n(; zv|fhQzzn17!1JHoT>vI&wTY$!TlV!~vff*Xb6*(e3zax;2;=-$G^aTkI@&nqS%jSC zWawybsl*vN+Q*nv3x2_b>T_|>C#5Vi!{2AVZLkYwIPJp&J}lW%qSJA^t*qtu*_pC| z7wwH^Y=}wTYjAPYE@1f9=%_6`@A}G%E*$Ar0kp3gpqHuux}h4N(+m_>qS3UV?NYa} zD|4^eHH19^vG5w7mdE|BDCmY(5%Wm9hZ$9iMg5NFFBJATV9APC;F=NZqXW@3IGURw zWiXZnM4>|wsPhj&$AC&gu2(`*9M{GgI-^fVvV~6PZJ18sy@k%@Yy?|G*!gKBTj(I) ziDU~Mo

sHf4nNwcoku)lIZ!0FjWav6PqoRGSHla z>Z%A+l~DIrgsDoXw-{!-QCQ+&Jx1qI=~nuUq$)eD`l`}Q7)VtDeY*lkRpLAV5X!Th zf@yc&?Kro#`oVFNT%*oB6MUVyI0cit4&~G`G?MRg9x`qel&Rz7xO02C?NbeCt@uHT zqQupzIdYECE5@*|oe(%+#)kwxj%DygKt7jqa4Jl2WzKZ&D@DO(B{I?jSprsboX`Ow5;4XiD5UODeQAfp);iJ zR3@e;t8#V3nv~k&C|~YO|Hq8Yy9ipd5_Ta|&8nyh^Y2(lk9Q}6R6n~#i_6>Pb8T`^})C6?tEp*1)bQ!f$rR0DvsFe3Uv?6Dq zX>(S95qy7i7b>6Q219sm0KvC#jGkVMH!9>GrR8Lc_C9^bkq=)~@6&vjZ&c6iiuIpx zPuLq6EBl?y)R<#ahhkDrH;Yt3g?x_+4g0^CX&2(x33?{J+TH0f;gxNA2FOEei_)&_ zHmC6MS4PmMFTIYN#dk$$V(eo$(n#U-U*N^j2#e%z7}We{TuTea^Lor&4(ERKeG>5G z2VV3A5>3OlsS=U?%xpM2G|n&lJ~5M#)>~5eL8rrVaaw*J3jkFa^=i;wI#3KYjOEJo z>C+##bTK0-X(=<7S8F*4<88$Iz)e=@ij%(%NWC4>bX%gg!%U#LsPsmvm5lE(X^zTU z&7+y4@*ZZkEV{3g{d?)anf9ZuOxZv2*~jdtC62xS2y}|}v3qtL`?}(j^yy!!`T*+a z8^1bKp#O&ZCmS>>#Zew9@mBIuDx~a^axrpeV1Z@21%`&D`j@XS(o58T1rtiuKQs(q z9bwWO)&CH)%~AcwneAH0b;i(ex{l?eb1swv=Uo0YtNKm4AGr3Nzw7U)n&$VDEh||Y zq{@0|pn5$%h@cwiu~zCa0Su#0Q*S|iX%LGl8j?Qr7HXOu){qw=9=0Hj4ro+YVn zWTRRlb)gZG`>a*VtO~RX7DvCYUAxveFno0OD(MKLb}G~*xXo!9vu_t;Y7buklfoh| zUFWgr1hcUPiXapOnqYxd;ec#boVgJY!Tf0K!ABfcagt1Ew8fG(Xx^&6Za&B)ieL5g z<0sN!d(F?emJ(ondmbMR|{O5%y7r%Mzte#!p;qJgkQ diff --git a/Tests/Resources/Export/Models/NonReadableTriangle.fbx.meta b/Tests/Resources/Export/Models/NonReadableTriangle.fbx.meta deleted file mode 100644 index 50d75d806..000000000 --- a/Tests/Resources/Export/Models/NonReadableTriangle.fbx.meta +++ /dev/null @@ -1,107 +0,0 @@ -fileFormatVersion: 2 -guid: 152b42780cca74a6f9e9ce9121cc164e -ModelImporter: - serializedVersion: 21300 - internalIDToNameTable: [] - externalObjects: {} - materials: - materialImportMode: 2 - materialName: 0 - materialSearch: 1 - materialLocation: 1 - animations: - legacyGenerateAnimations: 4 - bakeSimulation: 0 - resampleCurves: 1 - optimizeGameObjects: 0 - removeConstantScaleCurves: 1 - motionNodeName: - rigImportErrors: - rigImportWarnings: - animationImportErrors: - animationImportWarnings: - animationRetargetingWarnings: - animationDoRetargetingWarnings: 0 - importAnimatedCustomProperties: 0 - importConstraints: 0 - animationCompression: 1 - animationRotationError: 0.5 - animationPositionError: 0.5 - animationScaleError: 0.5 - 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 - nodeNameCollisionStrategy: 1 - fileIdsGeneration: 2 - swapUVChannels: 0 - generateSecondaryUV: 0 - useFileUnits: 1 - keepQuads: 0 - weldVertices: 1 - bakeAxisConversion: 0 - preserveHierarchy: 0 - skinWeightsMode: 0 - maxBonesPerVertex: 4 - minBoneWeight: 0.001 - optimizeBones: 1 - meshOptimizationFlags: -1 - indexFormat: 0 - secondaryUVAngleDistortion: 8 - secondaryUVAreaDistortion: 15.000001 - secondaryUVHardAngle: 88 - secondaryUVMarginMethod: 1 - secondaryUVMinLightmapResolution: 40 - secondaryUVMinObjectScale: 1 - secondaryUVPackMargin: 4 - useFileScale: 1 - strictVertexDataChecks: 0 - tangentSpace: - normalSmoothAngle: 60 - normalImportMode: 0 - tangentImportMode: 3 - normalCalculationMode: 4 - legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0 - blendShapeNormalImportMode: 1 - normalSmoothingSource: 0 - referencedClips: [] - importAnimation: 1 - humanDescription: - serializedVersion: 3 - human: [] - skeleton: [] - armTwist: 0.5 - foreArmTwist: 0.5 - upperLegTwist: 0.5 - legTwist: 0.5 - armStretch: 0.05 - legStretch: 0.05 - feetSpacing: 0 - globalScale: 1 - rootMotionBoneName: - hasTranslationDoF: 0 - hasExtraRoot: 0 - skeletonHasParents: 1 - lastHumanDescriptionAvatarSource: {instanceID: 0} - autoGenerateAvatarMappingIfUnspecified: 1 - animationType: 2 - humanoidOversampling: 1 - avatarSetup: 0 - addHumanoidExtraRootOnlyWhenUsingAvatar: 1 - remapMaterialsIfMaterialImportModeIsNone: 0 - additionalBone: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets.meta b/Tests/Resources/ExportTargets.meta deleted file mode 100644 index fd604cb32..000000000 --- a/Tests/Resources/ExportTargets.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 66208b8e4726c49da933f91dadbded2c -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/BaseColorSmoothnessMetalOcclusionTexture.gltf.txt b/Tests/Resources/ExportTargets/BaseColorSmoothnessMetalOcclusionTexture.gltf.txt deleted file mode 100644 index 86fc89f7e..000000000 --- a/Tests/Resources/ExportTargets/BaseColorSmoothnessMetalOcclusionTexture.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"Sphere","mesh":1},{"name":"sphere","children":[1],"rotation":[0,0.7071068,0,0.7071068]},{"name":"BaseColorSmoothnessMetalOcclusionTexture","children":[0,2],"translation":[-31,0,0]}],"buffers":[{"uri":"BaseColorSmoothnessMetalOcclusionTexture.bin","byteLength":24728}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962},{"buffer":0,"byteLength":9216,"byteOffset":152,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9368,"byteStride":24,"target":34962},{"buffer":0,"byteLength":3840,"byteOffset":20888,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":5,"componentType":5126,"count":480,"type":"VEC2"},{"bufferView":3,"componentType":5125,"count":2304,"type":"SCALAR"}],"images":[{"name":"ColorGridAlpha.jpg","uri":"ColorGridAlpha.jpg","mimeType":"image/jpeg"},{"name":"metallic.jpg","uri":"metallic.jpg","mimeType":"image/jpeg"}],"materials":[{"name":"BaseColorSmoothnessMetalOcclusionTexture","pbrMetallicRoughness":{"baseColorTexture":{"index":0},"metallicRoughnessTexture":{"index":1}},"occlusionTexture":{"index":1}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]}],"samplers":[{"magFilter":9728,"minFilter":9728}],"scene":0,"scenes":[{"name":"BaseColorSmoothnessMetalOcclusionTexture","nodes":[3]}],"textures":[{"source":0},{"source":1,"sampler":0}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/BaseColorSmoothnessMetalOcclusionTexture.gltf.txt.meta b/Tests/Resources/ExportTargets/BaseColorSmoothnessMetalOcclusionTexture.gltf.txt.meta deleted file mode 100644 index b40556848..000000000 --- a/Tests/Resources/ExportTargets/BaseColorSmoothnessMetalOcclusionTexture.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 63c5821d929c9423db8c8167223837d7 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/BaseColorSmoothnessMetalTexture.gltf.txt b/Tests/Resources/ExportTargets/BaseColorSmoothnessMetalTexture.gltf.txt deleted file mode 100644 index c12733868..000000000 --- a/Tests/Resources/ExportTargets/BaseColorSmoothnessMetalTexture.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"Sphere","mesh":1},{"name":"sphere","children":[1],"rotation":[0,0.7071068,0,0.7071068]},{"name":"BaseColorSmoothnessMetalTexture","children":[0,2],"translation":[-30,0,0]}],"buffers":[{"uri":"BaseColorSmoothnessMetalTexture.bin","byteLength":24728}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962},{"buffer":0,"byteLength":9216,"byteOffset":152,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9368,"byteStride":24,"target":34962},{"buffer":0,"byteLength":3840,"byteOffset":20888,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":5,"componentType":5126,"count":480,"type":"VEC2"},{"bufferView":3,"componentType":5125,"count":2304,"type":"SCALAR"}],"images":[{"name":"ColorGridAlpha.jpg","uri":"ColorGridAlpha.jpg","mimeType":"image/jpeg"},{"name":"metallic.jpg","uri":"metallic.jpg","mimeType":"image/jpeg"}],"materials":[{"name":"BaseColorSmoothnessMetalTexture","pbrMetallicRoughness":{"baseColorTexture":{"index":0},"metallicRoughnessTexture":{"index":1}}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]}],"samplers":[{"magFilter":9728,"minFilter":9728}],"scene":0,"scenes":[{"name":"BaseColorSmoothnessMetalTexture","nodes":[3]}],"textures":[{"source":0},{"source":1,"sampler":0}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/BaseColorSmoothnessMetalTexture.gltf.txt.meta b/Tests/Resources/ExportTargets/BaseColorSmoothnessMetalTexture.gltf.txt.meta deleted file mode 100644 index 44923136a..000000000 --- a/Tests/Resources/ExportTargets/BaseColorSmoothnessMetalTexture.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 262dcefd3e1284cce8cf1d4352551224 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/BaseColorSmoothnessTexture.gltf.txt b/Tests/Resources/ExportTargets/BaseColorSmoothnessTexture.gltf.txt deleted file mode 100644 index 69b019734..000000000 --- a/Tests/Resources/ExportTargets/BaseColorSmoothnessTexture.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"Sphere","mesh":1},{"name":"sphere","children":[1],"rotation":[0,0.7071068,0,0.7071068]},{"name":"BaseColorSmoothnessTexture","children":[0,2],"translation":[-29,0,0]}],"buffers":[{"uri":"BaseColorSmoothnessTexture.bin","byteLength":24728}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962},{"buffer":0,"byteLength":9216,"byteOffset":152,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9368,"byteStride":24,"target":34962},{"buffer":0,"byteLength":3840,"byteOffset":20888,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":5,"componentType":5126,"count":480,"type":"VEC2"},{"bufferView":3,"componentType":5125,"count":2304,"type":"SCALAR"}],"images":[{"name":"ColorGridAlpha.jpg","uri":"ColorGridAlpha.jpg","mimeType":"image/jpeg"},{"name":"ColorGridAlphaORM.jpg","uri":"ColorGridAlphaORM.jpg","mimeType":"image/jpeg"}],"materials":[{"name":"BaseColorSmoothnessTexture","pbrMetallicRoughness":{"metallicFactor":0,"baseColorTexture":{"index":0},"metallicRoughnessTexture":{"index":1}}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]}],"scene":0,"scenes":[{"name":"BaseColorSmoothnessTexture","nodes":[3]}],"textures":[{"source":0},{"source":1}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/BaseColorSmoothnessTexture.gltf.txt.meta b/Tests/Resources/ExportTargets/BaseColorSmoothnessTexture.gltf.txt.meta deleted file mode 100644 index a0b4975d5..000000000 --- a/Tests/Resources/ExportTargets/BaseColorSmoothnessTexture.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 5f6f0de807fb34d43b6c9e59574dafe9 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/BaseColorTexture.gltf.txt b/Tests/Resources/ExportTargets/BaseColorTexture.gltf.txt deleted file mode 100644 index 5ef388010..000000000 --- a/Tests/Resources/ExportTargets/BaseColorTexture.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"Sphere","mesh":1},{"name":"sphere","children":[1],"rotation":[0,0.7071068,0,0.7071068]},{"name":"BaseColorTexture","children":[0,2],"translation":[-9,0,0]}],"buffers":[{"uri":"BaseColorTexture.bin","byteLength":24728}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962},{"buffer":0,"byteLength":9216,"byteOffset":152,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9368,"byteStride":24,"target":34962},{"buffer":0,"byteLength":3840,"byteOffset":20888,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":5,"componentType":5126,"count":480,"type":"VEC2"},{"bufferView":3,"componentType":5125,"count":2304,"type":"SCALAR"}],"images":[{"name":"ColorGrid.jpg","uri":"ColorGrid.jpg","mimeType":"image/jpeg"}],"materials":[{"name":"BaseColorTexture","pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":0,"baseColorTexture":{"index":0}}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]}],"scene":0,"scenes":[{"name":"BaseColorTexture","nodes":[3]}],"textures":[{"source":0}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/BaseColorTexture.gltf.txt.meta b/Tests/Resources/ExportTargets/BaseColorTexture.gltf.txt.meta deleted file mode 100644 index e6d3bc153..000000000 --- a/Tests/Resources/ExportTargets/BaseColorTexture.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 9993099b8f96b446f9e5cb5d3213e7d1 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/BaseColorTextureCutout.gltf.txt b/Tests/Resources/ExportTargets/BaseColorTextureCutout.gltf.txt deleted file mode 100644 index fd1782564..000000000 --- a/Tests/Resources/ExportTargets/BaseColorTextureCutout.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"Sphere","mesh":1},{"name":"sphere","children":[1],"rotation":[0,0.7071068,0,0.7071068]},{"name":"BaseColorTextureCutout","children":[0,2],"translation":[-10,0,0]}],"buffers":[{"uri":"BaseColorTextureCutout.bin","byteLength":24728}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962},{"buffer":0,"byteLength":9216,"byteOffset":152,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9368,"byteStride":24,"target":34962},{"buffer":0,"byteLength":3840,"byteOffset":20888,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":5,"componentType":5126,"count":480,"type":"VEC2"},{"bufferView":3,"componentType":5125,"count":2304,"type":"SCALAR"}],"images":[{"name":"ColorGridAlpha.png","uri":"ColorGridAlpha.png","mimeType":"image/png"}],"materials":[{"name":"BaseColorTextureCutout","pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":0,"baseColorTexture":{"index":0}},"alphaMode":"MASK","alphaCutoff":0.6}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]}],"scene":0,"scenes":[{"name":"BaseColorTextureCutout","nodes":[3]}],"textures":[{"source":0}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/BaseColorTextureCutout.gltf.txt.meta b/Tests/Resources/ExportTargets/BaseColorTextureCutout.gltf.txt.meta deleted file mode 100644 index 49b70c536..000000000 --- a/Tests/Resources/ExportTargets/BaseColorTextureCutout.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 6afe9035fc2b047ecb1a523e5716f621 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/BaseColorTextureFade.gltf.txt b/Tests/Resources/ExportTargets/BaseColorTextureFade.gltf.txt deleted file mode 100644 index b59254a35..000000000 --- a/Tests/Resources/ExportTargets/BaseColorTextureFade.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"Sphere","mesh":1},{"name":"sphere","children":[1],"rotation":[0,0.7071068,0,0.7071068]},{"name":"BaseColorTextureFade","children":[0,2],"translation":[-11,0,0]}],"buffers":[{"uri":"BaseColorTextureFade.bin","byteLength":24728}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962},{"buffer":0,"byteLength":9216,"byteOffset":152,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9368,"byteStride":24,"target":34962},{"buffer":0,"byteLength":3840,"byteOffset":20888,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":5,"componentType":5126,"count":480,"type":"VEC2"},{"bufferView":3,"componentType":5125,"count":2304,"type":"SCALAR"}],"images":[{"name":"ColorGridAlpha.png","uri":"ColorGridAlpha.png","mimeType":"image/png"}],"materials":[{"name":"BaseColorTextureFade","pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":0,"baseColorTexture":{"index":0}},"alphaMode":"BLEND"}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]}],"scene":0,"scenes":[{"name":"BaseColorTextureFade","nodes":[3]}],"textures":[{"source":0}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/BaseColorTextureFade.gltf.txt.meta b/Tests/Resources/ExportTargets/BaseColorTextureFade.gltf.txt.meta deleted file mode 100644 index 4caf0de4e..000000000 --- a/Tests/Resources/ExportTargets/BaseColorTextureFade.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 31f463d386c9d4fe285db42a8cad58cd -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/BaseColorTextureTransform.gltf.txt b/Tests/Resources/ExportTargets/BaseColorTextureTransform.gltf.txt deleted file mode 100644 index 666840293..000000000 --- a/Tests/Resources/ExportTargets/BaseColorTextureTransform.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"Sphere","mesh":1},{"name":"sphere","children":[1],"rotation":[0,0.7071068,0,0.7071068]},{"name":"BaseColorTextureTransform","children":[0,2],"translation":[-13,0,0]}],"extensionsRequired":["KHR_texture_transform"],"extensionsUsed":["KHR_texture_transform"],"buffers":[{"uri":"BaseColorTextureTransform.bin","byteLength":24728}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962},{"buffer":0,"byteLength":9216,"byteOffset":152,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9368,"byteStride":24,"target":34962},{"buffer":0,"byteLength":3840,"byteOffset":20888,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":5,"componentType":5126,"count":480,"type":"VEC2"},{"bufferView":3,"componentType":5125,"count":2304,"type":"SCALAR"}],"images":[{"name":"ColorGrid.jpg","uri":"ColorGrid.jpg","mimeType":"image/jpeg"}],"materials":[{"name":"BaseColorTextureTransform","pbrMetallicRoughness":{"metallicFactor":0,"baseColorTexture":{"index":0,"extensions":{"KHR_texture_transform":{"offset":[0.5,-0.5],"scale":[1.5,2]}}}}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]}],"scene":0,"scenes":[{"name":"BaseColorTextureTransform","nodes":[3]}],"textures":[{"source":0}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/BaseColorTextureTransform.gltf.txt.meta b/Tests/Resources/ExportTargets/BaseColorTextureTransform.gltf.txt.meta deleted file mode 100644 index f37373a68..000000000 --- a/Tests/Resources/ExportTargets/BaseColorTextureTransform.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: bcb0832021f0245ffbdf0d05ad1327c9 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/BaseColorTextureTransparent.gltf.txt b/Tests/Resources/ExportTargets/BaseColorTextureTransparent.gltf.txt deleted file mode 100644 index d0b982968..000000000 --- a/Tests/Resources/ExportTargets/BaseColorTextureTransparent.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"Sphere","mesh":1},{"name":"sphere","children":[1],"rotation":[0,0.7071068,0,0.7071068]},{"name":"BaseColorTextureTransparent","children":[0,2],"translation":[-12,0,0]}],"buffers":[{"uri":"BaseColorTextureTransparent.bin","byteLength":24728}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962},{"buffer":0,"byteLength":9216,"byteOffset":152,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9368,"byteStride":24,"target":34962},{"buffer":0,"byteLength":3840,"byteOffset":20888,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":5,"componentType":5126,"count":480,"type":"VEC2"},{"bufferView":3,"componentType":5125,"count":2304,"type":"SCALAR"}],"images":[{"name":"ColorGridAlpha.png","uri":"ColorGridAlpha.png","mimeType":"image/png"}],"materials":[{"name":"BaseColorTextureTransparent","pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":0,"baseColorTexture":{"index":0}},"alphaMode":"BLEND"}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]}],"scene":0,"scenes":[{"name":"BaseColorTextureTransparent","nodes":[3]}],"textures":[{"source":0}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/BaseColorTextureTransparent.gltf.txt.meta b/Tests/Resources/ExportTargets/BaseColorTextureTransparent.gltf.txt.meta deleted file mode 100644 index e7e1c1cbc..000000000 --- a/Tests/Resources/ExportTargets/BaseColorTextureTransparent.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: b5052ddffad8c4b5eb5198ff36e6806b -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/Bounds.gltf.txt b/Tests/Resources/ExportTargets/Bounds.gltf.txt deleted file mode 100644 index 6d1c80c80..000000000 --- a/Tests/Resources/ExportTargets/Bounds.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"AsymBoundsCube","mesh":0},{"name":"Bounds","children":[0],"translation":[-6,0,0]}],"buffers":[{"uri":"Bounds.bin","byteLength":720}],"bufferViews":[{"buffer":0,"byteLength":144,"target":34963},{"buffer":0,"byteLength":576,"byteOffset":144,"byteStride":24,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":24,"type":"VEC3","max":[0.099999994,0.6,0.400000036],"min":[-0.3,-0.5,-0.199999988]},{"bufferView":1,"componentType":5126,"count":24,"type":"VEC3","byteOffset":12},{"bufferView":0,"componentType":5125,"count":36,"type":"SCALAR"}],"meshes":[{"name":"AsymBoundsCube","primitives":[{"attributes":{"POSITION":0,"NORMAL":1},"indices":2}]}],"scene":0,"scenes":[{"name":"Bounds","nodes":[1]}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/Bounds.gltf.txt.meta b/Tests/Resources/ExportTargets/Bounds.gltf.txt.meta deleted file mode 100644 index efcd718c2..000000000 --- a/Tests/Resources/ExportTargets/Bounds.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: d3e569d4e5ff84c718befc3bbe28abfc -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/BoxVertexColors.gltf.txt b/Tests/Resources/ExportTargets/BoxVertexColors.gltf.txt deleted file mode 100644 index 4f06c541e..000000000 --- a/Tests/Resources/ExportTargets/BoxVertexColors.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Cube","mesh":0},{"name":"Mesh"},{"name":"Texture Group"},{"name":"RootNode","children":[0,1,2]},{"name":"BoxVertexColors","children":[3],"translation":[-35,0,0]}],"extensionsRequired":["KHR_materials_unlit"],"extensionsUsed":["KHR_materials_unlit"],"buffers":[{"uri":"BoxVertexColors.bin","byteLength":1008}],"bufferViews":[{"buffer":0,"byteLength":144,"target":34963},{"buffer":0,"byteLength":288,"byteOffset":144,"byteStride":12,"target":34962},{"buffer":0,"byteLength":384,"byteOffset":432,"byteStride":16,"target":34962},{"buffer":0,"byteLength":192,"byteOffset":816,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":24,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":2,"componentType":5126,"count":24,"type":"VEC4"},{"bufferView":3,"componentType":5126,"count":24,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":36,"type":"SCALAR"}],"materials":[{"name":"VertexColorsUnlit","pbrMetallicRoughness":{"metallicFactor":0},"extensions":{"KHR_materials_unlit":{}}}],"meshes":[{"name":"Cube","primitives":[{"attributes":{"POSITION":0,"TEXCOORD_0":2,"COLOR_0":1},"indices":3,"material":0}]}],"scene":0,"scenes":[{"name":"BoxVertexColors","nodes":[4]}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/BoxVertexColors.gltf.txt.meta b/Tests/Resources/ExportTargets/BoxVertexColors.gltf.txt.meta deleted file mode 100644 index a43276285..000000000 --- a/Tests/Resources/ExportTargets/BoxVertexColors.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: b9315456799724ff79eb21c728a1f1a2 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/Cameras.gltf.txt b/Tests/Resources/ExportTargets/Cameras.gltf.txt deleted file mode 100644 index da064a33d..000000000 --- a/Tests/Resources/ExportTargets/Cameras.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"PerspectiveCamera","children":[3],"translation":[0,0.8,4],"rotation":[0.0168262012,0.765781939,-0.0200526863,0.642567337]},{"name":"OrthogonalCamera","children":[4],"translation":[0,0.8,4],"rotation":[0.0168262012,0.765781939,-0.0200526863,0.642567337]},{"name":"Cameras","children":[0,1],"translation":[-59,0,0]},{"name":"PerspectiveCamera_Orientation","rotation":[0,-1,0,-4.371139E-08],"camera":0},{"name":"OrthogonalCamera_Orientation","rotation":[0,-1,0,-4.371139E-08],"camera":1}],"cameras":[{"type":"perspective","perspective":{"yfov":0.17453292,"zfar":1000,"znear":0.3}},{"type":"orthographic","orthographic":{"xmag":3.2,"ymag":1.8,"zfar":1000,"znear":0.3}}],"scene":0,"scenes":[{"name":"Cameras","nodes":[2]}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/Cameras.gltf.txt.meta b/Tests/Resources/ExportTargets/Cameras.gltf.txt.meta deleted file mode 100644 index a05045edd..000000000 --- a/Tests/Resources/ExportTargets/Cameras.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 91bc3635017394fbba91f352b778826b -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/ClearcoatFactor.gltf.txt b/Tests/Resources/ExportTargets/ClearcoatFactor.gltf.txt deleted file mode 100644 index 0f098f8be..000000000 --- a/Tests/Resources/ExportTargets/ClearcoatFactor.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"Sphere","mesh":1},{"name":"sphere","children":[1],"rotation":[0,0.7071068,0,0.7071068]},{"name":"ClearcoatFactor","children":[0,2],"translation":[-39,0,0]}],"buffers":[{"uri":"ClearcoatFactor.bin","byteLength":20856}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":9216,"byteOffset":120,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9336,"byteStride":24,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"},{"bufferView":3,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":3,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5125,"count":2304,"type":"SCALAR"}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1},"indices":2}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":3,"NORMAL":4},"indices":5}]}],"scene":0,"scenes":[{"name":"ClearcoatFactor","nodes":[3]}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/ClearcoatFactor.gltf.txt.meta b/Tests/Resources/ExportTargets/ClearcoatFactor.gltf.txt.meta deleted file mode 100644 index 6d706ae68..000000000 --- a/Tests/Resources/ExportTargets/ClearcoatFactor.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 9d5146513e4db419793bed1baec3db7c -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/ClearcoatTexture.gltf.txt b/Tests/Resources/ExportTargets/ClearcoatTexture.gltf.txt deleted file mode 100644 index c1d00fb83..000000000 --- a/Tests/Resources/ExportTargets/ClearcoatTexture.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"Sphere","mesh":1},{"name":"sphere","children":[1],"rotation":[0,0.7071068,0,0.7071068]},{"name":"ClearcoatTexture","children":[0,2],"translation":[-40,0,0]}],"buffers":[{"uri":"ClearcoatTexture.bin","byteLength":20856}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":9216,"byteOffset":120,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9336,"byteStride":24,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"},{"bufferView":3,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":3,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5125,"count":2304,"type":"SCALAR"}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1},"indices":2}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":3,"NORMAL":4},"indices":5}]}],"scene":0,"scenes":[{"name":"ClearcoatTexture","nodes":[3]}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/ClearcoatTexture.gltf.txt.meta b/Tests/Resources/ExportTargets/ClearcoatTexture.gltf.txt.meta deleted file mode 100644 index c096d07fd..000000000 --- a/Tests/Resources/ExportTargets/ClearcoatTexture.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 0e4b16220d9784ed0bbb3ccd8cffcc3e -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/ComponentMaskCamera.gltf.txt b/Tests/Resources/ExportTargets/ComponentMaskCamera.gltf.txt deleted file mode 100644 index 7656b1b5d..000000000 --- a/Tests/Resources/ExportTargets/ComponentMaskCamera.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Mesh"},{"name":"Light","translation":[-1,0,0]},{"name":"Camera","children":[3],"translation":[-0.5,0,-3]},{"name":"Camera_Orientation","rotation":[0,-1,0,-4.371139E-08],"camera":0},{"name":"Root","children":[0,1,2]}],"cameras":[{"type":"perspective","perspective":{"yfov":1.04719758,"zfar":1000,"znear":0.3}}],"materials":[{"name":"Default-Material","pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":0.5}}],"scene":0,"scenes":[{"nodes":[4]}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/ComponentMaskCamera.gltf.txt.meta b/Tests/Resources/ExportTargets/ComponentMaskCamera.gltf.txt.meta deleted file mode 100644 index e3e67e37d..000000000 --- a/Tests/Resources/ExportTargets/ComponentMaskCamera.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: e790fc69f6b1c4b158c6f3a2bc2d1854 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/ComponentMaskLight.gltf.txt b/Tests/Resources/ExportTargets/ComponentMaskLight.gltf.txt deleted file mode 100644 index 428a35c33..000000000 --- a/Tests/Resources/ExportTargets/ComponentMaskLight.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Mesh"},{"name":"Light","translation":[-1,0,0],"extensions":{"KHR_lights_punctual":{"light":0}}},{"name":"Camera","translation":[-0.5,0,-3]},{"name":"Root","children":[0,1,2]}],"extensionsRequired":["KHR_lights_punctual"],"extensionsUsed":["KHR_lights_punctual"],"materials":[{"name":"Default-Material","pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":0.5}}],"scene":0,"scenes":[{"nodes":[3]}],"extensions":{"KHR_lights_punctual":{"lights":[{"type":"point","name":"Light","intensity":3.14159274,"range":10}]}}} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/ComponentMaskLight.gltf.txt.meta b/Tests/Resources/ExportTargets/ComponentMaskLight.gltf.txt.meta deleted file mode 100644 index 2f8c21875..000000000 --- a/Tests/Resources/ExportTargets/ComponentMaskLight.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 2154811e8c4f3409f9753fe74af27a6e -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/ComponentMaskMesh.gltf.txt b/Tests/Resources/ExportTargets/ComponentMaskMesh.gltf.txt deleted file mode 100644 index cc3c7299b..000000000 --- a/Tests/Resources/ExportTargets/ComponentMaskMesh.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Mesh","mesh":0},{"name":"Light","translation":[-1,0,0]},{"name":"Camera","translation":[-0.5,0,-3]},{"name":"Root","children":[0,1,2]}],"buffers":[{"uri":"ComponentMaskMesh.bin","byteLength":1416}],"bufferViews":[{"buffer":0,"byteLength":72},{"buffer":0,"byteLength":1344,"byteOffset":72,"byteStride":56}],"accessors":[{"bufferView":1,"componentType":5126,"count":24,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":1,"componentType":5126,"count":24,"type":"VEC3","byteOffset":12},{"bufferView":1,"componentType":5126,"count":24,"type":"VEC4","byteOffset":24},{"bufferView":1,"componentType":5126,"count":24,"type":"VEC2","byteOffset":40},{"bufferView":1,"componentType":5126,"count":24,"type":"VEC2","byteOffset":48},{"bufferView":0,"componentType":5123,"count":36,"type":"SCALAR"}],"materials":[{"name":"Default-Material","pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":0.5}}],"meshes":[{"name":"Cube","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TANGENT":2,"TEXCOORD_0":3,"TEXCOORD_1":4},"indices":5,"material":0}]}],"scene":0,"scenes":[{"nodes":[3]}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/ComponentMaskMesh.gltf.txt.meta b/Tests/Resources/ExportTargets/ComponentMaskMesh.gltf.txt.meta deleted file mode 100644 index d98e5583c..000000000 --- a/Tests/Resources/ExportTargets/ComponentMaskMesh.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 650eafbdf2a7143c1af852b7d519d41e -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/ComponentMaskNone.gltf.txt b/Tests/Resources/ExportTargets/ComponentMaskNone.gltf.txt deleted file mode 100644 index 6a11317ad..000000000 --- a/Tests/Resources/ExportTargets/ComponentMaskNone.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Mesh"},{"name":"Light","translation":[-1,0,0]},{"name":"Camera","translation":[-0.5,0,-3]},{"name":"Root","children":[0,1,2]}],"materials":[{"name":"Default-Material","pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":0.5}}],"scene":0,"scenes":[{"nodes":[3]}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/ComponentMaskNone.gltf.txt.meta b/Tests/Resources/ExportTargets/ComponentMaskNone.gltf.txt.meta deleted file mode 100644 index 0bfac02a1..000000000 --- a/Tests/Resources/ExportTargets/ComponentMaskNone.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 871e9daef2b8847219cdea2c38735bc7 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/Dielectric.gltf.txt b/Tests/Resources/ExportTargets/Dielectric.gltf.txt deleted file mode 100644 index 82a8e8b7c..000000000 --- a/Tests/Resources/ExportTargets/Dielectric.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Sphere","mesh":0},{"name":"sphere 1","children":[0]},{"name":"Sphere","mesh":1},{"name":"sphere 2","children":[2],"translation":[0,0,1]},{"name":"Sphere","mesh":2},{"name":"sphere 3","children":[4],"translation":[0,0,2]},{"name":"Sphere","mesh":3},{"name":"sphere 4","children":[6],"translation":[0,0,3]},{"name":"Sphere","mesh":4},{"name":"sphere 5","children":[8],"translation":[0,0,4]},{"name":"Dielectric","children":[1,3,5,7,9],"translation":[-8,0,0]}],"buffers":[{"uri":"Dielectric.bin","byteLength":24576}],"bufferViews":[{"buffer":0,"byteLength":9216,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9216,"byteStride":24,"target":34962},{"buffer":0,"byteLength":3840,"byteOffset":20736,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":1,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":480,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":2304,"type":"SCALAR"}],"materials":[{"name":"Dielectric 1","pbrMetallicRoughness":{"baseColorFactor":[0.45914036,0.14717859,1,1],"metallicFactor":0,"roughnessFactor":0}},{"name":"Dielectric 2","pbrMetallicRoughness":{"baseColorFactor":[0.45914036,0.14717859,1,1],"metallicFactor":0,"roughnessFactor":0.25}},{"name":"Dielectric 3","pbrMetallicRoughness":{"baseColorFactor":[0.45914036,0.14717859,1,1],"metallicFactor":0,"roughnessFactor":0.5}},{"name":"Dielectric 4","pbrMetallicRoughness":{"baseColorFactor":[0.45914036,0.14717859,1,1],"metallicFactor":0,"roughnessFactor":0.75}},{"name":"Dielectric 5","pbrMetallicRoughness":{"baseColorFactor":[0.45914036,0.14717859,1,1],"metallicFactor":0}}],"meshes":[{"name":"Sphere","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":1}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":2}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":3}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":4}]}],"scene":0,"scenes":[{"name":"Dielectric","nodes":[10]}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/Dielectric.gltf.txt.meta b/Tests/Resources/ExportTargets/Dielectric.gltf.txt.meta deleted file mode 100644 index 89e8f167f..000000000 --- a/Tests/Resources/ExportTargets/Dielectric.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: ce3879c87c2fa4c69830dab60faee3cc -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/DoubleSided.gltf.txt b/Tests/Resources/ExportTargets/DoubleSided.gltf.txt deleted file mode 100644 index 8d31e7731..000000000 --- a/Tests/Resources/ExportTargets/DoubleSided.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"DoubleSided","mesh":0,"translation":[-18,0,0],"rotation":[-0.5,-0.5,-0.5,0.5]}],"buffers":[{"uri":"DoubleSided.bin","byteLength":152}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"}],"materials":[{"name":"DoubleSided","pbrMetallicRoughness":{"baseColorFactor":[0,0.00814912,1,1],"metallicFactor":0,"roughnessFactor":0.7},"doubleSided":true}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]}],"scene":0,"scenes":[{"name":"DoubleSided","nodes":[0]}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/DoubleSided.gltf.txt.meta b/Tests/Resources/ExportTargets/DoubleSided.gltf.txt.meta deleted file mode 100644 index 85504092b..000000000 --- a/Tests/Resources/ExportTargets/DoubleSided.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: f97727545977c4fcb8721c740dacd746 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/EmissiveFactor.gltf.txt b/Tests/Resources/ExportTargets/EmissiveFactor.gltf.txt deleted file mode 100644 index d6a4f661e..000000000 --- a/Tests/Resources/ExportTargets/EmissiveFactor.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"Sphere","mesh":1},{"name":"sphere","children":[1],"rotation":[0,0.7071068,0,0.7071068]},{"name":"EmissiveFactor","children":[0,2],"translation":[-22,0,0]}],"buffers":[{"uri":"EmissiveFactor.bin","byteLength":24728}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962},{"buffer":0,"byteLength":9216,"byteOffset":152,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9368,"byteStride":24,"target":34962},{"buffer":0,"byteLength":3840,"byteOffset":20888,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":5,"componentType":5126,"count":480,"type":"VEC2"},{"bufferView":3,"componentType":5125,"count":2304,"type":"SCALAR"}],"materials":[{"name":"EmissiveFactor","pbrMetallicRoughness":{"baseColorFactor":[0,0,0,1],"metallicFactor":0},"emissiveFactor":[1,1,0]}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]}],"scene":0,"scenes":[{"name":"EmissiveFactor","nodes":[3]}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/EmissiveFactor.gltf.txt.meta b/Tests/Resources/ExportTargets/EmissiveFactor.gltf.txt.meta deleted file mode 100644 index 9fd38349b..000000000 --- a/Tests/Resources/ExportTargets/EmissiveFactor.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 4812d19c78c5e47b0b36db48f7f2e2e7 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/EmissiveTexture.gltf.txt b/Tests/Resources/ExportTargets/EmissiveTexture.gltf.txt deleted file mode 100644 index 261389af5..000000000 --- a/Tests/Resources/ExportTargets/EmissiveTexture.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"Sphere","mesh":1},{"name":"sphere","children":[1],"rotation":[0,0.7071068,0,0.7071068]},{"name":"EmissiveTexture","children":[0,2],"translation":[-23,0,0]}],"buffers":[{"uri":"EmissiveTexture.bin","byteLength":24728}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962},{"buffer":0,"byteLength":9216,"byteOffset":152,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9368,"byteStride":24,"target":34962},{"buffer":0,"byteLength":3840,"byteOffset":20888,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":5,"componentType":5126,"count":480,"type":"VEC2"},{"bufferView":3,"componentType":5125,"count":2304,"type":"SCALAR"}],"images":[{"name":"emissive.jpg","uri":"emissive.jpg","mimeType":"image/jpeg"}],"materials":[{"name":"EmissiveTexture","pbrMetallicRoughness":{"baseColorFactor":[0,0,0,1],"metallicFactor":0},"emissiveTexture":{"index":0},"emissiveFactor":[1,1,1]}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]}],"scene":0,"scenes":[{"name":"EmissiveTexture","nodes":[3]}],"textures":[{"source":0}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/EmissiveTexture.gltf.txt.meta b/Tests/Resources/ExportTargets/EmissiveTexture.gltf.txt.meta deleted file mode 100644 index 54fc53212..000000000 --- a/Tests/Resources/ExportTargets/EmissiveTexture.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: aed3c3b9a909748c78bb87efc67f45c2 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/EmissiveTextureFactor.gltf.txt b/Tests/Resources/ExportTargets/EmissiveTextureFactor.gltf.txt deleted file mode 100644 index fc8c95740..000000000 --- a/Tests/Resources/ExportTargets/EmissiveTextureFactor.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"Sphere","mesh":1},{"name":"sphere","children":[1],"rotation":[0,0.7071068,0,0.7071068]},{"name":"EmissiveTextureFactor","children":[0,2],"translation":[-24,0,0]}],"extensionsRequired":["KHR_texture_transform"],"extensionsUsed":["KHR_texture_transform"],"buffers":[{"uri":"EmissiveTextureFactor.bin","byteLength":24728}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962},{"buffer":0,"byteLength":9216,"byteOffset":152,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9368,"byteStride":24,"target":34962},{"buffer":0,"byteLength":3840,"byteOffset":20888,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":5,"componentType":5126,"count":480,"type":"VEC2"},{"bufferView":3,"componentType":5125,"count":2304,"type":"SCALAR"}],"images":[{"name":"emissive.jpg","uri":"emissive.jpg","mimeType":"image/jpeg"}],"materials":[{"name":"EmissiveTextureFactor","pbrMetallicRoughness":{"baseColorFactor":[0,0,0,1],"metallicFactor":0},"emissiveTexture":{"index":0,"extensions":{"KHR_texture_transform":{"offset":[0,-2],"scale":[2,3]}}},"emissiveFactor":[1,0.5,0]}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]}],"scene":0,"scenes":[{"name":"EmissiveTextureFactor","nodes":[3]}],"textures":[{"source":0}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/EmissiveTextureFactor.gltf.txt.meta b/Tests/Resources/ExportTargets/EmissiveTextureFactor.gltf.txt.meta deleted file mode 100644 index 21b64033e..000000000 --- a/Tests/Resources/ExportTargets/EmissiveTextureFactor.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: e5dcdc40ac781483e96244028c806139 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/HDRP.meta b/Tests/Resources/ExportTargets/HDRP.meta deleted file mode 100644 index 0e82ad0df..000000000 --- a/Tests/Resources/ExportTargets/HDRP.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 66e20911f9c184a70813d7155d70dccb -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/HDRP/BaseColorSmoothnessMetalOcclusionTexture.gltf.txt b/Tests/Resources/ExportTargets/HDRP/BaseColorSmoothnessMetalOcclusionTexture.gltf.txt deleted file mode 100644 index dfa007fd7..000000000 --- a/Tests/Resources/ExportTargets/HDRP/BaseColorSmoothnessMetalOcclusionTexture.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"Sphere","mesh":1},{"name":"sphere","children":[1],"rotation":[0,0.7071068,0,0.7071068]},{"name":"BaseColorSmoothnessMetalOcclusionTexture","children":[0,2],"translation":[-31,0,0]}],"buffers":[{"uri":"BaseColorSmoothnessMetalOcclusionTexture.bin","byteLength":24728}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962},{"buffer":0,"byteLength":9216,"byteOffset":152,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9368,"byteStride":24,"target":34962},{"buffer":0,"byteLength":3840,"byteOffset":20888,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":5,"componentType":5126,"count":480,"type":"VEC2"},{"bufferView":3,"componentType":5125,"count":2304,"type":"SCALAR"}],"images":[{"name":"ColorGridAlpha.jpg","uri":"ColorGridAlpha.jpg","mimeType":"image/jpeg"},{"name":"BaseColorSmoothnessMetalOcclusionTexture_MaskMap.jpg","uri":"BaseColorSmoothnessMetalOcclusionTexture_MaskMap.jpg","mimeType":"image/jpeg"}],"materials":[{"name":"BaseColorSmoothnessMetalOcclusionTexture","pbrMetallicRoughness":{"baseColorTexture":{"index":0},"metallicRoughnessTexture":{"index":1}},"occlusionTexture":{"index":1}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]}],"samplers":[{"magFilter":9728,"minFilter":9728}],"scene":0,"scenes":[{"name":"BaseColorSmoothnessMetalOcclusionTexture","nodes":[3]}],"textures":[{"source":0},{"source":1,"sampler":0}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/HDRP/BaseColorSmoothnessMetalOcclusionTexture.gltf.txt.meta b/Tests/Resources/ExportTargets/HDRP/BaseColorSmoothnessMetalOcclusionTexture.gltf.txt.meta deleted file mode 100644 index 14439ae00..000000000 --- a/Tests/Resources/ExportTargets/HDRP/BaseColorSmoothnessMetalOcclusionTexture.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 9714ead5dce944f0da1310f253a7ec6b -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/HDRP/BaseColorSmoothnessMetalTexture.gltf.txt b/Tests/Resources/ExportTargets/HDRP/BaseColorSmoothnessMetalTexture.gltf.txt deleted file mode 100644 index 1931a8dc6..000000000 --- a/Tests/Resources/ExportTargets/HDRP/BaseColorSmoothnessMetalTexture.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"Sphere","mesh":1},{"name":"sphere","children":[1],"rotation":[0,0.7071068,0,0.7071068]},{"name":"BaseColorSmoothnessMetalTexture","children":[0,2],"translation":[-30,0,0]}],"buffers":[{"uri":"BaseColorSmoothnessMetalTexture.bin","byteLength":24728}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962},{"buffer":0,"byteLength":9216,"byteOffset":152,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9368,"byteStride":24,"target":34962},{"buffer":0,"byteLength":3840,"byteOffset":20888,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":5,"componentType":5126,"count":480,"type":"VEC2"},{"bufferView":3,"componentType":5125,"count":2304,"type":"SCALAR"}],"images":[{"name":"ColorGridAlpha.jpg","uri":"ColorGridAlpha.jpg","mimeType":"image/jpeg"},{"name":"BaseColorSmoothnessMetalTexture_MaskMap.jpg","uri":"BaseColorSmoothnessMetalTexture_MaskMap.jpg","mimeType":"image/jpeg"}],"materials":[{"name":"BaseColorSmoothnessMetalTexture","pbrMetallicRoughness":{"baseColorTexture":{"index":0},"metallicRoughnessTexture":{"index":1}}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]}],"samplers":[{"magFilter":9728,"minFilter":9728}],"scene":0,"scenes":[{"name":"BaseColorSmoothnessMetalTexture","nodes":[3]}],"textures":[{"source":0},{"source":1,"sampler":0}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/HDRP/BaseColorSmoothnessMetalTexture.gltf.txt.meta b/Tests/Resources/ExportTargets/HDRP/BaseColorSmoothnessMetalTexture.gltf.txt.meta deleted file mode 100644 index e52597410..000000000 --- a/Tests/Resources/ExportTargets/HDRP/BaseColorSmoothnessMetalTexture.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: e93a410728fdc49d4a6e0ab6b7adc42e -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/HDRP/BaseColorSmoothnessTexture.gltf.txt b/Tests/Resources/ExportTargets/HDRP/BaseColorSmoothnessTexture.gltf.txt deleted file mode 100644 index f07f9ff13..000000000 --- a/Tests/Resources/ExportTargets/HDRP/BaseColorSmoothnessTexture.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"Sphere","mesh":1},{"name":"sphere","children":[1],"rotation":[0,0.7071068,0,0.7071068]},{"name":"BaseColorSmoothnessTexture","children":[0,2],"translation":[-29,0,0]}],"buffers":[{"uri":"BaseColorSmoothnessTexture.bin","byteLength":24728}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962},{"buffer":0,"byteLength":9216,"byteOffset":152,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9368,"byteStride":24,"target":34962},{"buffer":0,"byteLength":3840,"byteOffset":20888,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":5,"componentType":5126,"count":480,"type":"VEC2"},{"bufferView":3,"componentType":5125,"count":2304,"type":"SCALAR"}],"images":[{"name":"ColorGridAlpha.jpg","uri":"ColorGridAlpha.jpg","mimeType":"image/jpeg"},{"name":"BaseColorSmoothnessTexture_MaskMap.jpg","uri":"BaseColorSmoothnessTexture_MaskMap.jpg","mimeType":"image/jpeg"}],"materials":[{"name":"BaseColorSmoothnessTexture","pbrMetallicRoughness":{"metallicFactor":0,"baseColorTexture":{"index":0},"metallicRoughnessTexture":{"index":1}}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]}],"scene":0,"scenes":[{"name":"BaseColorSmoothnessTexture","nodes":[3]}],"textures":[{"source":0},{"source":1}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/HDRP/BaseColorSmoothnessTexture.gltf.txt.meta b/Tests/Resources/ExportTargets/HDRP/BaseColorSmoothnessTexture.gltf.txt.meta deleted file mode 100644 index 204988be0..000000000 --- a/Tests/Resources/ExportTargets/HDRP/BaseColorSmoothnessTexture.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: e462fc548eb7a4899bf6fedf9ed15975 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/HDRP/BoxVertexColors.gltf.txt b/Tests/Resources/ExportTargets/HDRP/BoxVertexColors.gltf.txt deleted file mode 100644 index dc513a627..000000000 --- a/Tests/Resources/ExportTargets/HDRP/BoxVertexColors.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Cube","mesh":0},{"name":"Mesh"},{"name":"Texture Group"},{"name":"RootNode","children":[0,1,2]},{"name":"BoxVertexColors","children":[3],"translation":[-35,0,0]}],"buffers":[{"uri":"BoxVertexColors.bin","byteLength":1104}],"bufferViews":[{"buffer":0,"byteLength":144,"target":34963},{"buffer":0,"byteLength":576,"byteOffset":144,"byteStride":24,"target":34962},{"buffer":0,"byteLength":384,"byteOffset":720,"byteStride":16,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":24,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":1,"componentType":5126,"count":24,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":24,"type":"VEC4"},{"bufferView":0,"componentType":5125,"count":36,"type":"SCALAR"}],"meshes":[{"name":"Cube","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"COLOR_0":2},"indices":3}]}],"scene":0,"scenes":[{"name":"BoxVertexColors","nodes":[4]}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/HDRP/BoxVertexColors.gltf.txt.meta b/Tests/Resources/ExportTargets/HDRP/BoxVertexColors.gltf.txt.meta deleted file mode 100644 index 8ba3fa859..000000000 --- a/Tests/Resources/ExportTargets/HDRP/BoxVertexColors.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 471c62598a71b408795d1749f74787e5 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/HDRP/ClearcoatFactor.gltf.txt b/Tests/Resources/ExportTargets/HDRP/ClearcoatFactor.gltf.txt deleted file mode 100644 index 7ec8c16b1..000000000 --- a/Tests/Resources/ExportTargets/HDRP/ClearcoatFactor.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"Sphere","mesh":1},{"name":"sphere","children":[1],"rotation":[0,0.7071068,0,0.7071068]},{"name":"ClearcoatFactor","children":[0,2],"translation":[-39,0,0]}],"extensionsRequired":["KHR_materials_clearcoat"],"extensionsUsed":["KHR_materials_clearcoat"],"buffers":[{"uri":"ClearcoatFactor.bin","byteLength":24728}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962},{"buffer":0,"byteLength":9216,"byteOffset":152,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9368,"byteStride":24,"target":34962},{"buffer":0,"byteLength":3840,"byteOffset":20888,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":5,"componentType":5126,"count":480,"type":"VEC2"},{"bufferView":3,"componentType":5125,"count":2304,"type":"SCALAR"}],"materials":[{"name":"ClearcoatFactor","pbrMetallicRoughness":{"baseColorFactor":[1,0,0,1],"metallicFactor":0,"roughnessFactor":0.5},"extensions":{"KHR_materials_clearcoat":{"clearcoatFactor":1}}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]}],"scene":0,"scenes":[{"name":"ClearcoatFactor","nodes":[3]}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/HDRP/ClearcoatFactor.gltf.txt.meta b/Tests/Resources/ExportTargets/HDRP/ClearcoatFactor.gltf.txt.meta deleted file mode 100644 index bc8007592..000000000 --- a/Tests/Resources/ExportTargets/HDRP/ClearcoatFactor.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: cd780ffc4d4604315b6a34913eb16790 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/HDRP/ClearcoatTexture.gltf.txt b/Tests/Resources/ExportTargets/HDRP/ClearcoatTexture.gltf.txt deleted file mode 100644 index 084b74e81..000000000 --- a/Tests/Resources/ExportTargets/HDRP/ClearcoatTexture.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"Sphere","mesh":1},{"name":"sphere","children":[1],"rotation":[0,0.7071068,0,0.7071068]},{"name":"ClearcoatTexture","children":[0,2],"translation":[-40,0,0]}],"extensionsRequired":["KHR_materials_clearcoat"],"extensionsUsed":["KHR_materials_clearcoat"],"buffers":[{"uri":"ClearcoatTexture.bin","byteLength":24728}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962},{"buffer":0,"byteLength":9216,"byteOffset":152,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9368,"byteStride":24,"target":34962},{"buffer":0,"byteLength":3840,"byteOffset":20888,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":5,"componentType":5126,"count":480,"type":"VEC2"},{"bufferView":3,"componentType":5125,"count":2304,"type":"SCALAR"}],"images":[{"name":"clearcoat.jpg","uri":"clearcoat.jpg","mimeType":"image/jpeg"}],"materials":[{"name":"ClearcoatTexture","pbrMetallicRoughness":{"baseColorFactor":[1,0,0,1],"metallicFactor":0,"roughnessFactor":0.5},"extensions":{"KHR_materials_clearcoat":{"clearcoatFactor":1,"clearcoatTexture":{"index":0}}}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]}],"scene":0,"scenes":[{"name":"ClearcoatTexture","nodes":[3]}],"textures":[{"source":0}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/HDRP/ClearcoatTexture.gltf.txt.meta b/Tests/Resources/ExportTargets/HDRP/ClearcoatTexture.gltf.txt.meta deleted file mode 100644 index 2ea935e14..000000000 --- a/Tests/Resources/ExportTargets/HDRP/ClearcoatTexture.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 74313d9f9afcb445b9d2c2308b035d5d -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/HDRP/Dielectric.gltf.txt b/Tests/Resources/ExportTargets/HDRP/Dielectric.gltf.txt deleted file mode 100644 index 849f403f2..000000000 --- a/Tests/Resources/ExportTargets/HDRP/Dielectric.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Sphere","mesh":0},{"name":"sphere 1","children":[0]},{"name":"Sphere","mesh":1},{"name":"sphere 2","children":[2],"translation":[0,0,1]},{"name":"Sphere","mesh":2},{"name":"sphere 3","children":[4],"translation":[0,0,2]},{"name":"Sphere","mesh":3},{"name":"sphere 4","children":[6],"translation":[0,0,3]},{"name":"Sphere","mesh":4},{"name":"sphere 5","children":[8],"translation":[0,0,4]},{"name":"Dielectric","children":[1,3,5,7,9],"translation":[-8,0,0]}],"buffers":[{"uri":"Dielectric.bin","byteLength":24576}],"bufferViews":[{"buffer":0,"byteLength":9216,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9216,"byteStride":24,"target":34962},{"buffer":0,"byteLength":3840,"byteOffset":20736,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":1,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":480,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":2304,"type":"SCALAR"}],"materials":[{"name":"Dielectric 1","pbrMetallicRoughness":{"baseColorFactor":[0.45914036,0.147178546,1,1],"metallicFactor":0,"roughnessFactor":0}},{"name":"Dielectric 2","pbrMetallicRoughness":{"baseColorFactor":[0.45914036,0.147178546,1,1],"metallicFactor":0,"roughnessFactor":0.25}},{"name":"Dielectric 3","pbrMetallicRoughness":{"baseColorFactor":[0.45914036,0.147178546,1,1],"metallicFactor":0,"roughnessFactor":0.5}},{"name":"Dielectric 4","pbrMetallicRoughness":{"baseColorFactor":[0.45914036,0.147178546,1,1],"metallicFactor":0,"roughnessFactor":0.75}},{"name":"Dielectric 5","pbrMetallicRoughness":{"baseColorFactor":[0.45914036,0.147178546,1,1],"metallicFactor":0}}],"meshes":[{"name":"Sphere","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":1}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":2}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":3}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":4}]}],"scene":0,"scenes":[{"name":"Dielectric","nodes":[10]}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/HDRP/Dielectric.gltf.txt.meta b/Tests/Resources/ExportTargets/HDRP/Dielectric.gltf.txt.meta deleted file mode 100644 index 305bb5a2f..000000000 --- a/Tests/Resources/ExportTargets/HDRP/Dielectric.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 5637ad19b1ce34cce9708c9e65a40f1f -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/HDRP/DoubleSided.gltf.txt b/Tests/Resources/ExportTargets/HDRP/DoubleSided.gltf.txt deleted file mode 100644 index e148d6009..000000000 --- a/Tests/Resources/ExportTargets/HDRP/DoubleSided.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"DoubleSided","mesh":0,"translation":[-18,0,0],"rotation":[-0.5,-0.5,-0.5,0.5]}],"buffers":[{"uri":"DoubleSided.bin","byteLength":152}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"}],"materials":[{"name":"DoubleSided","pbrMetallicRoughness":{"baseColorFactor":[0,0.008149115,1,1],"metallicFactor":0,"roughnessFactor":0.7},"doubleSided":true}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]}],"scene":0,"scenes":[{"name":"DoubleSided","nodes":[0]}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/HDRP/DoubleSided.gltf.txt.meta b/Tests/Resources/ExportTargets/HDRP/DoubleSided.gltf.txt.meta deleted file mode 100644 index 6f66a12bb..000000000 --- a/Tests/Resources/ExportTargets/HDRP/DoubleSided.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 14a1caf2dec8e4e0796c199aa570958d -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/HDRP/LightAreaDisc.gltf.txt b/Tests/Resources/ExportTargets/HDRP/LightAreaDisc.gltf.txt deleted file mode 100644 index c0ceb10bf..000000000 --- a/Tests/Resources/ExportTargets/HDRP/LightAreaDisc.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Light","children":[3],"translation":[0,1,0],"rotation":[0.482962936,-0.224143922,0.129409552,0.8365163]},{"name":"Plane","mesh":0,"scale":[10,10,10]},{"name":"LightAreaDisc","children":[0,1],"translation":[-45,0,10]},{"name":"Light_Orientation","rotation":[0,-1,0,-4.371139E-08],"extensions":{"KHR_lights_punctual":{"light":0}}}],"extensionsRequired":["KHR_lights_punctual"],"extensionsUsed":["KHR_lights_punctual"],"buffers":[{"uri":"LightAreaDisc.bin","byteLength":152}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"}],"materials":[{"name":"Neutral","pbrMetallicRoughness":{"metallicFactor":0}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]}],"scene":0,"scenes":[{"name":"LightAreaDisc","nodes":[2]}],"extensions":{"KHR_lights_punctual":{"lights":[{"type":"spot","name":"Light","color":[0.6038274,0.0331047624,0.0331047624],"intensity":81.0569458,"range":100,"spot":{"innerConeAngle":0.305432618,"outerConeAngle":0.3926991}}]}}} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/HDRP/LightAreaDisc.gltf.txt.meta b/Tests/Resources/ExportTargets/HDRP/LightAreaDisc.gltf.txt.meta deleted file mode 100644 index 1fc2c707a..000000000 --- a/Tests/Resources/ExportTargets/HDRP/LightAreaDisc.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 715a886298a99463198d55a73591034a -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/HDRP/LightAreaRectangle.gltf.txt b/Tests/Resources/ExportTargets/HDRP/LightAreaRectangle.gltf.txt deleted file mode 100644 index 0c0202158..000000000 --- a/Tests/Resources/ExportTargets/HDRP/LightAreaRectangle.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Light","children":[3],"translation":[0,1,0],"rotation":[0.482962936,-0.224143922,0.129409552,0.8365163]},{"name":"Plane","mesh":0,"scale":[10,10,10]},{"name":"LightAreaRectangle","children":[0,1],"translation":[-35,0,10]},{"name":"Light_Orientation","rotation":[0,-1,0,-4.371139E-08],"extensions":{"KHR_lights_punctual":{"light":0}}}],"extensionsRequired":["KHR_lights_punctual"],"extensionsUsed":["KHR_lights_punctual"],"buffers":[{"uri":"LightAreaRectangle.bin","byteLength":152}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"}],"materials":[{"name":"Neutral","pbrMetallicRoughness":{"metallicFactor":0}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]}],"scene":0,"scenes":[{"name":"LightAreaRectangle","nodes":[2]}],"extensions":{"KHR_lights_punctual":{"lights":[{"type":"spot","name":"Light","color":[0.6038274,0.0331047624,0.0331047624],"intensity":254.6479,"range":100,"spot":{"innerConeAngle":0.305432618,"outerConeAngle":0.3926991}}]}}} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/HDRP/LightAreaRectangle.gltf.txt.meta b/Tests/Resources/ExportTargets/HDRP/LightAreaRectangle.gltf.txt.meta deleted file mode 100644 index c3f3df2dd..000000000 --- a/Tests/Resources/ExportTargets/HDRP/LightAreaRectangle.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: eebfc59a0a53248e3986516e83466675 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/HDRP/LightDirectional.gltf.txt b/Tests/Resources/ExportTargets/HDRP/LightDirectional.gltf.txt deleted file mode 100644 index 37fdd6871..000000000 --- a/Tests/Resources/ExportTargets/HDRP/LightDirectional.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Light","children":[3],"translation":[0,1,0],"rotation":[0.482962936,-0.224143922,0.129409552,0.8365163]},{"name":"Plane","mesh":0,"scale":[10,10,10]},{"name":"LightDirectional","children":[0,1],"translation":[-25,0,10]},{"name":"Light_Orientation","rotation":[0,-1,0,-4.371139E-08],"extensions":{"KHR_lights_punctual":{"light":0}}}],"extensionsRequired":["KHR_lights_punctual"],"extensionsUsed":["KHR_lights_punctual"],"buffers":[{"uri":"LightDirectional.bin","byteLength":152}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"}],"materials":[{"name":"Neutral","pbrMetallicRoughness":{"metallicFactor":0}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]}],"scene":0,"scenes":[{"name":"LightDirectional","nodes":[2]}],"extensions":{"KHR_lights_punctual":{"lights":[{"type":"directional","name":"Light","color":[0.6038274,0.0331047624,0.0331047624],"intensity":0.1}]}}} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/HDRP/LightDirectional.gltf.txt.meta b/Tests/Resources/ExportTargets/HDRP/LightDirectional.gltf.txt.meta deleted file mode 100644 index edada7b53..000000000 --- a/Tests/Resources/ExportTargets/HDRP/LightDirectional.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: ed3323fec30d44836862892b6276ab07 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/HDRP/LightsPoint.gltf.txt b/Tests/Resources/ExportTargets/HDRP/LightsPoint.gltf.txt deleted file mode 100644 index 6f92cc8e4..000000000 --- a/Tests/Resources/ExportTargets/HDRP/LightsPoint.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Red","translation":[1,1,-1.73205],"extensions":{"KHR_lights_punctual":{"light":0}}},{"name":"Green","translation":[1,1,1.73205],"extensions":{"KHR_lights_punctual":{"light":1}}},{"name":"Blue","translation":[-2,1,0],"extensions":{"KHR_lights_punctual":{"light":2}}},{"name":"Plane","mesh":0,"scale":[10,10,10]},{"name":"LightsPoint","children":[0,1,2,3],"translation":[-5,0,10]}],"extensionsRequired":["KHR_lights_punctual"],"extensionsUsed":["KHR_lights_punctual"],"buffers":[{"uri":"LightsPoint.bin","byteLength":152}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"}],"materials":[{"name":"Neutral","pbrMetallicRoughness":{"metallicFactor":0}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]}],"scene":0,"scenes":[{"name":"LightsPoint","nodes":[4]}],"extensions":{"KHR_lights_punctual":{"lights":[{"type":"point","name":"Red","color":[1,0,0],"intensity":50,"range":10},{"type":"point","name":"Green","color":[0,1,0],"intensity":50,"range":10},{"type":"point","name":"Blue","color":[0,0,1],"intensity":50,"range":10}]}}} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/HDRP/LightsPoint.gltf.txt.meta b/Tests/Resources/ExportTargets/HDRP/LightsPoint.gltf.txt.meta deleted file mode 100644 index ed1d62bc4..000000000 --- a/Tests/Resources/ExportTargets/HDRP/LightsPoint.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 80199ce11687d4ba1b01033c21266bfc -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/HDRP/LightsSpot.gltf.txt b/Tests/Resources/ExportTargets/HDRP/LightsSpot.gltf.txt deleted file mode 100644 index f52183097..000000000 --- a/Tests/Resources/ExportTargets/HDRP/LightsSpot.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Red","children":[5],"translation":[1,12,-1.73205],"rotation":[0.7071068,0,0,0.7071068]},{"name":"Green","children":[6],"translation":[1,12,1.73205],"rotation":[0.7071068,0,0,0.7071068]},{"name":"Blue","children":[7],"translation":[-2,12,0],"rotation":[0.7071068,0,0,0.7071068]},{"name":"Plane","mesh":0,"scale":[10,10,10]},{"name":"LightsSpot","children":[0,1,2,3],"translation":[-15,0,10]},{"name":"Red_Orientation","rotation":[0,-1,0,-4.371139E-08],"extensions":{"KHR_lights_punctual":{"light":0}}},{"name":"Green_Orientation","rotation":[0,-1,0,-4.371139E-08],"extensions":{"KHR_lights_punctual":{"light":1}}},{"name":"Blue_Orientation","rotation":[0,-1,0,-4.371139E-08],"extensions":{"KHR_lights_punctual":{"light":2}}}],"extensionsRequired":["KHR_lights_punctual"],"extensionsUsed":["KHR_lights_punctual"],"buffers":[{"uri":"LightsSpot.bin","byteLength":152}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"}],"materials":[{"name":"Neutral","pbrMetallicRoughness":{"metallicFactor":0}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]}],"scene":0,"scenes":[{"name":"LightsSpot","nodes":[4]}],"extensions":{"KHR_lights_punctual":{"lights":[{"type":"spot","name":"Red","color":[1,0,0],"intensity":400,"range":100,"spot":{"innerConeAngle":0.190259039,"outerConeAngle":0.2617994}},{"type":"spot","name":"Green","color":[0,1,0],"intensity":400,"range":100,"spot":{"innerConeAngle":0.190259039,"outerConeAngle":0.2617994}},{"type":"spot","name":"Blue","color":[0,0,1],"intensity":400,"range":100,"spot":{"innerConeAngle":0.190259039,"outerConeAngle":0.2617994}}]}}} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/HDRP/LightsSpot.gltf.txt.meta b/Tests/Resources/ExportTargets/HDRP/LightsSpot.gltf.txt.meta deleted file mode 100644 index 35f997fbf..000000000 --- a/Tests/Resources/ExportTargets/HDRP/LightsSpot.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 3b3a6bca90c4f4f99a014b6c293da688 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/HDRP/MetallicSmoothnessOcclusionTexture.gltf.txt b/Tests/Resources/ExportTargets/HDRP/MetallicSmoothnessOcclusionTexture.gltf.txt deleted file mode 100644 index a7f60461e..000000000 --- a/Tests/Resources/ExportTargets/HDRP/MetallicSmoothnessOcclusionTexture.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"Sphere","mesh":1},{"name":"sphere","children":[1],"rotation":[0,0.7071068,0,0.7071068]},{"name":"MetallicSmoothnessOcclusionTexture","children":[0,2],"translation":[-28,0,0]}],"buffers":[{"uri":"MetallicSmoothnessOcclusionTexture.bin","byteLength":24728}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962},{"buffer":0,"byteLength":9216,"byteOffset":152,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9368,"byteStride":24,"target":34962},{"buffer":0,"byteLength":3840,"byteOffset":20888,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":5,"componentType":5126,"count":480,"type":"VEC2"},{"bufferView":3,"componentType":5125,"count":2304,"type":"SCALAR"}],"images":[{"name":"MetallicSmoothnessOcclusionTexture_MaskMap.jpg","uri":"MetallicSmoothnessOcclusionTexture_MaskMap.jpg","mimeType":"image/jpeg"}],"materials":[{"name":"MetallicSmoothnessOcclusionTexture","pbrMetallicRoughness":{"baseColorFactor":[0.0761853456,0.87672466,1,1],"metallicRoughnessTexture":{"index":0}},"occlusionTexture":{"index":0}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]}],"samplers":[{"magFilter":9728,"minFilter":9728}],"scene":0,"scenes":[{"name":"MetallicSmoothnessOcclusionTexture","nodes":[3]}],"textures":[{"source":0,"sampler":0}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/HDRP/MetallicSmoothnessOcclusionTexture.gltf.txt.meta b/Tests/Resources/ExportTargets/HDRP/MetallicSmoothnessOcclusionTexture.gltf.txt.meta deleted file mode 100644 index 5e952fea8..000000000 --- a/Tests/Resources/ExportTargets/HDRP/MetallicSmoothnessOcclusionTexture.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: cfd6e38cb7d3f498fb93073f02c64854 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/HDRP/MetallicSmoothnessTexture.gltf.txt b/Tests/Resources/ExportTargets/HDRP/MetallicSmoothnessTexture.gltf.txt deleted file mode 100644 index 208655487..000000000 --- a/Tests/Resources/ExportTargets/HDRP/MetallicSmoothnessTexture.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"Sphere","mesh":1},{"name":"sphere","children":[1],"rotation":[0,0.7071068,0,0.7071068]},{"name":"MetallicSmoothnessTexture","children":[0,2],"translation":[-27,0,0]}],"buffers":[{"uri":"MetallicSmoothnessTexture.bin","byteLength":24728}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962},{"buffer":0,"byteLength":9216,"byteOffset":152,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9368,"byteStride":24,"target":34962},{"buffer":0,"byteLength":3840,"byteOffset":20888,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":5,"componentType":5126,"count":480,"type":"VEC2"},{"bufferView":3,"componentType":5125,"count":2304,"type":"SCALAR"}],"images":[{"name":"MetallicSmoothnessTexture_MaskMap.jpg","uri":"MetallicSmoothnessTexture_MaskMap.jpg","mimeType":"image/jpeg"}],"materials":[{"name":"MetallicSmoothnessTexture","pbrMetallicRoughness":{"baseColorFactor":[0.0761853456,1,0.125470772,1],"metallicRoughnessTexture":{"index":0}}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]}],"samplers":[{"magFilter":9728,"minFilter":9728}],"scene":0,"scenes":[{"name":"MetallicSmoothnessTexture","nodes":[3]}],"textures":[{"source":0,"sampler":0}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/HDRP/MetallicSmoothnessTexture.gltf.txt.meta b/Tests/Resources/ExportTargets/HDRP/MetallicSmoothnessTexture.gltf.txt.meta deleted file mode 100644 index 471b31317..000000000 --- a/Tests/Resources/ExportTargets/HDRP/MetallicSmoothnessTexture.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 3663173b40c02439ab2336451590314e -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/HDRP/MetallicTexture.gltf.txt b/Tests/Resources/ExportTargets/HDRP/MetallicTexture.gltf.txt deleted file mode 100644 index 1d5b14a56..000000000 --- a/Tests/Resources/ExportTargets/HDRP/MetallicTexture.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"Sphere","mesh":1},{"name":"sphere","children":[1],"rotation":[0,0.7071068,0,0.7071068]},{"name":"MetallicTexture","children":[0,2],"translation":[-26,0,0]}],"buffers":[{"uri":"MetallicTexture.bin","byteLength":24728}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962},{"buffer":0,"byteLength":9216,"byteOffset":152,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9368,"byteStride":24,"target":34962},{"buffer":0,"byteLength":3840,"byteOffset":20888,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":5,"componentType":5126,"count":480,"type":"VEC2"},{"bufferView":3,"componentType":5125,"count":2304,"type":"SCALAR"}],"images":[{"name":"MetallicTexture_MaskMap.jpg","uri":"MetallicTexture_MaskMap.jpg","mimeType":"image/jpeg"}],"materials":[{"name":"MetallicTexture","pbrMetallicRoughness":{"baseColorFactor":[0.0761853456,1,0.125470772,1],"metallicRoughnessTexture":{"index":0}}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]}],"samplers":[{"magFilter":9728,"minFilter":9728}],"scene":0,"scenes":[{"name":"MetallicTexture","nodes":[3]}],"textures":[{"source":0,"sampler":0}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/HDRP/MetallicTexture.gltf.txt.meta b/Tests/Resources/ExportTargets/HDRP/MetallicTexture.gltf.txt.meta deleted file mode 100644 index a0c9fe901..000000000 --- a/Tests/Resources/ExportTargets/HDRP/MetallicTexture.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 91197a50ffa2148bbb52f6af2493232b -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/HDRP/NoMaterial2.gltf.txt b/Tests/Resources/ExportTargets/HDRP/NoMaterial2.gltf.txt deleted file mode 100644 index 56534bc6f..000000000 --- a/Tests/Resources/ExportTargets/HDRP/NoMaterial2.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Submesh","mesh":0},{"name":"NoMaterial2","children":[0],"translation":[-3,0,0]}],"buffers":[{"uri":"NoMaterial2.bin","byteLength":204}],"bufferViews":[{"buffer":0,"byteLength":12,"target":34963},{"buffer":0,"byteLength":192,"byteOffset":12,"byteStride":48,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC4","byteOffset":24},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC2","byteOffset":40},{"bufferView":0,"componentType":5123,"count":3,"type":"SCALAR"},{"bufferView":0,"componentType":5123,"count":3,"type":"SCALAR","byteOffset":6}],"materials":[{"name":"Red","pbrMetallicRoughness":{"baseColorFactor":[1,0,0,1],"metallicFactor":0,"roughnessFactor":0.5}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TANGENT":2,"TEXCOORD_0":3},"indices":4},{"attributes":{"POSITION":0,"NORMAL":1,"TANGENT":2,"TEXCOORD_0":3},"indices":5,"material":0}]}],"scene":0,"scenes":[{"name":"NoMaterial2","nodes":[1]}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/HDRP/NoMaterial2.gltf.txt.meta b/Tests/Resources/ExportTargets/HDRP/NoMaterial2.gltf.txt.meta deleted file mode 100644 index f8141098d..000000000 --- a/Tests/Resources/ExportTargets/HDRP/NoMaterial2.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 6025f79915d544ce4badfe3acf25e0d3 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/HDRP/OcclusionTexture.gltf.txt b/Tests/Resources/ExportTargets/HDRP/OcclusionTexture.gltf.txt deleted file mode 100644 index 78a77718a..000000000 --- a/Tests/Resources/ExportTargets/HDRP/OcclusionTexture.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"Sphere","mesh":1},{"name":"sphere","children":[1],"rotation":[0,0.7071068,0,0.7071068]},{"name":"OcclusionTexture","children":[0,2],"translation":[-20,0,0]}],"buffers":[{"uri":"OcclusionTexture.bin","byteLength":24728}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962},{"buffer":0,"byteLength":9216,"byteOffset":152,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9368,"byteStride":24,"target":34962},{"buffer":0,"byteLength":3840,"byteOffset":20888,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":5,"componentType":5126,"count":480,"type":"VEC2"},{"bufferView":3,"componentType":5125,"count":2304,"type":"SCALAR"}],"images":[{"name":"OcclusionTexture_MaskMap.jpg","uri":"OcclusionTexture_MaskMap.jpg","mimeType":"image/jpeg"}],"materials":[{"name":"OcclusionTexture","pbrMetallicRoughness":{"baseColorFactor":[1,0.4543959,0.0765513852,1],"metallicFactor":0,"roughnessFactor":0.7},"occlusionTexture":{"index":0}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]}],"scene":0,"scenes":[{"name":"OcclusionTexture","nodes":[3]}],"textures":[{"source":0}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/HDRP/OcclusionTexture.gltf.txt.meta b/Tests/Resources/ExportTargets/HDRP/OcclusionTexture.gltf.txt.meta deleted file mode 100644 index 04dc65042..000000000 --- a/Tests/Resources/ExportTargets/HDRP/OcclusionTexture.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 20dd8f4617a324d6aa592f9f7a4c0d9a -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/HDRP/OcclusionTextureStrength.gltf.txt b/Tests/Resources/ExportTargets/HDRP/OcclusionTextureStrength.gltf.txt deleted file mode 100644 index a60285d89..000000000 --- a/Tests/Resources/ExportTargets/HDRP/OcclusionTextureStrength.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"Sphere","mesh":1},{"name":"sphere","children":[1],"rotation":[0,0.7071068,0,0.7071068]},{"name":"OcclusionTextureStrength","children":[0,2],"translation":[-21,0,0]}],"extensionsRequired":["KHR_texture_transform"],"extensionsUsed":["KHR_texture_transform"],"buffers":[{"uri":"OcclusionTextureStrength.bin","byteLength":24728}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962},{"buffer":0,"byteLength":9216,"byteOffset":152,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9368,"byteStride":24,"target":34962},{"buffer":0,"byteLength":3840,"byteOffset":20888,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":5,"componentType":5126,"count":480,"type":"VEC2"},{"bufferView":3,"componentType":5125,"count":2304,"type":"SCALAR"}],"images":[{"name":"OcclusionTextureStrength_MaskMap.jpg","uri":"OcclusionTextureStrength_MaskMap.jpg","mimeType":"image/jpeg"}],"materials":[{"name":"OcclusionTextureStrength","pbrMetallicRoughness":{"baseColorFactor":[1,0.4543959,0.0765513852,1],"metallicFactor":0},"occlusionTexture":{"index":0,"extensions":{"KHR_texture_transform":{"offset":[0,-0.5],"scale":[2,1.5]}},"strength":0.230000019}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]}],"scene":0,"scenes":[{"name":"OcclusionTextureStrength","nodes":[3]}],"textures":[{"source":0}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/HDRP/OcclusionTextureStrength.gltf.txt.meta b/Tests/Resources/ExportTargets/HDRP/OcclusionTextureStrength.gltf.txt.meta deleted file mode 100644 index e1428466a..000000000 --- a/Tests/Resources/ExportTargets/HDRP/OcclusionTextureStrength.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 08444a89de3dd409585323bed387debc -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/HDRP/SmoothnessTexture.gltf.txt b/Tests/Resources/ExportTargets/HDRP/SmoothnessTexture.gltf.txt deleted file mode 100644 index a0b1452cd..000000000 --- a/Tests/Resources/ExportTargets/HDRP/SmoothnessTexture.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"Sphere","mesh":1},{"name":"sphere","children":[1],"rotation":[0,0.7071068,0,0.7071068]},{"name":"SmoothnessTexture","children":[0,2],"translation":[-25,0,0]}],"buffers":[{"uri":"SmoothnessTexture.bin","byteLength":24728}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962},{"buffer":0,"byteLength":9216,"byteOffset":152,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9368,"byteStride":24,"target":34962},{"buffer":0,"byteLength":3840,"byteOffset":20888,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":5,"componentType":5126,"count":480,"type":"VEC2"},{"bufferView":3,"componentType":5125,"count":2304,"type":"SCALAR"}],"images":[{"name":"SmoothnessTexture_MaskMap.jpg","uri":"SmoothnessTexture_MaskMap.jpg","mimeType":"image/jpeg"}],"materials":[{"name":"SmoothnessTexture","pbrMetallicRoughness":{"baseColorFactor":[0.0761853456,1,0.125470772,1],"metallicRoughnessTexture":{"index":0}}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]}],"samplers":[{"magFilter":9728,"minFilter":9728}],"scene":0,"scenes":[{"name":"SmoothnessTexture","nodes":[3]}],"textures":[{"source":0,"sampler":0}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/HDRP/SmoothnessTexture.gltf.txt.meta b/Tests/Resources/ExportTargets/HDRP/SmoothnessTexture.gltf.txt.meta deleted file mode 100644 index 8ebc80282..000000000 --- a/Tests/Resources/ExportTargets/HDRP/SmoothnessTexture.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: abb5abb35af34440182b564ad1ded293 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/HDRP/Submesh.gltf.txt b/Tests/Resources/ExportTargets/HDRP/Submesh.gltf.txt deleted file mode 100644 index 5f5b2976c..000000000 --- a/Tests/Resources/ExportTargets/HDRP/Submesh.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Submesh","mesh":0,"translation":[-1,0,0]}],"buffers":[{"uri":"Submesh.bin","byteLength":204}],"bufferViews":[{"buffer":0,"byteLength":12,"target":34963},{"buffer":0,"byteLength":192,"byteOffset":12,"byteStride":48,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC4","byteOffset":24},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC2","byteOffset":40},{"bufferView":0,"componentType":5123,"count":3,"type":"SCALAR"},{"bufferView":0,"componentType":5123,"count":3,"type":"SCALAR","byteOffset":6}],"materials":[{"name":"Blue","pbrMetallicRoughness":{"baseColorFactor":[0.009788704,0.022219114,0.8,1],"metallicFactor":0,"roughnessFactor":0.5}},{"name":"Red","pbrMetallicRoughness":{"baseColorFactor":[1,0,0,1],"metallicFactor":0,"roughnessFactor":0.5}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TANGENT":2,"TEXCOORD_0":3},"indices":4,"material":0},{"attributes":{"POSITION":0,"NORMAL":1,"TANGENT":2,"TEXCOORD_0":3},"indices":5,"material":1}]}],"scene":0,"scenes":[{"name":"Submesh","nodes":[0]}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/HDRP/Submesh.gltf.txt.meta b/Tests/Resources/ExportTargets/HDRP/Submesh.gltf.txt.meta deleted file mode 100644 index c994cbd63..000000000 --- a/Tests/Resources/ExportTargets/HDRP/Submesh.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: dea65448ca6af4163bf019cac8383451 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/HDRP/Unlit.gltf.txt b/Tests/Resources/ExportTargets/HDRP/Unlit.gltf.txt deleted file mode 100644 index 357f1a866..000000000 --- a/Tests/Resources/ExportTargets/HDRP/Unlit.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"Sphere","mesh":1},{"name":"sphere","children":[1],"rotation":[0,0.7071068,0,0.7071068]},{"name":"Unlit","children":[0,2],"translation":[-15,0,0]}],"extensionsRequired":["KHR_materials_unlit"],"extensionsUsed":["KHR_materials_unlit"],"buffers":[{"uri":"Unlit.bin","byteLength":24728}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962},{"buffer":0,"byteLength":9216,"byteOffset":152,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9368,"byteStride":24,"target":34962},{"buffer":0,"byteLength":3840,"byteOffset":20888,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":5,"componentType":5126,"count":480,"type":"VEC2"},{"bufferView":3,"componentType":5125,"count":2304,"type":"SCALAR"}],"materials":[{"name":"Unlit","pbrMetallicRoughness":{"baseColorFactor":[1,0.2726522,0,1],"metallicFactor":0},"extensions":{"KHR_materials_unlit":{}}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]}],"scene":0,"scenes":[{"name":"Unlit","nodes":[3]}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/HDRP/Unlit.gltf.txt.meta b/Tests/Resources/ExportTargets/HDRP/Unlit.gltf.txt.meta deleted file mode 100644 index f719beabb..000000000 --- a/Tests/Resources/ExportTargets/HDRP/Unlit.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 928bf79a1e576423bacf64181b7d3dd5 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/HierarchyComponentsDisabled.gltf.txt b/Tests/Resources/ExportTargets/HierarchyComponentsDisabled.gltf.txt deleted file mode 100644 index 342cf4955..000000000 --- a/Tests/Resources/ExportTargets/HierarchyComponentsDisabled.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"A1","mesh":0,"translation":[0.249999985,0.75,-0.25],"scale":[0.5,0.5,0.5]},{"name":"A2","mesh":0,"translation":[-0.25,0.75,-0.25],"scale":[0.5,0.5,0.5]},{"name":"A3","mesh":0,"translation":[0.249999985,0.75,0.23],"scale":[0.5,0.5,0.5]},{"name":"A4","mesh":0,"translation":[-0.25,0.75,0.23],"scale":[0.5,0.5,0.5]},{"name":"A","children":[0,1,2,3],"mesh":0,"translation":[0.3,0.7,-0.3000002],"scale":[0.4,0.4,0.4]},{"name":"B1","mesh":0,"translation":[0.249999985,0.75,-0.25],"scale":[0.5,0.5,0.5]},{"name":"B2","mesh":0,"translation":[-0.25,0.75,-0.25],"scale":[0.5,0.5,0.5]},{"name":"B3","mesh":0,"translation":[0.249999985,0.75,0.23],"scale":[0.5,0.5,0.5]},{"name":"B4","mesh":0,"translation":[-0.25,0.75,0.23],"scale":[0.5,0.5,0.5]},{"name":"B","children":[5,6,7,8],"translation":[-0.3,0.7,-0.3],"scale":[0.4,0.4,0.4]},{"name":"C1","mesh":0,"translation":[0.249999985,0.75,-0.25],"scale":[0.5,0.5,0.5]},{"name":"C2","translation":[-0.25,0.75,-0.25],"scale":[0.5,0.5,0.5]},{"name":"C3","translation":[0.249999985,0.75,0.23],"scale":[0.5,0.5,0.5]},{"name":"C4","mesh":0,"translation":[-0.25,0.75,0.23],"scale":[0.5,0.5,0.5]},{"name":"C","children":[10,11,12,13],"mesh":0,"translation":[0.3,0.7,0.3],"scale":[0.4,0.4,0.4]},{"name":"D1","translation":[0.249999985,0.75,-0.25],"scale":[0.5,0.5,0.5]},{"name":"D2","mesh":0,"translation":[-0.25,0.75,-0.25],"scale":[0.5,0.5,0.5]},{"name":"D3","mesh":0,"translation":[0.249999985,0.75,0.23],"scale":[0.5,0.5,0.5]},{"name":"D4","translation":[-0.25,0.75,0.23],"scale":[0.5,0.5,0.5]},{"name":"D","children":[15,16,17,18],"translation":[-0.3,0.7,0.3],"scale":[0.4,0.4,0.4]},{"name":"Root","children":[4,9,14,19],"mesh":0,"translation":[0,0,16]},{"name":"HierarchyComponentsDisabled","children":[20],"translation":[-1,0,0]}],"buffers":[{"uri":"HierarchyComponentsDisabled.bin","byteLength":648}],"bufferViews":[{"buffer":0,"byteLength":72,"target":34963},{"buffer":0,"byteLength":576,"byteOffset":72,"byteStride":24,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":24,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":1,"componentType":5126,"count":24,"type":"VEC3","byteOffset":12},{"bufferView":0,"componentType":5123,"count":36,"type":"SCALAR"}],"meshes":[{"name":"Cube","primitives":[{"attributes":{"POSITION":0,"NORMAL":1},"indices":2}]}],"scene":0,"scenes":[{"name":"HierarchyComponentsDisabled","nodes":[21]}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/HierarchyComponentsDisabled.gltf.txt.meta b/Tests/Resources/ExportTargets/HierarchyComponentsDisabled.gltf.txt.meta deleted file mode 100644 index 3cdc0c48b..000000000 --- a/Tests/Resources/ExportTargets/HierarchyComponentsDisabled.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: c00a47ae0445b4414923ed93d57699ec -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/HierarchyEditorOnlyTag.gltf.txt b/Tests/Resources/ExportTargets/HierarchyEditorOnlyTag.gltf.txt deleted file mode 100644 index 2748e1402..000000000 --- a/Tests/Resources/ExportTargets/HierarchyEditorOnlyTag.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"A1","mesh":0,"translation":[0.249999985,0.75,-0.25],"scale":[0.5,0.5,0.5]},{"name":"A2","mesh":0,"translation":[-0.25,0.75,-0.25],"scale":[0.5,0.5,0.5]},{"name":"A3","mesh":0,"translation":[0.249999985,0.75,0.23],"scale":[0.5,0.5,0.5]},{"name":"A4","mesh":0,"translation":[-0.25,0.75,0.23],"scale":[0.5,0.5,0.5]},{"name":"A","children":[0,1,2,3],"mesh":0,"translation":[0.3,0.7,-0.3000002],"scale":[0.4,0.4,0.4]},{"name":"C1","mesh":0,"translation":[0.249999985,0.75,-0.25],"scale":[0.5,0.5,0.5]},{"name":"C4","mesh":0,"translation":[-0.25,0.75,0.23],"scale":[0.5,0.5,0.5]},{"name":"C","children":[5,6],"mesh":0,"translation":[0.3,0.7,0.3],"scale":[0.4,0.4,0.4]},{"name":"D2","mesh":0,"translation":[-0.25,0.75,-0.25],"scale":[0.5,0.5,0.5]},{"name":"D3","mesh":0,"translation":[0.249999985,0.75,0.23],"scale":[0.5,0.5,0.5]},{"name":"D","children":[8,9],"mesh":0,"translation":[-0.3,0.7,0.3],"scale":[0.4,0.4,0.4]},{"name":"Root","children":[4,7,10],"mesh":0,"translation":[0,0,16]},{"name":"HierarchyEditorOnlyTag","children":[11],"translation":[-2,0,0]}],"buffers":[{"uri":"HierarchyEditorOnlyTag.bin","byteLength":648}],"bufferViews":[{"buffer":0,"byteLength":72,"target":34963},{"buffer":0,"byteLength":576,"byteOffset":72,"byteStride":24,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":24,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":1,"componentType":5126,"count":24,"type":"VEC3","byteOffset":12},{"bufferView":0,"componentType":5123,"count":36,"type":"SCALAR"}],"meshes":[{"name":"Cube","primitives":[{"attributes":{"POSITION":0,"NORMAL":1},"indices":2}]}],"scene":0,"scenes":[{"name":"HierarchyEditorOnlyTag","nodes":[12]}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/HierarchyEditorOnlyTag.gltf.txt.meta b/Tests/Resources/ExportTargets/HierarchyEditorOnlyTag.gltf.txt.meta deleted file mode 100644 index 52cfc32bf..000000000 --- a/Tests/Resources/ExportTargets/HierarchyEditorOnlyTag.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 064f3837cc48a44cdb3b0764445c7b10 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/HierarchyObjectsInactive.gltf.txt b/Tests/Resources/ExportTargets/HierarchyObjectsInactive.gltf.txt deleted file mode 100644 index ca9f26fd2..000000000 --- a/Tests/Resources/ExportTargets/HierarchyObjectsInactive.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"A1","mesh":0,"translation":[0.249999985,0.75,-0.25],"scale":[0.5,0.5,0.5]},{"name":"A2","mesh":0,"translation":[-0.25,0.75,-0.25],"scale":[0.5,0.5,0.5]},{"name":"A3","mesh":0,"translation":[0.249999985,0.75,0.23],"scale":[0.5,0.5,0.5]},{"name":"A4","mesh":0,"translation":[-0.25,0.75,0.23],"scale":[0.5,0.5,0.5]},{"name":"A","children":[0,1,2,3],"mesh":0,"translation":[0.3,0.7,-0.3000002],"scale":[0.4,0.4,0.4]},{"name":"C1","mesh":0,"translation":[0.249999985,0.75,-0.25],"scale":[0.5,0.5,0.5]},{"name":"C4","mesh":0,"translation":[-0.25,0.75,0.23],"scale":[0.5,0.5,0.5]},{"name":"C","children":[5,6],"mesh":0,"translation":[0.3,0.7,0.3],"scale":[0.4,0.4,0.4]},{"name":"D2","mesh":0,"translation":[-0.25,0.75,-0.25],"scale":[0.5,0.5,0.5]},{"name":"D3","mesh":0,"translation":[0.249999985,0.75,0.23],"scale":[0.5,0.5,0.5]},{"name":"D","children":[8,9],"mesh":0,"translation":[-0.3,0.7,0.3],"scale":[0.4,0.4,0.4]},{"name":"Root","children":[4,7,10],"mesh":0,"translation":[0,0,16]},{"name":"HierarchyObjectsInactive","children":[11]}],"buffers":[{"uri":"HierarchyObjectsInactive.bin","byteLength":648}],"bufferViews":[{"buffer":0,"byteLength":72,"target":34963},{"buffer":0,"byteLength":576,"byteOffset":72,"byteStride":24,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":24,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":1,"componentType":5126,"count":24,"type":"VEC3","byteOffset":12},{"bufferView":0,"componentType":5123,"count":36,"type":"SCALAR"}],"meshes":[{"name":"Cube","primitives":[{"attributes":{"POSITION":0,"NORMAL":1},"indices":2}]}],"scene":0,"scenes":[{"name":"HierarchyObjectsInactive","nodes":[12]}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/HierarchyObjectsInactive.gltf.txt.meta b/Tests/Resources/ExportTargets/HierarchyObjectsInactive.gltf.txt.meta deleted file mode 100644 index 988a279bd..000000000 --- a/Tests/Resources/ExportTargets/HierarchyObjectsInactive.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: a6a23a6be00bb46b783334088683c555 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/IdenticalTextureName.gltf.txt b/Tests/Resources/ExportTargets/IdenticalTextureName.gltf.txt deleted file mode 100644 index cbf4e0938..000000000 --- a/Tests/Resources/ExportTargets/IdenticalTextureName.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"IdenticalTextureName","mesh":1},{"name":"IdenticalTextureName","children":[0,1],"translation":[-32,0,0]}],"buffers":[{"uri":"IdenticalTextureName.bin","byteLength":152}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"}],"images":[{"name":"ColorGrid.jpg","uri":"ColorGrid.jpg","mimeType":"image/jpeg"},{"name":"ColorGrid.jpg","uri":"ColorGrid.jpg","mimeType":"image/jpeg"}],"materials":[{"name":"BaseColorTexture","pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":0,"baseColorTexture":{"index":0}}},{"name":"IdenticalTextureName","pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":0,"baseColorTexture":{"index":1}}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":1}]}],"scene":0,"scenes":[{"name":"IdenticalTextureName","nodes":[2]}],"textures":[{"source":0},{"source":1}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/IdenticalTextureName.gltf.txt.meta b/Tests/Resources/ExportTargets/IdenticalTextureName.gltf.txt.meta deleted file mode 100644 index c394a0c17..000000000 --- a/Tests/Resources/ExportTargets/IdenticalTextureName.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 7196c14fccf6d490dbcc13f007583664 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/LayerMaskAll.gltf.txt b/Tests/Resources/ExportTargets/LayerMaskAll.gltf.txt deleted file mode 100644 index c0f8672ce..000000000 --- a/Tests/Resources/ExportTargets/LayerMaskAll.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"c","mesh":0,"translation":[-1,0,0]},{"name":"b","children":[0],"mesh":0,"translation":[-1,0,0]},{"name":"a","children":[1],"mesh":0},{"name":"Root","children":[2]}],"buffers":[{"uri":"LayerMaskAll.bin","byteLength":1416}],"bufferViews":[{"buffer":0,"byteLength":72,"target":34963},{"buffer":0,"byteLength":1344,"byteOffset":72,"byteStride":56,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":24,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":1,"componentType":5126,"count":24,"type":"VEC3","byteOffset":12},{"bufferView":1,"componentType":5126,"count":24,"type":"VEC4","byteOffset":24},{"bufferView":1,"componentType":5126,"count":24,"type":"VEC2","byteOffset":40},{"bufferView":1,"componentType":5126,"count":24,"type":"VEC2","byteOffset":48},{"bufferView":0,"componentType":5123,"count":36,"type":"SCALAR"}],"materials":[{"name":"Default-Material","pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":0.5}}],"meshes":[{"name":"Cube","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TANGENT":2,"TEXCOORD_0":3,"TEXCOORD_1":4},"indices":5,"material":0}]}],"scene":0,"scenes":[{"nodes":[3]}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/LayerMaskAll.gltf.txt.meta b/Tests/Resources/ExportTargets/LayerMaskAll.gltf.txt.meta deleted file mode 100644 index c4b4a8de8..000000000 --- a/Tests/Resources/ExportTargets/LayerMaskAll.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: ef7f51ca105614b2b97062dc5009d144 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/LayerMaskNone.gltf.txt b/Tests/Resources/ExportTargets/LayerMaskNone.gltf.txt deleted file mode 100644 index d5a5e2812..000000000 --- a/Tests/Resources/ExportTargets/LayerMaskNone.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"}} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/LayerMaskNone.gltf.txt.meta b/Tests/Resources/ExportTargets/LayerMaskNone.gltf.txt.meta deleted file mode 100644 index 1a9e3dac6..000000000 --- a/Tests/Resources/ExportTargets/LayerMaskNone.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 23ca9adcb50ba449d9a15cee34546844 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/LayerMaskOne.gltf.txt b/Tests/Resources/ExportTargets/LayerMaskOne.gltf.txt deleted file mode 100644 index 8acec842a..000000000 --- a/Tests/Resources/ExportTargets/LayerMaskOne.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"b","mesh":0,"translation":[-1,0,0]},{"name":"a","children":[0],"mesh":0},{"name":"Root","children":[1]}],"buffers":[{"uri":"LayerMaskOne.bin","byteLength":1416}],"bufferViews":[{"buffer":0,"byteLength":72,"target":34963},{"buffer":0,"byteLength":1344,"byteOffset":72,"byteStride":56,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":24,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":1,"componentType":5126,"count":24,"type":"VEC3","byteOffset":12},{"bufferView":1,"componentType":5126,"count":24,"type":"VEC4","byteOffset":24},{"bufferView":1,"componentType":5126,"count":24,"type":"VEC2","byteOffset":40},{"bufferView":1,"componentType":5126,"count":24,"type":"VEC2","byteOffset":48},{"bufferView":0,"componentType":5123,"count":36,"type":"SCALAR"}],"materials":[{"name":"Default-Material","pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":0.5}}],"meshes":[{"name":"Cube","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TANGENT":2,"TEXCOORD_0":3,"TEXCOORD_1":4},"indices":5,"material":0}]}],"scene":0,"scenes":[{"nodes":[2]}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/LayerMaskOne.gltf.txt.meta b/Tests/Resources/ExportTargets/LayerMaskOne.gltf.txt.meta deleted file mode 100644 index 2370dff19..000000000 --- a/Tests/Resources/ExportTargets/LayerMaskOne.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 35051b18510b5478897c5212f9eca4c4 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/LayerMaskTwo.gltf.txt b/Tests/Resources/ExportTargets/LayerMaskTwo.gltf.txt deleted file mode 100644 index 39c303a72..000000000 --- a/Tests/Resources/ExportTargets/LayerMaskTwo.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"c","mesh":0,"translation":[-1,0,0]},{"name":"b","children":[0],"translation":[-1,0,0]},{"name":"a","children":[1]},{"name":"Root","children":[2]}],"buffers":[{"uri":"LayerMaskTwo.bin","byteLength":1416}],"bufferViews":[{"buffer":0,"byteLength":72,"target":34963},{"buffer":0,"byteLength":1344,"byteOffset":72,"byteStride":56,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":24,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":1,"componentType":5126,"count":24,"type":"VEC3","byteOffset":12},{"bufferView":1,"componentType":5126,"count":24,"type":"VEC4","byteOffset":24},{"bufferView":1,"componentType":5126,"count":24,"type":"VEC2","byteOffset":40},{"bufferView":1,"componentType":5126,"count":24,"type":"VEC2","byteOffset":48},{"bufferView":0,"componentType":5123,"count":36,"type":"SCALAR"}],"materials":[{"name":"Default-Material","pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":0.5}}],"meshes":[{"name":"Cube","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TANGENT":2,"TEXCOORD_0":3,"TEXCOORD_1":4},"indices":5,"material":0}]}],"scene":0,"scenes":[{"nodes":[3]}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/LayerMaskTwo.gltf.txt.meta b/Tests/Resources/ExportTargets/LayerMaskTwo.gltf.txt.meta deleted file mode 100644 index 229605102..000000000 --- a/Tests/Resources/ExportTargets/LayerMaskTwo.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 6dc37c35f159b4013bbcb8038f3ae329 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/LightAreaDisc.gltf.txt b/Tests/Resources/ExportTargets/LightAreaDisc.gltf.txt deleted file mode 100644 index 1de9a25b2..000000000 --- a/Tests/Resources/ExportTargets/LightAreaDisc.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Light","children":[3],"translation":[0,1,0],"rotation":[0.482962936,-0.224143922,0.129409552,0.8365163]},{"name":"Plane","mesh":0,"scale":[10,10,10]},{"name":"LightAreaDisc","children":[0,1],"translation":[-45,0,10]},{"name":"Light_Orientation","rotation":[0,-1,0,-4.371139E-08],"extensions":{"KHR_lights_punctual":{"light":0}}}],"extensionsRequired":["KHR_lights_punctual"],"extensionsUsed":["KHR_lights_punctual"],"buffers":[{"uri":"LightAreaDisc.bin","byteLength":152}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"}],"materials":[{"name":"Neutral","pbrMetallicRoughness":{"metallicFactor":0}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]}],"scene":0,"scenes":[{"name":"LightAreaDisc","nodes":[2]}],"extensions":{"KHR_lights_punctual":{"lights":[{"type":"spot","name":"Light","color":[0.6038274,0.0331047624,0.0331047624],"intensity":3.14159274,"range":100,"spot":{"innerConeAngle":0.305432618,"outerConeAngle":0.3926991}}]}}} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/LightAreaDisc.gltf.txt.meta b/Tests/Resources/ExportTargets/LightAreaDisc.gltf.txt.meta deleted file mode 100644 index aba5005d8..000000000 --- a/Tests/Resources/ExportTargets/LightAreaDisc.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 397a29f6d70094de0903f4497ac9ace4 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/LightAreaRectangle.gltf.txt b/Tests/Resources/ExportTargets/LightAreaRectangle.gltf.txt deleted file mode 100644 index e6bd62b87..000000000 --- a/Tests/Resources/ExportTargets/LightAreaRectangle.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Light","children":[3],"translation":[0,1,0],"rotation":[0.482962936,-0.224143922,0.129409552,0.8365163]},{"name":"Plane","mesh":0,"scale":[10,10,10]},{"name":"LightAreaRectangle","children":[0,1],"translation":[-35,0,10]},{"name":"Light_Orientation","rotation":[0,-1,0,-4.371139E-08],"extensions":{"KHR_lights_punctual":{"light":0}}}],"extensionsRequired":["KHR_lights_punctual"],"extensionsUsed":["KHR_lights_punctual"],"buffers":[{"uri":"LightAreaRectangle.bin","byteLength":152}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"}],"materials":[{"name":"Neutral","pbrMetallicRoughness":{"metallicFactor":0}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]}],"scene":0,"scenes":[{"name":"LightAreaRectangle","nodes":[2]}],"extensions":{"KHR_lights_punctual":{"lights":[{"type":"spot","name":"Light","color":[0.6038274,0.0331047624,0.0331047624],"intensity":3.14159274,"range":100,"spot":{"innerConeAngle":0.305432618,"outerConeAngle":0.3926991}}]}}} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/LightAreaRectangle.gltf.txt.meta b/Tests/Resources/ExportTargets/LightAreaRectangle.gltf.txt.meta deleted file mode 100644 index d16f3f670..000000000 --- a/Tests/Resources/ExportTargets/LightAreaRectangle.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: dd7511f4f36244ad5b7d3cf400e49505 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/LightDirectional.gltf.txt b/Tests/Resources/ExportTargets/LightDirectional.gltf.txt deleted file mode 100644 index 67af8f48b..000000000 --- a/Tests/Resources/ExportTargets/LightDirectional.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Light","children":[3],"translation":[0,1,0],"rotation":[0.482962936,-0.224143922,0.129409552,0.8365163]},{"name":"Plane","mesh":0,"scale":[10,10,10]},{"name":"LightDirectional","children":[0,1],"translation":[-25,0,10]},{"name":"Light_Orientation","rotation":[0,-1,0,-4.371139E-08],"extensions":{"KHR_lights_punctual":{"light":0}}}],"extensionsRequired":["KHR_lights_punctual"],"extensionsUsed":["KHR_lights_punctual"],"buffers":[{"uri":"LightDirectional.bin","byteLength":152}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"}],"materials":[{"name":"Neutral","pbrMetallicRoughness":{"metallicFactor":0}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]}],"scene":0,"scenes":[{"name":"LightDirectional","nodes":[2]}],"extensions":{"KHR_lights_punctual":{"lights":[{"type":"directional","name":"Light","color":[0.6038274,0.0331047624,0.0331047624],"intensity":0.314159274}]}}} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/LightDirectional.gltf.txt.meta b/Tests/Resources/ExportTargets/LightDirectional.gltf.txt.meta deleted file mode 100644 index 73e5a58e4..000000000 --- a/Tests/Resources/ExportTargets/LightDirectional.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 18f75e169453f444ba2f5f02cc4f00c7 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/LightsPoint.gltf.txt b/Tests/Resources/ExportTargets/LightsPoint.gltf.txt deleted file mode 100644 index 39f30a9bd..000000000 --- a/Tests/Resources/ExportTargets/LightsPoint.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Red","translation":[1,1,-1.73205],"extensions":{"KHR_lights_punctual":{"light":0}}},{"name":"Green","translation":[1,1,1.73205],"extensions":{"KHR_lights_punctual":{"light":1}}},{"name":"Blue","translation":[-2,1,0],"extensions":{"KHR_lights_punctual":{"light":2}}},{"name":"Plane","mesh":0,"scale":[10,10,10]},{"name":"LightsPoint","children":[0,1,2,3],"translation":[-5,0,10]}],"extensionsRequired":["KHR_lights_punctual"],"extensionsUsed":["KHR_lights_punctual"],"buffers":[{"uri":"LightsPoint.bin","byteLength":152}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"}],"materials":[{"name":"Neutral","pbrMetallicRoughness":{"metallicFactor":0}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]}],"scene":0,"scenes":[{"name":"LightsPoint","nodes":[4]}],"extensions":{"KHR_lights_punctual":{"lights":[{"type":"point","name":"Red","color":[1,0,0],"intensity":3.14159274,"range":10},{"type":"point","name":"Green","color":[0,1,0],"intensity":3.14159274,"range":10},{"type":"point","name":"Blue","color":[0,0,1],"intensity":3.14159274,"range":10}]}}} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/LightsPoint.gltf.txt.meta b/Tests/Resources/ExportTargets/LightsPoint.gltf.txt.meta deleted file mode 100644 index 4babec57e..000000000 --- a/Tests/Resources/ExportTargets/LightsPoint.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 6fa33e3276def4a97a4fce632311814d -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/LightsSpot.gltf.txt b/Tests/Resources/ExportTargets/LightsSpot.gltf.txt deleted file mode 100644 index c99938bb6..000000000 --- a/Tests/Resources/ExportTargets/LightsSpot.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Red","children":[5],"translation":[1,12,-1.73205],"rotation":[0.7071068,0,0,0.7071068]},{"name":"Green","children":[6],"translation":[1,12,1.73205],"rotation":[0.7071068,0,0,0.7071068]},{"name":"Blue","children":[7],"translation":[-2,12,0],"rotation":[0.7071068,0,0,0.7071068]},{"name":"Plane","mesh":0,"scale":[10,10,10]},{"name":"LightsSpot","children":[0,1,2,3],"translation":[-15,0,10]},{"name":"Red_Orientation","rotation":[0,-1,0,-4.371139E-08],"extensions":{"KHR_lights_punctual":{"light":0}}},{"name":"Green_Orientation","rotation":[0,-1,0,-4.371139E-08],"extensions":{"KHR_lights_punctual":{"light":1}}},{"name":"Blue_Orientation","rotation":[0,-1,0,-4.371139E-08],"extensions":{"KHR_lights_punctual":{"light":2}}}],"extensionsRequired":["KHR_lights_punctual"],"extensionsUsed":["KHR_lights_punctual"],"buffers":[{"uri":"LightsSpot.bin","byteLength":152}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"}],"materials":[{"name":"Neutral","pbrMetallicRoughness":{"metallicFactor":0}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]}],"scene":0,"scenes":[{"name":"LightsSpot","nodes":[4]}],"extensions":{"KHR_lights_punctual":{"lights":[{"type":"spot","name":"Red","color":[1,0,0],"intensity":3.14159274,"range":100,"spot":{"innerConeAngle":0.190259039,"outerConeAngle":0.2617994}},{"type":"spot","name":"Green","color":[0,1,0],"intensity":3.14159274,"range":100,"spot":{"innerConeAngle":0.190259039,"outerConeAngle":0.2617994}},{"type":"spot","name":"Blue","color":[0,0,1],"intensity":3.14159274,"range":100,"spot":{"innerConeAngle":0.190259039,"outerConeAngle":0.2617994}}]}}} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/LightsSpot.gltf.txt.meta b/Tests/Resources/ExportTargets/LightsSpot.gltf.txt.meta deleted file mode 100644 index 3dcadf669..000000000 --- a/Tests/Resources/ExportTargets/LightsSpot.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: b40d154853b1044d9a87bb6ed5a43006 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/MeshMaterialReuse.gltf.txt b/Tests/Resources/ExportTargets/MeshMaterialReuse.gltf.txt deleted file mode 100644 index b034975ec..000000000 --- a/Tests/Resources/ExportTargets/MeshMaterialReuse.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Cube 1","mesh":0},{"name":"Cube 2","mesh":0,"translation":[0,0,2]},{"name":"MeshMaterialReuse","children":[0,1],"translation":[-4,0,0]}],"buffers":[{"uri":"MeshMaterialReuse.bin","byteLength":1416}],"bufferViews":[{"buffer":0,"byteLength":72,"target":34963},{"buffer":0,"byteLength":1344,"byteOffset":72,"byteStride":56,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":24,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":1,"componentType":5126,"count":24,"type":"VEC3","byteOffset":12},{"bufferView":1,"componentType":5126,"count":24,"type":"VEC4","byteOffset":24},{"bufferView":1,"componentType":5126,"count":24,"type":"VEC2","byteOffset":40},{"bufferView":1,"componentType":5126,"count":24,"type":"VEC2","byteOffset":48},{"bufferView":0,"componentType":5123,"count":36,"type":"SCALAR"}],"materials":[{"name":"Red","pbrMetallicRoughness":{"baseColorFactor":[1,0,0,1],"metallicFactor":0,"roughnessFactor":0.5}}],"meshes":[{"name":"Cube","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TANGENT":2,"TEXCOORD_0":3,"TEXCOORD_1":4},"indices":5,"material":0}]}],"scene":0,"scenes":[{"name":"MeshMaterialReuse","nodes":[2]}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/MeshMaterialReuse.gltf.txt.meta b/Tests/Resources/ExportTargets/MeshMaterialReuse.gltf.txt.meta deleted file mode 100644 index 6546f7dad..000000000 --- a/Tests/Resources/ExportTargets/MeshMaterialReuse.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 557a57d5806d54c40a3dba094f9808fd -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/MeshReuse.gltf.txt b/Tests/Resources/ExportTargets/MeshReuse.gltf.txt deleted file mode 100644 index 20550bc08..000000000 --- a/Tests/Resources/ExportTargets/MeshReuse.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Cube 1","mesh":0},{"name":"Cube 2","mesh":1,"translation":[0,0,2]},{"name":"MeshReuse","children":[0,1],"translation":[-5,0,0]}],"buffers":[{"uri":"MeshReuse.bin","byteLength":1416}],"bufferViews":[{"buffer":0,"byteLength":72,"target":34963},{"buffer":0,"byteLength":1344,"byteOffset":72,"byteStride":56,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":24,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":1,"componentType":5126,"count":24,"type":"VEC3","byteOffset":12},{"bufferView":1,"componentType":5126,"count":24,"type":"VEC4","byteOffset":24},{"bufferView":1,"componentType":5126,"count":24,"type":"VEC2","byteOffset":40},{"bufferView":1,"componentType":5126,"count":24,"type":"VEC2","byteOffset":48},{"bufferView":0,"componentType":5123,"count":36,"type":"SCALAR"}],"materials":[{"name":"Red","pbrMetallicRoughness":{"baseColorFactor":[1,0,0,1],"metallicFactor":0,"roughnessFactor":0.5}},{"name":"Green","pbrMetallicRoughness":{"baseColorFactor":[0,1,0,1],"metallicFactor":0,"roughnessFactor":0.5}}],"meshes":[{"name":"Cube","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TANGENT":2,"TEXCOORD_0":3,"TEXCOORD_1":4},"indices":5,"material":0}]},{"name":"Cube","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TANGENT":2,"TEXCOORD_0":3,"TEXCOORD_1":4},"indices":5,"material":1}]}],"scene":0,"scenes":[{"name":"MeshReuse","nodes":[2]}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/MeshReuse.gltf.txt.meta b/Tests/Resources/ExportTargets/MeshReuse.gltf.txt.meta deleted file mode 100644 index 7adff8ca0..000000000 --- a/Tests/Resources/ExportTargets/MeshReuse.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: d70037267259f4bcc9e0b01c0e4dead1 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/Metallic.gltf.txt b/Tests/Resources/ExportTargets/Metallic.gltf.txt deleted file mode 100644 index 4ec524d7c..000000000 --- a/Tests/Resources/ExportTargets/Metallic.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Sphere","mesh":0},{"name":"sphere 1","children":[0]},{"name":"Sphere","mesh":1},{"name":"sphere 2","children":[2],"translation":[0,0,1]},{"name":"Sphere","mesh":2},{"name":"sphere 3","children":[4],"translation":[0,0,2]},{"name":"Sphere","mesh":3},{"name":"sphere 4","children":[6],"translation":[0,0,3]},{"name":"Sphere","mesh":4},{"name":"sphere 5","children":[8],"translation":[0,0,4]},{"name":"Metallic","children":[1,3,5,7,9],"translation":[-7,0,0]}],"buffers":[{"uri":"Metallic.bin","byteLength":24576}],"bufferViews":[{"buffer":0,"byteLength":9216,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9216,"byteStride":24,"target":34962},{"buffer":0,"byteLength":3840,"byteOffset":20736,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":1,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":480,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":2304,"type":"SCALAR"}],"materials":[{"name":"Metallic 1","pbrMetallicRoughness":{"roughnessFactor":0}},{"name":"Metallic 2","pbrMetallicRoughness":{"roughnessFactor":0.25}},{"name":"Metallic 3","pbrMetallicRoughness":{"roughnessFactor":0.5}},{"name":"Metallic 4","pbrMetallicRoughness":{"roughnessFactor":0.75}},{"name":"Metallic 5","pbrMetallicRoughness":{}}],"meshes":[{"name":"Sphere","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":1}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":2}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":3}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":4}]}],"scene":0,"scenes":[{"name":"Metallic","nodes":[10]}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/Metallic.gltf.txt.meta b/Tests/Resources/ExportTargets/Metallic.gltf.txt.meta deleted file mode 100644 index 5537e5393..000000000 --- a/Tests/Resources/ExportTargets/Metallic.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 2c3ce81ea570548a683ab9d21c4e0284 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/MetallicSmoothnessOcclusionTexture.gltf.txt b/Tests/Resources/ExportTargets/MetallicSmoothnessOcclusionTexture.gltf.txt deleted file mode 100644 index 97e131aa7..000000000 --- a/Tests/Resources/ExportTargets/MetallicSmoothnessOcclusionTexture.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"Sphere","mesh":1},{"name":"sphere","children":[1],"rotation":[0,0.7071068,0,0.7071068]},{"name":"MetallicSmoothnessOcclusionTexture","children":[0,2],"translation":[-28,0,0]}],"buffers":[{"uri":"MetallicSmoothnessOcclusionTexture.bin","byteLength":24728}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962},{"buffer":0,"byteLength":9216,"byteOffset":152,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9368,"byteStride":24,"target":34962},{"buffer":0,"byteLength":3840,"byteOffset":20888,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":5,"componentType":5126,"count":480,"type":"VEC2"},{"bufferView":3,"componentType":5125,"count":2304,"type":"SCALAR"}],"images":[{"name":"metallic-smoothness.jpg","uri":"metallic-smoothness.jpg","mimeType":"image/jpeg"}],"materials":[{"name":"MetallicSmoothnessOcclusionTexture","pbrMetallicRoughness":{"baseColorFactor":[0.0761853755,0.87672466,1,1],"metallicRoughnessTexture":{"index":0}},"occlusionTexture":{"index":0}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]}],"samplers":[{"magFilter":9728,"minFilter":9728}],"scene":0,"scenes":[{"name":"MetallicSmoothnessOcclusionTexture","nodes":[3]}],"textures":[{"source":0,"sampler":0}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/MetallicSmoothnessOcclusionTexture.gltf.txt.meta b/Tests/Resources/ExportTargets/MetallicSmoothnessOcclusionTexture.gltf.txt.meta deleted file mode 100644 index 50b055504..000000000 --- a/Tests/Resources/ExportTargets/MetallicSmoothnessOcclusionTexture.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: e428db89ef6874874955e1b60232695a -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/MetallicSmoothnessTexture.gltf.txt b/Tests/Resources/ExportTargets/MetallicSmoothnessTexture.gltf.txt deleted file mode 100644 index 2cb83d012..000000000 --- a/Tests/Resources/ExportTargets/MetallicSmoothnessTexture.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"Sphere","mesh":1},{"name":"sphere","children":[1],"rotation":[0,0.7071068,0,0.7071068]},{"name":"MetallicSmoothnessTexture","children":[0,2],"translation":[-27,0,0]}],"buffers":[{"uri":"MetallicSmoothnessTexture.bin","byteLength":24728}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962},{"buffer":0,"byteLength":9216,"byteOffset":152,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9368,"byteStride":24,"target":34962},{"buffer":0,"byteLength":3840,"byteOffset":20888,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":5,"componentType":5126,"count":480,"type":"VEC2"},{"bufferView":3,"componentType":5125,"count":2304,"type":"SCALAR"}],"images":[{"name":"metallic-smoothness.jpg","uri":"metallic-smoothness.jpg","mimeType":"image/jpeg"}],"materials":[{"name":"MetallicSmoothnessTexture","pbrMetallicRoughness":{"baseColorFactor":[0.0761853755,1,0.125470817,1],"metallicRoughnessTexture":{"index":0}}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]}],"samplers":[{"magFilter":9728,"minFilter":9728}],"scene":0,"scenes":[{"name":"MetallicSmoothnessTexture","nodes":[3]}],"textures":[{"source":0,"sampler":0}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/MetallicSmoothnessTexture.gltf.txt.meta b/Tests/Resources/ExportTargets/MetallicSmoothnessTexture.gltf.txt.meta deleted file mode 100644 index 7767f29d6..000000000 --- a/Tests/Resources/ExportTargets/MetallicSmoothnessTexture.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 37b2643f60ee14427ac317a940cb008f -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/MetallicTexture.gltf.txt b/Tests/Resources/ExportTargets/MetallicTexture.gltf.txt deleted file mode 100644 index 357bd4f4d..000000000 --- a/Tests/Resources/ExportTargets/MetallicTexture.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"Sphere","mesh":1},{"name":"sphere","children":[1],"rotation":[0,0.7071068,0,0.7071068]},{"name":"MetallicTexture","children":[0,2],"translation":[-26,0,0]}],"buffers":[{"uri":"MetallicTexture.bin","byteLength":24728}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962},{"buffer":0,"byteLength":9216,"byteOffset":152,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9368,"byteStride":24,"target":34962},{"buffer":0,"byteLength":3840,"byteOffset":20888,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":5,"componentType":5126,"count":480,"type":"VEC2"},{"bufferView":3,"componentType":5125,"count":2304,"type":"SCALAR"}],"images":[{"name":"metallic.jpg","uri":"metallic.jpg","mimeType":"image/jpeg"}],"materials":[{"name":"MetallicTexture","pbrMetallicRoughness":{"baseColorFactor":[0.0761853755,1,0.125470817,1],"metallicRoughnessTexture":{"index":0}}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]}],"samplers":[{"magFilter":9728,"minFilter":9728}],"scene":0,"scenes":[{"name":"MetallicTexture","nodes":[3]}],"textures":[{"source":0,"sampler":0}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/MetallicTexture.gltf.txt.meta b/Tests/Resources/ExportTargets/MetallicTexture.gltf.txt.meta deleted file mode 100644 index dccaa0bef..000000000 --- a/Tests/Resources/ExportTargets/MetallicTexture.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 1250fc21e35bb413eacdbcab3c4a5c91 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/NoMaterial.gltf.txt b/Tests/Resources/ExportTargets/NoMaterial.gltf.txt deleted file mode 100644 index b5a271cb9..000000000 --- a/Tests/Resources/ExportTargets/NoMaterial.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Cube","mesh":0},{"name":"NoMaterial","children":[0],"translation":[-2,0,0]}],"buffers":[{"uri":"NoMaterial.bin","byteLength":648}],"bufferViews":[{"buffer":0,"byteLength":72,"target":34963},{"buffer":0,"byteLength":576,"byteOffset":72,"byteStride":24,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":24,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":1,"componentType":5126,"count":24,"type":"VEC3","byteOffset":12},{"bufferView":0,"componentType":5123,"count":36,"type":"SCALAR"}],"meshes":[{"name":"Cube","primitives":[{"attributes":{"POSITION":0,"NORMAL":1},"indices":2}]}],"scene":0,"scenes":[{"name":"NoMaterial","nodes":[1]}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/NoMaterial.gltf.txt.meta b/Tests/Resources/ExportTargets/NoMaterial.gltf.txt.meta deleted file mode 100644 index 2dc09c44e..000000000 --- a/Tests/Resources/ExportTargets/NoMaterial.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: ab6a9718718584047b9cbbd73f47d051 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/NoMaterial2.gltf.txt b/Tests/Resources/ExportTargets/NoMaterial2.gltf.txt deleted file mode 100644 index 56534bc6f..000000000 --- a/Tests/Resources/ExportTargets/NoMaterial2.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Submesh","mesh":0},{"name":"NoMaterial2","children":[0],"translation":[-3,0,0]}],"buffers":[{"uri":"NoMaterial2.bin","byteLength":204}],"bufferViews":[{"buffer":0,"byteLength":12,"target":34963},{"buffer":0,"byteLength":192,"byteOffset":12,"byteStride":48,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC4","byteOffset":24},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC2","byteOffset":40},{"bufferView":0,"componentType":5123,"count":3,"type":"SCALAR"},{"bufferView":0,"componentType":5123,"count":3,"type":"SCALAR","byteOffset":6}],"materials":[{"name":"Red","pbrMetallicRoughness":{"baseColorFactor":[1,0,0,1],"metallicFactor":0,"roughnessFactor":0.5}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TANGENT":2,"TEXCOORD_0":3},"indices":4},{"attributes":{"POSITION":0,"NORMAL":1,"TANGENT":2,"TEXCOORD_0":3},"indices":5,"material":0}]}],"scene":0,"scenes":[{"name":"NoMaterial2","nodes":[1]}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/NoMaterial2.gltf.txt.meta b/Tests/Resources/ExportTargets/NoMaterial2.gltf.txt.meta deleted file mode 100644 index f03cf7516..000000000 --- a/Tests/Resources/ExportTargets/NoMaterial2.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 1f7454fc686f141f699cf76fe2185c72 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/NormalTexture.gltf.txt b/Tests/Resources/ExportTargets/NormalTexture.gltf.txt deleted file mode 100644 index f7e125973..000000000 --- a/Tests/Resources/ExportTargets/NormalTexture.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"Sphere","mesh":1},{"name":"sphere","children":[1],"rotation":[0,0.7071068,0,0.7071068]},{"name":"NormalTexture","children":[0,2],"translation":[-14,0,0]}],"buffers":[{"uri":"NormalTexture.bin","byteLength":24728}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962},{"buffer":0,"byteLength":9216,"byteOffset":152,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9368,"byteStride":24,"target":34962},{"buffer":0,"byteLength":3840,"byteOffset":20888,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":5,"componentType":5126,"count":480,"type":"VEC2"},{"bufferView":3,"componentType":5125,"count":2304,"type":"SCALAR"}],"images":[{"name":"normal.png","uri":"normal.png","mimeType":"image/png"}],"materials":[{"name":"NormalTexture","pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":0.5},"normalTexture":{"index":0,"scale":1.1}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]}],"scene":0,"scenes":[{"name":"NormalTexture","nodes":[3]}],"textures":[{"source":0}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/NormalTexture.gltf.txt.meta b/Tests/Resources/ExportTargets/NormalTexture.gltf.txt.meta deleted file mode 100644 index cae830950..000000000 --- a/Tests/Resources/ExportTargets/NormalTexture.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 1588f7e266db14e73ba77a160d116aa7 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/OcclusionTexture.gltf.txt b/Tests/Resources/ExportTargets/OcclusionTexture.gltf.txt deleted file mode 100644 index bc2b75f62..000000000 --- a/Tests/Resources/ExportTargets/OcclusionTexture.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"Sphere","mesh":1},{"name":"sphere","children":[1],"rotation":[0,0.7071068,0,0.7071068]},{"name":"OcclusionTexture","children":[0,2],"translation":[-20,0,0]}],"buffers":[{"uri":"OcclusionTexture.bin","byteLength":24728}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962},{"buffer":0,"byteLength":9216,"byteOffset":152,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9368,"byteStride":24,"target":34962},{"buffer":0,"byteLength":3840,"byteOffset":20888,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":5,"componentType":5126,"count":480,"type":"VEC2"},{"bufferView":3,"componentType":5125,"count":2304,"type":"SCALAR"}],"images":[{"name":"occlusion.jpg","uri":"occlusion.jpg","mimeType":"image/jpeg"}],"materials":[{"name":"OcclusionTexture","pbrMetallicRoughness":{"baseColorFactor":[1,0.4543959,0.07655142,1],"metallicFactor":0,"roughnessFactor":0.7},"occlusionTexture":{"index":0}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]}],"scene":0,"scenes":[{"name":"OcclusionTexture","nodes":[3]}],"textures":[{"source":0}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/OcclusionTexture.gltf.txt.meta b/Tests/Resources/ExportTargets/OcclusionTexture.gltf.txt.meta deleted file mode 100644 index 03511acbb..000000000 --- a/Tests/Resources/ExportTargets/OcclusionTexture.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 6289e00e92bc14f23b7ac0de074855f5 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/OcclusionTextureStrength.gltf.txt b/Tests/Resources/ExportTargets/OcclusionTextureStrength.gltf.txt deleted file mode 100644 index 71ed3c7fe..000000000 --- a/Tests/Resources/ExportTargets/OcclusionTextureStrength.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"Sphere","mesh":1},{"name":"sphere","children":[1],"rotation":[0,0.7071068,0,0.7071068]},{"name":"OcclusionTextureStrength","children":[0,2],"translation":[-21,0,0]}],"extensionsRequired":["KHR_texture_transform"],"extensionsUsed":["KHR_texture_transform"],"buffers":[{"uri":"OcclusionTextureStrength.bin","byteLength":24728}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962},{"buffer":0,"byteLength":9216,"byteOffset":152,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9368,"byteStride":24,"target":34962},{"buffer":0,"byteLength":3840,"byteOffset":20888,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":5,"componentType":5126,"count":480,"type":"VEC2"},{"bufferView":3,"componentType":5125,"count":2304,"type":"SCALAR"}],"images":[{"name":"occlusion.jpg","uri":"occlusion.jpg","mimeType":"image/jpeg"}],"materials":[{"name":"OcclusionTextureStrength","pbrMetallicRoughness":{"baseColorFactor":[1,0.4543959,0.07655142,1],"metallicFactor":0},"occlusionTexture":{"index":0,"extensions":{"KHR_texture_transform":{"offset":[0,-0.5],"scale":[2,1.5]}},"strength":0.23}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]}],"scene":0,"scenes":[{"name":"OcclusionTextureStrength","nodes":[3]}],"textures":[{"source":0}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/OcclusionTextureStrength.gltf.txt.meta b/Tests/Resources/ExportTargets/OcclusionTextureStrength.gltf.txt.meta deleted file mode 100644 index b85f98e42..000000000 --- a/Tests/Resources/ExportTargets/OcclusionTextureStrength.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: cc1cb8fe9d3c34e14878b42452589987 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/PointCloud.gltf.txt b/Tests/Resources/ExportTargets/PointCloud.gltf.txt deleted file mode 100644 index b4c63e1db..000000000 --- a/Tests/Resources/ExportTargets/PointCloud.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"PointCloud","mesh":0,"translation":[-37,0,0]}],"extensionsRequired":["KHR_materials_unlit"],"extensionsUsed":["KHR_materials_unlit"],"buffers":[{"uri":"PointCloud.bin","byteLength":1824}],"bufferViews":[{"buffer":0,"byteLength":456,"target":34963},{"buffer":0,"byteLength":1368,"byteOffset":456,"byteStride":12,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":114,"type":"VEC3","max":[1,1,1.00000024],"min":[-1,-1,-0.9999998]},{"bufferView":0,"componentType":5125,"count":114,"type":"SCALAR"}],"materials":[{"name":"PointCloud","extensions":{"KHR_materials_unlit":{}}}],"meshes":[{"name":"PointCloud","primitives":[{"attributes":{"POSITION":0},"indices":1,"material":0,"mode":0}]}],"scene":0,"scenes":[{"name":"PointCloud","nodes":[0]}]} diff --git a/Tests/Resources/ExportTargets/PointCloud.gltf.txt.meta b/Tests/Resources/ExportTargets/PointCloud.gltf.txt.meta deleted file mode 100644 index d29b81a9c..000000000 --- a/Tests/Resources/ExportTargets/PointCloud.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 81ab684020baf4069a562f760aaf9f3e -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/Quads.gltf.txt b/Tests/Resources/ExportTargets/Quads.gltf.txt deleted file mode 100644 index e2209b8de..000000000 --- a/Tests/Resources/ExportTargets/Quads.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"QuadCube","mesh":0,"rotation":[-0.7071068,0,0,0.7071067],"scale":[100,100,100]},{"name":"Quads","children":[0],"translation":[-19,0,0]}],"buffers":[{"uri":"Quads.bin","byteLength":1224}],"bufferViews":[{"buffer":0,"byteLength":72,"target":34963},{"buffer":0,"byteLength":1152,"byteOffset":72,"byteStride":48,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":24,"type":"VEC3","max":[0.005,0.005,0.005],"min":[-0.005,-0.005,-0.005]},{"bufferView":1,"componentType":5126,"count":24,"type":"VEC3","byteOffset":12},{"bufferView":1,"componentType":5126,"count":24,"type":"VEC4","byteOffset":24},{"bufferView":1,"componentType":5126,"count":24,"type":"VEC2","byteOffset":40},{"bufferView":0,"componentType":5123,"count":36,"type":"SCALAR"}],"images":[{"name":"ColorGrid.jpg","uri":"ColorGrid.jpg","mimeType":"image/jpeg"}],"materials":[{"name":"BaseColorTexture","pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":0,"baseColorTexture":{"index":0}}}],"meshes":[{"name":"QuadCube","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TANGENT":2,"TEXCOORD_0":3},"indices":4,"material":0}]}],"scene":0,"scenes":[{"name":"Quads","nodes":[1]}],"textures":[{"source":0}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/Quads.gltf.txt.meta b/Tests/Resources/ExportTargets/Quads.gltf.txt.meta deleted file mode 100644 index 6b2cfd13d..000000000 --- a/Tests/Resources/ExportTargets/Quads.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 472b7420010924d7b84109f75727e159 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/Simple.gltf.txt b/Tests/Resources/ExportTargets/Simple.gltf.txt deleted file mode 100644 index c8f1b6332..000000000 --- a/Tests/Resources/ExportTargets/Simple.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Cube","mesh":0},{"name":"Sphere","mesh":1,"translation":[0,0,1]},{"name":"Simple","children":[0,1]}],"buffers":[{"uri":"Simple.bin","byteLength":34864}],"bufferViews":[{"buffer":0,"byteLength":72,"target":34963},{"buffer":0,"byteLength":1344,"byteOffset":72,"byteStride":56,"target":34962},{"buffer":0,"byteLength":4608,"byteOffset":1416,"target":34963},{"buffer":0,"byteLength":28840,"byteOffset":6024,"byteStride":56,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":24,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":1,"componentType":5126,"count":24,"type":"VEC3","byteOffset":12},{"bufferView":1,"componentType":5126,"count":24,"type":"VEC4","byteOffset":24},{"bufferView":1,"componentType":5126,"count":24,"type":"VEC2","byteOffset":40},{"bufferView":1,"componentType":5126,"count":24,"type":"VEC2","byteOffset":48},{"bufferView":0,"componentType":5123,"count":36,"type":"SCALAR"},{"bufferView":3,"componentType":5126,"count":515,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":3,"componentType":5126,"count":515,"type":"VEC3","byteOffset":12},{"bufferView":3,"componentType":5126,"count":515,"type":"VEC4","byteOffset":24},{"bufferView":3,"componentType":5126,"count":515,"type":"VEC2","byteOffset":40},{"bufferView":3,"componentType":5126,"count":515,"type":"VEC2","byteOffset":48},{"bufferView":2,"componentType":5123,"count":2304,"type":"SCALAR"}],"materials":[{"name":"Red","pbrMetallicRoughness":{"baseColorFactor":[1,0,0,1],"metallicFactor":0,"roughnessFactor":0.5}},{"name":"Green","pbrMetallicRoughness":{"baseColorFactor":[0,1,0,1],"metallicFactor":0,"roughnessFactor":0.5}}],"meshes":[{"name":"Cube","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TANGENT":2,"TEXCOORD_0":3,"TEXCOORD_1":4},"indices":5,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":6,"NORMAL":7,"TANGENT":8,"TEXCOORD_0":9,"TEXCOORD_1":10},"indices":11,"material":1}]}],"scene":0,"scenes":[{"name":"Simple","nodes":[2]}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/Simple.gltf.txt.meta b/Tests/Resources/ExportTargets/Simple.gltf.txt.meta deleted file mode 100644 index 479d5af3f..000000000 --- a/Tests/Resources/ExportTargets/Simple.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 7f4dae625a116469a8d69aa4fac4feba -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/SmoothnessTexture.gltf.txt b/Tests/Resources/ExportTargets/SmoothnessTexture.gltf.txt deleted file mode 100644 index db82fe25b..000000000 --- a/Tests/Resources/ExportTargets/SmoothnessTexture.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"Sphere","mesh":1},{"name":"sphere","children":[1],"rotation":[0,0.7071068,0,0.7071068]},{"name":"SmoothnessTexture","children":[0,2],"translation":[-25,0,0]}],"buffers":[{"uri":"SmoothnessTexture.bin","byteLength":24728}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962},{"buffer":0,"byteLength":9216,"byteOffset":152,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9368,"byteStride":24,"target":34962},{"buffer":0,"byteLength":3840,"byteOffset":20888,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":5,"componentType":5126,"count":480,"type":"VEC2"},{"bufferView":3,"componentType":5125,"count":2304,"type":"SCALAR"}],"images":[{"name":"smoothness.jpg","uri":"smoothness.jpg","mimeType":"image/jpeg"}],"materials":[{"name":"SmoothnessTexture","pbrMetallicRoughness":{"baseColorFactor":[0.0761853755,1,0.125470817,1],"metallicRoughnessTexture":{"index":0}}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]}],"samplers":[{"magFilter":9728,"minFilter":9728}],"scene":0,"scenes":[{"name":"SmoothnessTexture","nodes":[3]}],"textures":[{"source":0,"sampler":0}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/SmoothnessTexture.gltf.txt.meta b/Tests/Resources/ExportTargets/SmoothnessTexture.gltf.txt.meta deleted file mode 100644 index fcf8d21fd..000000000 --- a/Tests/Resources/ExportTargets/SmoothnessTexture.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 1d18218b82f7c4d0588b0a31ea3cbe30 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/Submesh.gltf.txt b/Tests/Resources/ExportTargets/Submesh.gltf.txt deleted file mode 100644 index 8374c0310..000000000 --- a/Tests/Resources/ExportTargets/Submesh.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Submesh","mesh":0,"translation":[-1,0,0]}],"buffers":[{"uri":"Submesh.bin","byteLength":204}],"bufferViews":[{"buffer":0,"byteLength":12,"target":34963},{"buffer":0,"byteLength":192,"byteOffset":12,"byteStride":48,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC4","byteOffset":24},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC2","byteOffset":40},{"bufferView":0,"componentType":5123,"count":3,"type":"SCALAR"},{"bufferView":0,"componentType":5123,"count":3,"type":"SCALAR","byteOffset":6}],"materials":[{"name":"Blue","pbrMetallicRoughness":{"baseColorFactor":[0.009788713,0.0222191289,0.8,1],"metallicFactor":0,"roughnessFactor":0.5}},{"name":"Red","pbrMetallicRoughness":{"baseColorFactor":[1,0,0,1],"metallicFactor":0,"roughnessFactor":0.5}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TANGENT":2,"TEXCOORD_0":3},"indices":4,"material":0},{"attributes":{"POSITION":0,"NORMAL":1,"TANGENT":2,"TEXCOORD_0":3},"indices":5,"material":1}]}],"scene":0,"scenes":[{"name":"Submesh","nodes":[0]}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/Submesh.gltf.txt.meta b/Tests/Resources/ExportTargets/Submesh.gltf.txt.meta deleted file mode 100644 index 847fe3dc4..000000000 --- a/Tests/Resources/ExportTargets/Submesh.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 5911871695a2c463db059d2690c4a0bc -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/URP.meta b/Tests/Resources/ExportTargets/URP.meta deleted file mode 100644 index ab47c25c4..000000000 --- a/Tests/Resources/ExportTargets/URP.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 8606486c2b90741e8bdb0042a2a3ed17 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/URP/ClearcoatFactor.gltf.txt b/Tests/Resources/ExportTargets/URP/ClearcoatFactor.gltf.txt deleted file mode 100644 index b75179978..000000000 --- a/Tests/Resources/ExportTargets/URP/ClearcoatFactor.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2022.3.44f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"Sphere","mesh":1},{"name":"sphere","children":[1],"rotation":[0,0.7071068,0,0.7071068]},{"name":"ClearcoatFactor","children":[0,2],"translation":[-39,0,0]}],"buffers":[{"uri":"ClearcoatFactor.bin","byteLength":20856}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":9216,"byteOffset":120,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9336,"byteStride":24,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"},{"bufferView":3,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":3,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5125,"count":2304,"type":"SCALAR"}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1},"indices":2}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":3,"NORMAL":4},"indices":5}]}],"scene":0,"scenes":[{"name":"ClearcoatFactor","nodes":[3]}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/URP/ClearcoatFactor.gltf.txt.meta b/Tests/Resources/ExportTargets/URP/ClearcoatFactor.gltf.txt.meta deleted file mode 100644 index 129f66c97..000000000 --- a/Tests/Resources/ExportTargets/URP/ClearcoatFactor.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: cd2cfe5e863874a09887a1fb1e9d420d -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/URP/ClearcoatTexture.gltf.txt b/Tests/Resources/ExportTargets/URP/ClearcoatTexture.gltf.txt deleted file mode 100644 index f574053ed..000000000 --- a/Tests/Resources/ExportTargets/URP/ClearcoatTexture.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2022.3.44f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"Sphere","mesh":1},{"name":"sphere","children":[1],"rotation":[0,0.7071068,0,0.7071068]},{"name":"ClearcoatTexture","children":[0,2],"translation":[-40,0,0]}],"buffers":[{"uri":"ClearcoatTexture.bin","byteLength":20856}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":9216,"byteOffset":120,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9336,"byteStride":24,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"},{"bufferView":3,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":3,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5125,"count":2304,"type":"SCALAR"}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1},"indices":2}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":3,"NORMAL":4},"indices":5}]}],"scene":0,"scenes":[{"name":"ClearcoatTexture","nodes":[3]}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/URP/ClearcoatTexture.gltf.txt.meta b/Tests/Resources/ExportTargets/URP/ClearcoatTexture.gltf.txt.meta deleted file mode 100644 index eefdef65b..000000000 --- a/Tests/Resources/ExportTargets/URP/ClearcoatTexture.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: ecea30a6838f34ec5a16d6bbd13f8a1e -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/URP/Dielectric.gltf.txt b/Tests/Resources/ExportTargets/URP/Dielectric.gltf.txt deleted file mode 100644 index a321c9034..000000000 --- a/Tests/Resources/ExportTargets/URP/Dielectric.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2022.3.44f1 glTFast 6.7.1"},"nodes":[{"name":"Sphere","mesh":0},{"name":"sphere 1","children":[0]},{"name":"Sphere","mesh":1},{"name":"sphere 2","children":[2],"translation":[0,0,1]},{"name":"Sphere","mesh":2},{"name":"sphere 3","children":[4],"translation":[0,0,2]},{"name":"Sphere","mesh":3},{"name":"sphere 4","children":[6],"translation":[0,0,3]},{"name":"Sphere","mesh":4},{"name":"sphere 5","children":[8],"translation":[0,0,4]},{"name":"Dielectric","children":[1,3,5,7,9],"translation":[-8,0,0]}],"buffers":[{"uri":"Dielectric.bin","byteLength":24576}],"bufferViews":[{"buffer":0,"byteLength":9216,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9216,"byteStride":24,"target":34962},{"buffer":0,"byteLength":3840,"byteOffset":20736,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":1,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":480,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":2304,"type":"SCALAR"}],"materials":[{"name":"Dielectric 1","pbrMetallicRoughness":{"baseColorFactor":[0.45914036,0.147178546,1,1],"metallicFactor":0,"roughnessFactor":0}},{"name":"Dielectric 2","pbrMetallicRoughness":{"baseColorFactor":[0.45914036,0.147178546,1,1],"metallicFactor":0,"roughnessFactor":0.25}},{"name":"Dielectric 3","pbrMetallicRoughness":{"baseColorFactor":[0.45914036,0.147178546,1,1],"metallicFactor":0,"roughnessFactor":0.5}},{"name":"Dielectric 4","pbrMetallicRoughness":{"baseColorFactor":[0.45914036,0.147178546,1,1],"metallicFactor":0,"roughnessFactor":0.75}},{"name":"Dielectric 5","pbrMetallicRoughness":{"baseColorFactor":[0.45914036,0.147178546,1,1],"metallicFactor":0}}],"meshes":[{"name":"Sphere","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":1}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":2}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":3}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":4}]}],"scene":0,"scenes":[{"name":"Dielectric","nodes":[10]}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/URP/Dielectric.gltf.txt.meta b/Tests/Resources/ExportTargets/URP/Dielectric.gltf.txt.meta deleted file mode 100644 index 4a1f24b47..000000000 --- a/Tests/Resources/ExportTargets/URP/Dielectric.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 3c522af463f464058b347d10a3b8d9c3 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/URP/DoubleSided.gltf.txt b/Tests/Resources/ExportTargets/URP/DoubleSided.gltf.txt deleted file mode 100644 index 7ff2d7a99..000000000 --- a/Tests/Resources/ExportTargets/URP/DoubleSided.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2022.3.44f1 glTFast 6.7.1"},"nodes":[{"name":"DoubleSided","mesh":0,"translation":[-18,0,0],"rotation":[-0.5,-0.5,-0.5,0.5]}],"buffers":[{"uri":"DoubleSided.bin","byteLength":152}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"}],"materials":[{"name":"DoubleSided","pbrMetallicRoughness":{"baseColorFactor":[0,0.008149112,1,1],"metallicFactor":0,"roughnessFactor":0.7},"doubleSided":true}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]}],"scene":0,"scenes":[{"name":"DoubleSided","nodes":[0]}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/URP/DoubleSided.gltf.txt.meta b/Tests/Resources/ExportTargets/URP/DoubleSided.gltf.txt.meta deleted file mode 100644 index 0045bb5c6..000000000 --- a/Tests/Resources/ExportTargets/URP/DoubleSided.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 957b85b3da1e14e93837307361c3a13c -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/URP/LightAreaDisc.gltf.txt b/Tests/Resources/ExportTargets/URP/LightAreaDisc.gltf.txt deleted file mode 100644 index a9a3abb29..000000000 --- a/Tests/Resources/ExportTargets/URP/LightAreaDisc.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2022.3.44f1 glTFast 6.7.1"},"nodes":[{"name":"Light","children":[3],"translation":[0,1,0],"rotation":[0.482962936,-0.224143922,0.129409552,0.8365163]},{"name":"Plane","mesh":0,"scale":[10,10,10]},{"name":"LightAreaDisc","children":[0,1],"translation":[-45,0,10]},{"name":"Light_Orientation","rotation":[0,-1,0,-4.371139E-08],"extensions":{"KHR_lights_punctual":{"light":0}}}],"extensionsRequired":["KHR_lights_punctual"],"extensionsUsed":["KHR_lights_punctual"],"buffers":[{"uri":"LightAreaDisc.bin","byteLength":152}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"}],"materials":[{"name":"Neutral","pbrMetallicRoughness":{"metallicFactor":0}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]}],"scene":0,"scenes":[{"name":"LightAreaDisc","nodes":[2]}],"extensions":{"KHR_lights_punctual":{"lights":[{"type":"spot","name":"Light","color":[0.6038274,0.0331047624,0.0331047624],"range":100,"spot":{"innerConeAngle":0.305432618,"outerConeAngle":0.3926991}}]}}} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/URP/LightAreaDisc.gltf.txt.meta b/Tests/Resources/ExportTargets/URP/LightAreaDisc.gltf.txt.meta deleted file mode 100644 index 74cb8ef58..000000000 --- a/Tests/Resources/ExportTargets/URP/LightAreaDisc.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 88239712d2a9848f58851aa4d3c07cd8 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/URP/LightAreaRectangle.gltf.txt b/Tests/Resources/ExportTargets/URP/LightAreaRectangle.gltf.txt deleted file mode 100644 index e8e7eca3e..000000000 --- a/Tests/Resources/ExportTargets/URP/LightAreaRectangle.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2022.3.44f1 glTFast 6.7.1"},"nodes":[{"name":"Light","children":[3],"translation":[0,1,0],"rotation":[0.482962936,-0.224143922,0.129409552,0.8365163]},{"name":"Plane","mesh":0,"scale":[10,10,10]},{"name":"LightAreaRectangle","children":[0,1],"translation":[-35,0,10]},{"name":"Light_Orientation","rotation":[0,-1,0,-4.371139E-08],"extensions":{"KHR_lights_punctual":{"light":0}}}],"extensionsRequired":["KHR_lights_punctual"],"extensionsUsed":["KHR_lights_punctual"],"buffers":[{"uri":"LightAreaRectangle.bin","byteLength":152}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"}],"materials":[{"name":"Neutral","pbrMetallicRoughness":{"metallicFactor":0}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]}],"scene":0,"scenes":[{"name":"LightAreaRectangle","nodes":[2]}],"extensions":{"KHR_lights_punctual":{"lights":[{"type":"spot","name":"Light","color":[0.6038274,0.0331047624,0.0331047624],"range":100,"spot":{"innerConeAngle":0.305432618,"outerConeAngle":0.3926991}}]}}} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/URP/LightAreaRectangle.gltf.txt.meta b/Tests/Resources/ExportTargets/URP/LightAreaRectangle.gltf.txt.meta deleted file mode 100644 index d37018509..000000000 --- a/Tests/Resources/ExportTargets/URP/LightAreaRectangle.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 45aa743feaa4745fc8fbbd7ed0de3b5b -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/URP/LightDirectional.gltf.txt b/Tests/Resources/ExportTargets/URP/LightDirectional.gltf.txt deleted file mode 100644 index 65e486e4f..000000000 --- a/Tests/Resources/ExportTargets/URP/LightDirectional.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2022.3.44f1 glTFast 6.7.1"},"nodes":[{"name":"Light","children":[3],"translation":[0,1,0],"rotation":[0.482962936,-0.224143922,0.129409552,0.8365163]},{"name":"Plane","mesh":0,"scale":[10,10,10]},{"name":"LightDirectional","children":[0,1],"translation":[-25,0,10]},{"name":"Light_Orientation","rotation":[0,-1,0,-4.371139E-08],"extensions":{"KHR_lights_punctual":{"light":0}}}],"extensionsRequired":["KHR_lights_punctual"],"extensionsUsed":["KHR_lights_punctual"],"buffers":[{"uri":"LightDirectional.bin","byteLength":152}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"}],"materials":[{"name":"Neutral","pbrMetallicRoughness":{"metallicFactor":0}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]}],"scene":0,"scenes":[{"name":"LightDirectional","nodes":[2]}],"extensions":{"KHR_lights_punctual":{"lights":[{"type":"directional","name":"Light","color":[0.6038274,0.0331047624,0.0331047624],"intensity":0.1}]}}} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/URP/LightDirectional.gltf.txt.meta b/Tests/Resources/ExportTargets/URP/LightDirectional.gltf.txt.meta deleted file mode 100644 index 22d8e8441..000000000 --- a/Tests/Resources/ExportTargets/URP/LightDirectional.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: e06faaeec9ed949f38d838f7a52a548f -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/URP/LightsPoint.gltf.txt b/Tests/Resources/ExportTargets/URP/LightsPoint.gltf.txt deleted file mode 100644 index 6e36a7708..000000000 --- a/Tests/Resources/ExportTargets/URP/LightsPoint.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2022.3.44f1 glTFast 6.7.1"},"nodes":[{"name":"Red","translation":[1,1,-1.73205],"extensions":{"KHR_lights_punctual":{"light":0}}},{"name":"Green","translation":[1,1,1.73205],"extensions":{"KHR_lights_punctual":{"light":1}}},{"name":"Blue","translation":[-2,1,0],"extensions":{"KHR_lights_punctual":{"light":2}}},{"name":"Plane","mesh":0,"scale":[10,10,10]},{"name":"LightsPoint","children":[0,1,2,3],"translation":[-5,0,10]}],"extensionsRequired":["KHR_lights_punctual"],"extensionsUsed":["KHR_lights_punctual"],"buffers":[{"uri":"LightsPoint.bin","byteLength":152}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"}],"materials":[{"name":"Neutral","pbrMetallicRoughness":{"metallicFactor":0}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]}],"scene":0,"scenes":[{"name":"LightsPoint","nodes":[4]}],"extensions":{"KHR_lights_punctual":{"lights":[{"type":"point","name":"Red","color":[1,0,0],"range":10},{"type":"point","name":"Green","color":[0,1,0],"range":10},{"type":"point","name":"Blue","color":[0,0,1],"range":10}]}}} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/URP/LightsPoint.gltf.txt.meta b/Tests/Resources/ExportTargets/URP/LightsPoint.gltf.txt.meta deleted file mode 100644 index 5dc3a1ee3..000000000 --- a/Tests/Resources/ExportTargets/URP/LightsPoint.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 698b527ac98f84fb0866e100a9308f21 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/URP/LightsSpot.gltf.txt b/Tests/Resources/ExportTargets/URP/LightsSpot.gltf.txt deleted file mode 100644 index 6c670b186..000000000 --- a/Tests/Resources/ExportTargets/URP/LightsSpot.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2022.3.44f1 glTFast 6.7.1"},"nodes":[{"name":"Red","children":[5],"translation":[1,12,-1.73205],"rotation":[0.7071068,0,0,0.7071068]},{"name":"Green","children":[6],"translation":[1,12,1.73205],"rotation":[0.7071068,0,0,0.7071068]},{"name":"Blue","children":[7],"translation":[-2,12,0],"rotation":[0.7071068,0,0,0.7071068]},{"name":"Plane","mesh":0,"scale":[10,10,10]},{"name":"LightsSpot","children":[0,1,2,3],"translation":[-15,0,10]},{"name":"Red_Orientation","rotation":[0,-1,0,-4.371139E-08],"extensions":{"KHR_lights_punctual":{"light":0}}},{"name":"Green_Orientation","rotation":[0,-1,0,-4.371139E-08],"extensions":{"KHR_lights_punctual":{"light":1}}},{"name":"Blue_Orientation","rotation":[0,-1,0,-4.371139E-08],"extensions":{"KHR_lights_punctual":{"light":2}}}],"extensionsRequired":["KHR_lights_punctual"],"extensionsUsed":["KHR_lights_punctual"],"buffers":[{"uri":"LightsSpot.bin","byteLength":152}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"}],"materials":[{"name":"Neutral","pbrMetallicRoughness":{"metallicFactor":0}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]}],"scene":0,"scenes":[{"name":"LightsSpot","nodes":[4]}],"extensions":{"KHR_lights_punctual":{"lights":[{"type":"spot","name":"Red","color":[1,0,0],"intensity":100,"range":100,"spot":{"innerConeAngle":0.190259039,"outerConeAngle":0.2617994}},{"type":"spot","name":"Green","color":[0,1,0],"intensity":100,"range":100,"spot":{"innerConeAngle":0.190259039,"outerConeAngle":0.2617994}},{"type":"spot","name":"Blue","color":[0,0,1],"intensity":100,"range":100,"spot":{"innerConeAngle":0.190259039,"outerConeAngle":0.2617994}}]}}} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/URP/LightsSpot.gltf.txt.meta b/Tests/Resources/ExportTargets/URP/LightsSpot.gltf.txt.meta deleted file mode 100644 index 29e229681..000000000 --- a/Tests/Resources/ExportTargets/URP/LightsSpot.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 07d6559fba3a74622a151a85f4527c00 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/URP/MetallicSmoothnessOcclusionTexture.gltf.txt b/Tests/Resources/ExportTargets/URP/MetallicSmoothnessOcclusionTexture.gltf.txt deleted file mode 100644 index d658d1e5d..000000000 --- a/Tests/Resources/ExportTargets/URP/MetallicSmoothnessOcclusionTexture.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2022.3.44f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"Sphere","mesh":1},{"name":"sphere","children":[1],"rotation":[0,0.7071068,0,0.7071068]},{"name":"MetallicSmoothnessOcclusionTexture","children":[0,2],"translation":[-28,0,0]}],"buffers":[{"uri":"MetallicSmoothnessOcclusionTexture.bin","byteLength":24728}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962},{"buffer":0,"byteLength":9216,"byteOffset":152,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9368,"byteStride":24,"target":34962},{"buffer":0,"byteLength":3840,"byteOffset":20888,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":5,"componentType":5126,"count":480,"type":"VEC2"},{"bufferView":3,"componentType":5125,"count":2304,"type":"SCALAR"}],"images":[{"name":"metallic-smoothness.jpg","uri":"metallic-smoothness.jpg","mimeType":"image/jpeg"}],"materials":[{"name":"MetallicSmoothnessOcclusionTexture","pbrMetallicRoughness":{"baseColorFactor":[0.0761853456,0.87672466,1,1],"metallicRoughnessTexture":{"index":0}},"occlusionTexture":{"index":0}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]}],"samplers":[{"magFilter":9728,"minFilter":9728}],"scene":0,"scenes":[{"name":"MetallicSmoothnessOcclusionTexture","nodes":[3]}],"textures":[{"source":0,"sampler":0}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/URP/MetallicSmoothnessOcclusionTexture.gltf.txt.meta b/Tests/Resources/ExportTargets/URP/MetallicSmoothnessOcclusionTexture.gltf.txt.meta deleted file mode 100644 index c2369cc66..000000000 --- a/Tests/Resources/ExportTargets/URP/MetallicSmoothnessOcclusionTexture.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: f51e59d3f96854259aa1338149c88393 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/URP/MetallicSmoothnessTexture.gltf.txt b/Tests/Resources/ExportTargets/URP/MetallicSmoothnessTexture.gltf.txt deleted file mode 100644 index 005f8b97b..000000000 --- a/Tests/Resources/ExportTargets/URP/MetallicSmoothnessTexture.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2022.3.44f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"Sphere","mesh":1},{"name":"sphere","children":[1],"rotation":[0,0.7071068,0,0.7071068]},{"name":"MetallicSmoothnessTexture","children":[0,2],"translation":[-27,0,0]}],"buffers":[{"uri":"MetallicSmoothnessTexture.bin","byteLength":24728}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962},{"buffer":0,"byteLength":9216,"byteOffset":152,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9368,"byteStride":24,"target":34962},{"buffer":0,"byteLength":3840,"byteOffset":20888,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":5,"componentType":5126,"count":480,"type":"VEC2"},{"bufferView":3,"componentType":5125,"count":2304,"type":"SCALAR"}],"images":[{"name":"metallic-smoothness.jpg","uri":"metallic-smoothness.jpg","mimeType":"image/jpeg"}],"materials":[{"name":"MetallicSmoothnessTexture","pbrMetallicRoughness":{"baseColorFactor":[0.0761853456,1,0.125470772,1],"metallicRoughnessTexture":{"index":0}}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]}],"samplers":[{"magFilter":9728,"minFilter":9728}],"scene":0,"scenes":[{"name":"MetallicSmoothnessTexture","nodes":[3]}],"textures":[{"source":0,"sampler":0}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/URP/MetallicSmoothnessTexture.gltf.txt.meta b/Tests/Resources/ExportTargets/URP/MetallicSmoothnessTexture.gltf.txt.meta deleted file mode 100644 index 688b00c47..000000000 --- a/Tests/Resources/ExportTargets/URP/MetallicSmoothnessTexture.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 9a91eb715552c4fc4afd0295b6620597 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/URP/MetallicTexture.gltf.txt b/Tests/Resources/ExportTargets/URP/MetallicTexture.gltf.txt deleted file mode 100644 index b30ac71b0..000000000 --- a/Tests/Resources/ExportTargets/URP/MetallicTexture.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2022.3.44f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"Sphere","mesh":1},{"name":"sphere","children":[1],"rotation":[0,0.7071068,0,0.7071068]},{"name":"MetallicTexture","children":[0,2],"translation":[-26,0,0]}],"buffers":[{"uri":"MetallicTexture.bin","byteLength":24728}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962},{"buffer":0,"byteLength":9216,"byteOffset":152,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9368,"byteStride":24,"target":34962},{"buffer":0,"byteLength":3840,"byteOffset":20888,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":5,"componentType":5126,"count":480,"type":"VEC2"},{"bufferView":3,"componentType":5125,"count":2304,"type":"SCALAR"}],"images":[{"name":"metallic.jpg","uri":"metallic.jpg","mimeType":"image/jpeg"}],"materials":[{"name":"MetallicTexture","pbrMetallicRoughness":{"baseColorFactor":[0.0761853456,1,0.125470772,1],"metallicRoughnessTexture":{"index":0}}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]}],"samplers":[{"magFilter":9728,"minFilter":9728}],"scene":0,"scenes":[{"name":"MetallicTexture","nodes":[3]}],"textures":[{"source":0,"sampler":0}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/URP/MetallicTexture.gltf.txt.meta b/Tests/Resources/ExportTargets/URP/MetallicTexture.gltf.txt.meta deleted file mode 100644 index c2391c468..000000000 --- a/Tests/Resources/ExportTargets/URP/MetallicTexture.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 2fc96d11bbc314706bcc08b7d07fa0a5 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/URP/NoMaterial2.gltf.txt b/Tests/Resources/ExportTargets/URP/NoMaterial2.gltf.txt deleted file mode 100644 index d23c8effd..000000000 --- a/Tests/Resources/ExportTargets/URP/NoMaterial2.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2022.3.44f1 glTFast 6.7.1"},"nodes":[{"name":"Submesh","mesh":0},{"name":"NoMaterial2","children":[0],"translation":[-3,0,0]}],"buffers":[{"uri":"NoMaterial2.bin","byteLength":204}],"bufferViews":[{"buffer":0,"byteLength":12,"target":34963},{"buffer":0,"byteLength":192,"byteOffset":12,"byteStride":48,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC4","byteOffset":24},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC2","byteOffset":40},{"bufferView":0,"componentType":5123,"count":3,"type":"SCALAR"},{"bufferView":0,"componentType":5123,"count":3,"type":"SCALAR","byteOffset":6}],"materials":[{"name":"Red","pbrMetallicRoughness":{"baseColorFactor":[1,0,0,1],"metallicFactor":0,"roughnessFactor":0.5}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TANGENT":2,"TEXCOORD_0":3},"indices":4},{"attributes":{"POSITION":0,"NORMAL":1,"TANGENT":2,"TEXCOORD_0":3},"indices":5,"material":0}]}],"scene":0,"scenes":[{"name":"NoMaterial2","nodes":[1]}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/URP/NoMaterial2.gltf.txt.meta b/Tests/Resources/ExportTargets/URP/NoMaterial2.gltf.txt.meta deleted file mode 100644 index 95269220b..000000000 --- a/Tests/Resources/ExportTargets/URP/NoMaterial2.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: b1d9170a394e94516a1ca5117691a0cd -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/URP/OcclusionTexture.gltf.txt b/Tests/Resources/ExportTargets/URP/OcclusionTexture.gltf.txt deleted file mode 100644 index e97d55052..000000000 --- a/Tests/Resources/ExportTargets/URP/OcclusionTexture.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2022.3.44f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"Sphere","mesh":1},{"name":"sphere","children":[1],"rotation":[0,0.7071068,0,0.7071068]},{"name":"OcclusionTexture","children":[0,2],"translation":[-20,0,0]}],"buffers":[{"uri":"OcclusionTexture.bin","byteLength":24728}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962},{"buffer":0,"byteLength":9216,"byteOffset":152,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9368,"byteStride":24,"target":34962},{"buffer":0,"byteLength":3840,"byteOffset":20888,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":5,"componentType":5126,"count":480,"type":"VEC2"},{"bufferView":3,"componentType":5125,"count":2304,"type":"SCALAR"}],"images":[{"name":"occlusion.jpg","uri":"occlusion.jpg","mimeType":"image/jpeg"}],"materials":[{"name":"OcclusionTexture","pbrMetallicRoughness":{"baseColorFactor":[1,0.4543959,0.0765513852,1],"metallicFactor":0,"roughnessFactor":0.7},"occlusionTexture":{"index":0}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]}],"scene":0,"scenes":[{"name":"OcclusionTexture","nodes":[3]}],"textures":[{"source":0}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/URP/OcclusionTexture.gltf.txt.meta b/Tests/Resources/ExportTargets/URP/OcclusionTexture.gltf.txt.meta deleted file mode 100644 index 732f3383a..000000000 --- a/Tests/Resources/ExportTargets/URP/OcclusionTexture.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: ac3bd1121b33f41adbc46adc92b7c1f0 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/URP/OcclusionTextureStrength.gltf.txt b/Tests/Resources/ExportTargets/URP/OcclusionTextureStrength.gltf.txt deleted file mode 100644 index 239415e74..000000000 --- a/Tests/Resources/ExportTargets/URP/OcclusionTextureStrength.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2022.3.44f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"Sphere","mesh":1},{"name":"sphere","children":[1],"rotation":[0,0.7071068,0,0.7071068]},{"name":"OcclusionTextureStrength","children":[0,2],"translation":[-21,0,0]}],"extensionsRequired":["KHR_texture_transform"],"extensionsUsed":["KHR_texture_transform"],"buffers":[{"uri":"OcclusionTextureStrength.bin","byteLength":24728}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962},{"buffer":0,"byteLength":9216,"byteOffset":152,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9368,"byteStride":24,"target":34962},{"buffer":0,"byteLength":3840,"byteOffset":20888,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":5,"componentType":5126,"count":480,"type":"VEC2"},{"bufferView":3,"componentType":5125,"count":2304,"type":"SCALAR"}],"images":[{"name":"occlusion.jpg","uri":"occlusion.jpg","mimeType":"image/jpeg"}],"materials":[{"name":"OcclusionTextureStrength","pbrMetallicRoughness":{"baseColorFactor":[1,0.4543959,0.0765513852,1],"metallicFactor":0},"occlusionTexture":{"index":0,"extensions":{"KHR_texture_transform":{"offset":[0,-0.5],"scale":[2,1.5]}},"strength":0.23}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]}],"scene":0,"scenes":[{"name":"OcclusionTextureStrength","nodes":[3]}],"textures":[{"source":0}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/URP/OcclusionTextureStrength.gltf.txt.meta b/Tests/Resources/ExportTargets/URP/OcclusionTextureStrength.gltf.txt.meta deleted file mode 100644 index a29dfdb08..000000000 --- a/Tests/Resources/ExportTargets/URP/OcclusionTextureStrength.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: bbbad014ec65245a3821ed9c2e937db2 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/URP/SmoothnessTexture.gltf.txt b/Tests/Resources/ExportTargets/URP/SmoothnessTexture.gltf.txt deleted file mode 100644 index 228cfc330..000000000 --- a/Tests/Resources/ExportTargets/URP/SmoothnessTexture.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2022.3.44f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"Sphere","mesh":1},{"name":"sphere","children":[1],"rotation":[0,0.7071068,0,0.7071068]},{"name":"SmoothnessTexture","children":[0,2],"translation":[-25,0,0]}],"buffers":[{"uri":"SmoothnessTexture.bin","byteLength":24728}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962},{"buffer":0,"byteLength":9216,"byteOffset":152,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9368,"byteStride":24,"target":34962},{"buffer":0,"byteLength":3840,"byteOffset":20888,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":5,"componentType":5126,"count":480,"type":"VEC2"},{"bufferView":3,"componentType":5125,"count":2304,"type":"SCALAR"}],"images":[{"name":"smoothness.jpg","uri":"smoothness.jpg","mimeType":"image/jpeg"}],"materials":[{"name":"SmoothnessTexture","pbrMetallicRoughness":{"baseColorFactor":[0.0761853456,1,0.125470772,1],"metallicRoughnessTexture":{"index":0}}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]}],"samplers":[{"magFilter":9728,"minFilter":9728}],"scene":0,"scenes":[{"name":"SmoothnessTexture","nodes":[3]}],"textures":[{"source":0,"sampler":0}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/URP/SmoothnessTexture.gltf.txt.meta b/Tests/Resources/ExportTargets/URP/SmoothnessTexture.gltf.txt.meta deleted file mode 100644 index 24fe0daa4..000000000 --- a/Tests/Resources/ExportTargets/URP/SmoothnessTexture.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 2394d2cb275e641dfae487dc04f9e0bd -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/URP/Submesh.gltf.txt b/Tests/Resources/ExportTargets/URP/Submesh.gltf.txt deleted file mode 100644 index 383e98e0b..000000000 --- a/Tests/Resources/ExportTargets/URP/Submesh.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2022.3.44f1 glTFast 6.7.1"},"nodes":[{"name":"Submesh","mesh":0,"translation":[-1,0,0]}],"buffers":[{"uri":"Submesh.bin","byteLength":204}],"bufferViews":[{"buffer":0,"byteLength":12,"target":34963},{"buffer":0,"byteLength":192,"byteOffset":12,"byteStride":48,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC4","byteOffset":24},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC2","byteOffset":40},{"bufferView":0,"componentType":5123,"count":3,"type":"SCALAR"},{"bufferView":0,"componentType":5123,"count":3,"type":"SCALAR","byteOffset":6}],"materials":[{"name":"Blue","pbrMetallicRoughness":{"baseColorFactor":[0.009788704,0.022219114,0.8,1],"metallicFactor":0,"roughnessFactor":0.5}},{"name":"Red","pbrMetallicRoughness":{"baseColorFactor":[1,0,0,1],"metallicFactor":0,"roughnessFactor":0.5}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TANGENT":2,"TEXCOORD_0":3},"indices":4,"material":0},{"attributes":{"POSITION":0,"NORMAL":1,"TANGENT":2,"TEXCOORD_0":3},"indices":5,"material":1}]}],"scene":0,"scenes":[{"name":"Submesh","nodes":[0]}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/URP/Submesh.gltf.txt.meta b/Tests/Resources/ExportTargets/URP/Submesh.gltf.txt.meta deleted file mode 100644 index 2d8e33e29..000000000 --- a/Tests/Resources/ExportTargets/URP/Submesh.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 68fd63eb1826a4e1c9d5719cb643a0bd -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/URP/Unlit.gltf.txt b/Tests/Resources/ExportTargets/URP/Unlit.gltf.txt deleted file mode 100644 index e22ea746c..000000000 --- a/Tests/Resources/ExportTargets/URP/Unlit.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2022.3.44f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"Sphere","mesh":1},{"name":"sphere","children":[1],"rotation":[0,0.7071068,0,0.7071068]},{"name":"Unlit","children":[0,2],"translation":[-15,0,0]}],"extensionsRequired":["KHR_materials_unlit"],"extensionsUsed":["KHR_materials_unlit"],"buffers":[{"uri":"Unlit.bin","byteLength":24728}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962},{"buffer":0,"byteLength":9216,"byteOffset":152,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9368,"byteStride":24,"target":34962},{"buffer":0,"byteLength":3840,"byteOffset":20888,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":5,"componentType":5126,"count":480,"type":"VEC2"},{"bufferView":3,"componentType":5125,"count":2304,"type":"SCALAR"}],"materials":[{"name":"Unlit","pbrMetallicRoughness":{"baseColorFactor":[1,0.2726522,0,1],"metallicFactor":0},"extensions":{"KHR_materials_unlit":{}}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]}],"scene":0,"scenes":[{"name":"Unlit","nodes":[3]}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/URP/Unlit.gltf.txt.meta b/Tests/Resources/ExportTargets/URP/Unlit.gltf.txt.meta deleted file mode 100644 index 8f012efa8..000000000 --- a/Tests/Resources/ExportTargets/URP/Unlit.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 69454fed19f4641239ce2b166fb2096a -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/Unlit.gltf.txt b/Tests/Resources/ExportTargets/Unlit.gltf.txt deleted file mode 100644 index 6fc41f636..000000000 --- a/Tests/Resources/ExportTargets/Unlit.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"Sphere","mesh":1},{"name":"sphere","children":[1],"rotation":[0,0.7071068,0,0.7071068]},{"name":"Unlit","children":[0,2],"translation":[-15,0,0]}],"extensionsRequired":["KHR_materials_unlit"],"extensionsUsed":["KHR_materials_unlit"],"buffers":[{"uri":"Unlit.bin","byteLength":24728}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962},{"buffer":0,"byteLength":9216,"byteOffset":152,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9368,"byteStride":24,"target":34962},{"buffer":0,"byteLength":3840,"byteOffset":20888,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":5,"componentType":5126,"count":480,"type":"VEC2"},{"bufferView":3,"componentType":5125,"count":2304,"type":"SCALAR"}],"materials":[{"name":"Unlit","pbrMetallicRoughness":{"baseColorFactor":[1,0.272652268,0,1],"metallicFactor":0},"extensions":{"KHR_materials_unlit":{}}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]}],"scene":0,"scenes":[{"name":"Unlit","nodes":[3]}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/Unlit.gltf.txt.meta b/Tests/Resources/ExportTargets/Unlit.gltf.txt.meta deleted file mode 100644 index c30f25998..000000000 --- a/Tests/Resources/ExportTargets/Unlit.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: f9ae06dc170024590b4f629bf1828664 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/UnlitTextured.gltf.txt b/Tests/Resources/ExportTargets/UnlitTextured.gltf.txt deleted file mode 100644 index a5bdc7174..000000000 --- a/Tests/Resources/ExportTargets/UnlitTextured.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"Sphere","mesh":1},{"name":"sphere","children":[1],"rotation":[0,0.7071068,0,0.7071068]},{"name":"UnlitTextured","children":[0,2],"translation":[-16,0,0]}],"extensionsRequired":["KHR_materials_unlit"],"extensionsUsed":["KHR_materials_unlit"],"buffers":[{"uri":"UnlitTextured.bin","byteLength":24728}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962},{"buffer":0,"byteLength":9216,"byteOffset":152,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9368,"byteStride":24,"target":34962},{"buffer":0,"byteLength":3840,"byteOffset":20888,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":5,"componentType":5126,"count":480,"type":"VEC2"},{"bufferView":3,"componentType":5125,"count":2304,"type":"SCALAR"}],"images":[{"name":"ColorGrid.jpg","uri":"ColorGrid.jpg","mimeType":"image/jpeg"}],"materials":[{"name":"UnlitTextured","pbrMetallicRoughness":{"metallicFactor":0,"baseColorTexture":{"index":0}},"extensions":{"KHR_materials_unlit":{}}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]}],"scene":0,"scenes":[{"name":"UnlitTextured","nodes":[3]}],"textures":[{"source":0}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/UnlitTextured.gltf.txt.meta b/Tests/Resources/ExportTargets/UnlitTextured.gltf.txt.meta deleted file mode 100644 index 64dddfa39..000000000 --- a/Tests/Resources/ExportTargets/UnlitTextured.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 8c3b4bbc8bd7443f2b480f79c1315f59 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/UnlitTexturedTransform.gltf.txt b/Tests/Resources/ExportTargets/UnlitTexturedTransform.gltf.txt deleted file mode 100644 index dd583dd14..000000000 --- a/Tests/Resources/ExportTargets/UnlitTexturedTransform.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"Plane","mesh":0,"translation":[0,0,1]},{"name":"Sphere","mesh":1},{"name":"sphere","children":[1],"rotation":[0,0.7071068,0,0.7071068]},{"name":"UnlitTexturedTransform","children":[0,2],"translation":[-17,0,0]}],"extensionsRequired":["KHR_materials_unlit","KHR_texture_transform"],"extensionsUsed":["KHR_materials_unlit","KHR_texture_transform"],"buffers":[{"uri":"UnlitTexturedTransform.bin","byteLength":24728}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962},{"buffer":0,"byteLength":9216,"byteOffset":152,"target":34963},{"buffer":0,"byteLength":11520,"byteOffset":9368,"byteStride":24,"target":34962},{"buffer":0,"byteLength":3840,"byteOffset":20888,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","max":[0.5,0.5,0.5],"min":[-0.5,-0.5,-0.5]},{"bufferView":4,"componentType":5126,"count":480,"type":"VEC3","byteOffset":12},{"bufferView":5,"componentType":5126,"count":480,"type":"VEC2"},{"bufferView":3,"componentType":5125,"count":2304,"type":"SCALAR"}],"images":[{"name":"ColorGrid.jpg","uri":"ColorGrid.jpg","mimeType":"image/jpeg"}],"materials":[{"name":"UnlitTexturedTransform","pbrMetallicRoughness":{"metallicFactor":0,"baseColorTexture":{"index":0,"extensions":{"KHR_texture_transform":{"offset":[-0.5,-1],"scale":[2,1.5]}}}},"extensions":{"KHR_materials_unlit":{}}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Sphere","primitives":[{"attributes":{"POSITION":4,"NORMAL":5,"TEXCOORD_0":6},"indices":7,"material":0}]}],"scene":0,"scenes":[{"name":"UnlitTexturedTransform","nodes":[3]}],"textures":[{"source":0}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/UnlitTexturedTransform.gltf.txt.meta b/Tests/Resources/ExportTargets/UnlitTexturedTransform.gltf.txt.meta deleted file mode 100644 index 574d01d17..000000000 --- a/Tests/Resources/ExportTargets/UnlitTexturedTransform.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 7d62bdca5155c4024af7a3fc08a25c80 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/WrapModeU.gltf.txt b/Tests/Resources/ExportTargets/WrapModeU.gltf.txt deleted file mode 100644 index c469b70f8..000000000 --- a/Tests/Resources/ExportTargets/WrapModeU.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"R","mesh":0},{"name":"C","mesh":1,"translation":[0,0,1]},{"name":"M","mesh":2,"translation":[0,0,2]},{"name":"M1","mesh":3,"translation":[0,0,3]},{"name":"WrapModeU","children":[0,1,2,3],"translation":[-33,0,0]}],"extensionsRequired":["KHR_texture_transform"],"extensionsUsed":["KHR_texture_transform"],"buffers":[{"uri":"WrapModeU.bin","byteLength":152}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"}],"images":[{"name":"WrapModeCR.jpg","uri":"WrapModeCR.jpg","mimeType":"image/jpeg"},{"name":"WrapModeCC.jpg","uri":"WrapModeCC.jpg","mimeType":"image/jpeg"},{"name":"WrapModeCM.jpg","uri":"WrapModeCM.jpg","mimeType":"image/jpeg"},{"name":"WrapModeCM1.jpg","uri":"WrapModeCM1.jpg","mimeType":"image/jpeg"}],"materials":[{"name":"WrapModeCR","pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":0,"baseColorTexture":{"index":0,"extensions":{"KHR_texture_transform":{"offset":[-0.5,-3],"scale":[2,3]}}}}},{"name":"WrapModeCC","pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":0,"baseColorTexture":{"index":1,"extensions":{"KHR_texture_transform":{"offset":[-0.5,-1],"scale":[2,3]}}}}},{"name":"WrapModeCM","pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":0,"baseColorTexture":{"index":2,"extensions":{"KHR_texture_transform":{"offset":[-1.5,-2],"scale":[4,5]}}}}},{"name":"WrapModeCM1","pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":0,"baseColorTexture":{"index":3,"extensions":{"KHR_texture_transform":{"offset":[-1.5,-2],"scale":[4,5]}}}}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":1}]},{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":2}]},{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":3}]}],"samplers":[{"magFilter":9728,"minFilter":9728,"wrapS":33071},{"magFilter":9728,"minFilter":9728,"wrapS":33071,"wrapT":33071},{"magFilter":9728,"minFilter":9728,"wrapS":33071,"wrapT":33648},{"magFilter":9728,"minFilter":9728,"wrapS":33071,"wrapT":33648}],"scene":0,"scenes":[{"name":"WrapModeU","nodes":[4]}],"textures":[{"source":0,"sampler":0},{"source":1,"sampler":1},{"source":2,"sampler":2},{"source":3,"sampler":3}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/WrapModeU.gltf.txt.meta b/Tests/Resources/ExportTargets/WrapModeU.gltf.txt.meta deleted file mode 100644 index b57c9f316..000000000 --- a/Tests/Resources/ExportTargets/WrapModeU.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 4f3d0d58747d14e38a5a1f165d1cf60d -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Resources/ExportTargets/WrapModeV.gltf.txt b/Tests/Resources/ExportTargets/WrapModeV.gltf.txt deleted file mode 100644 index 0574c9c7f..000000000 --- a/Tests/Resources/ExportTargets/WrapModeV.gltf.txt +++ /dev/null @@ -1 +0,0 @@ -{"asset":{"version":"2.0","generator":"Unity 2020.3.48f1 glTFast 6.7.1"},"nodes":[{"name":"R","mesh":0},{"name":"C","mesh":1,"translation":[0,0,1]},{"name":"M","mesh":2,"translation":[0,0,2]},{"name":"M1","mesh":3,"translation":[0,0,3]},{"name":"WrapModeV","children":[0,1,2,3],"translation":[-34,0,0]}],"extensionsRequired":["KHR_texture_transform"],"extensionsUsed":["KHR_texture_transform"],"buffers":[{"uri":"WrapModeV.bin","byteLength":152}],"bufferViews":[{"buffer":0,"byteLength":24,"target":34963},{"buffer":0,"byteLength":96,"byteOffset":24,"byteStride":24,"target":34962},{"buffer":0,"byteLength":32,"byteOffset":120,"byteStride":8,"target":34962}],"accessors":[{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","max":[0.5,0,0.5],"min":[-0.5,0,-0.5]},{"bufferView":1,"componentType":5126,"count":4,"type":"VEC3","byteOffset":12},{"bufferView":2,"componentType":5126,"count":4,"type":"VEC2"},{"bufferView":0,"componentType":5125,"count":6,"type":"SCALAR"}],"images":[{"name":"WrapModeRC.jpg","uri":"WrapModeRC.jpg","mimeType":"image/jpeg"},{"name":"WrapModeCC.jpg","uri":"WrapModeCC.jpg","mimeType":"image/jpeg"},{"name":"WrapModeMC.jpg","uri":"WrapModeMC.jpg","mimeType":"image/jpeg"},{"name":"WrapModeM1C.jpg","uri":"WrapModeM1C.jpg","mimeType":"image/jpeg"}],"materials":[{"name":"WrapModeRC","pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":0,"baseColorTexture":{"index":0,"extensions":{"KHR_texture_transform":{"offset":[-1,-0.5],"scale":[3,2]}}}}},{"name":"WrapModeCC","pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":0,"baseColorTexture":{"index":1,"extensions":{"KHR_texture_transform":{"offset":[-0.5,-1],"scale":[2,3]}}}}},{"name":"WrapModeMC","pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":0,"baseColorTexture":{"index":2,"extensions":{"KHR_texture_transform":{"offset":[-2,-1.5],"scale":[5,4]}}}}},{"name":"WrapModeM1C","pbrMetallicRoughness":{"metallicFactor":0,"roughnessFactor":0,"baseColorTexture":{"index":3,"extensions":{"KHR_texture_transform":{"offset":[-2,-1.5],"scale":[5,4]}}}}}],"meshes":[{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":0}]},{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":1}]},{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":2}]},{"name":"Plane","primitives":[{"attributes":{"POSITION":0,"NORMAL":1,"TEXCOORD_0":2},"indices":3,"material":3}]}],"samplers":[{"magFilter":9728,"minFilter":9728,"wrapT":33071},{"magFilter":9728,"minFilter":9728,"wrapS":33071,"wrapT":33071},{"magFilter":9728,"minFilter":9728,"wrapS":33648,"wrapT":33071},{"magFilter":9728,"minFilter":9728,"wrapS":33648,"wrapT":33071}],"scene":0,"scenes":[{"name":"WrapModeV","nodes":[4]}],"textures":[{"source":0,"sampler":0},{"source":1,"sampler":1},{"source":2,"sampler":2},{"source":3,"sampler":3}]} \ No newline at end of file diff --git a/Tests/Resources/ExportTargets/WrapModeV.gltf.txt.meta b/Tests/Resources/ExportTargets/WrapModeV.gltf.txt.meta deleted file mode 100644 index 233d64788..000000000 --- a/Tests/Resources/ExportTargets/WrapModeV.gltf.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 345100f061932497ab223350c270fbef -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime.meta b/Tests/Runtime.meta deleted file mode 100644 index d80717d86..000000000 --- a/Tests/Runtime.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 5b4389dbb919b49d688f7b3f855f6652 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export.meta b/Tests/Runtime/Export.meta deleted file mode 100644 index ce383eaf7..000000000 --- a/Tests/Runtime/Export.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: d8f9c088e196d4a999cb828b179b1e93 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/ExportRenderTexture.renderTexture b/Tests/Runtime/Export/ExportRenderTexture.renderTexture deleted file mode 100644 index 19f3d9fa1..000000000 --- a/Tests/Runtime/Export/ExportRenderTexture.renderTexture +++ /dev/null @@ -1,39 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!84 &8400000 -RenderTexture: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: ExportRenderTexture - m_ImageContentsHash: - serializedVersion: 2 - Hash: 00000000000000000000000000000000 - m_ForcedFallbackFormat: 4 - m_DownscaleFallback: 0 - m_IsAlphaChannelOptional: 0 - serializedVersion: 5 - m_Width: 1920 - m_Height: 1080 - m_AntiAliasing: 1 - m_MipCount: -1 - m_DepthStencilFormat: 92 - m_ColorFormat: 8 - m_MipMap: 0 - m_GenerateMips: 1 - m_SRGB: 0 - m_UseDynamicScale: 0 - m_BindMS: 0 - m_EnableCompatibleFormat: 1 - m_TextureSettings: - serializedVersion: 2 - m_FilterMode: 1 - m_Aniso: 0 - m_MipBias: 0 - m_WrapU: 1 - m_WrapV: 1 - m_WrapW: 1 - m_Dimension: 2 - m_VolumeDepth: 1 - m_ShadowSamplingMode: 2 diff --git a/Tests/Runtime/Export/ExportRenderTexture.renderTexture.meta b/Tests/Runtime/Export/ExportRenderTexture.renderTexture.meta deleted file mode 100644 index abd0135ac..000000000 --- a/Tests/Runtime/Export/ExportRenderTexture.renderTexture.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: ecf3a3b1ff40b4f4286a810b213e836e -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 8400000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials.meta b/Tests/Runtime/Export/Materials.meta deleted file mode 100644 index 81702ad58..000000000 --- a/Tests/Runtime/Export/Materials.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: ed6918c614a0e4fef95913117f347ce8 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn.meta b/Tests/Runtime/Export/Materials/BuiltIn.meta deleted file mode 100644 index 7b1ff566c..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 0ed0af34f7a7a4cf5b4f23d61cb03936 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/BaseColorSmoothnessMetalOcclusionTexture.mat b/Tests/Runtime/Export/Materials/BuiltIn/BaseColorSmoothnessMetalOcclusionTexture.mat deleted file mode 100644 index 52bc8fc9c..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/BaseColorSmoothnessMetalOcclusionTexture.mat +++ /dev/null @@ -1,77 +0,0 @@ -%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: BaseColorSmoothnessMetalOcclusionTexture - m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _METALLICGLOSSMAP _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A - 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: 2800000, guid: 1e22bd6b46ceb4d0c99cfdb552ec8586, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 2800000, guid: 5ef6154092f98438eb29c2098eab2698, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OcclusionMap: - m_Texture: {fileID: 2800000, guid: 86e3dd7e20359476581017099cdcfe63, type: 3} - 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: 1 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _SmoothnessTextureChannel: 1 - - _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} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/BaseColorSmoothnessMetalOcclusionTexture.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/BaseColorSmoothnessMetalOcclusionTexture.mat.meta deleted file mode 100644 index 8d43f5057..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/BaseColorSmoothnessMetalOcclusionTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 63279441d002841f397ff8daca6ac5fe -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/BaseColorSmoothnessMetalTexture.mat b/Tests/Runtime/Export/Materials/BuiltIn/BaseColorSmoothnessMetalTexture.mat deleted file mode 100644 index 01e2488bf..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/BaseColorSmoothnessMetalTexture.mat +++ /dev/null @@ -1,77 +0,0 @@ -%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: BaseColorSmoothnessMetalTexture - m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _METALLICGLOSSMAP _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A - 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: 2800000, guid: 1e22bd6b46ceb4d0c99cfdb552ec8586, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 2800000, guid: 5ef6154092f98438eb29c2098eab2698, 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: 1 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _SmoothnessTextureChannel: 1 - - _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} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/BaseColorSmoothnessMetalTexture.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/BaseColorSmoothnessMetalTexture.mat.meta deleted file mode 100644 index 5c36c1909..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/BaseColorSmoothnessMetalTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: be8459f8d923e436db581555edb71fd1 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/BaseColorSmoothnessTexture.mat b/Tests/Runtime/Export/Materials/BuiltIn/BaseColorSmoothnessTexture.mat deleted file mode 100644 index 307044c85..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/BaseColorSmoothnessTexture.mat +++ /dev/null @@ -1,77 +0,0 @@ -%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: BaseColorSmoothnessTexture - m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A - 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: 2800000, guid: 1e22bd6b46ceb4d0c99cfdb552ec8586, type: 3} - 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: 1 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _SmoothnessTextureChannel: 1 - - _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} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/BaseColorSmoothnessTexture.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/BaseColorSmoothnessTexture.mat.meta deleted file mode 100644 index 72c91d8f4..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/BaseColorSmoothnessTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 2b7eac06f49e7489586021348d128daa -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/BaseColorTexture.mat b/Tests/Runtime/Export/Materials/BuiltIn/BaseColorTexture.mat deleted file mode 100644 index fa77f1229..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/BaseColorTexture.mat +++ /dev/null @@ -1,77 +0,0 @@ -%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: BaseColorTexture - 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: 2800000, guid: 767b013dd53264d2a858edf8651b320d, type: 3} - 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: 1 - - _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} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/BaseColorTexture.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/BaseColorTexture.mat.meta deleted file mode 100644 index edb6959db..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/BaseColorTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 31f4969c5e330438a8486617223f2865 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/BaseColorTextureCutout.mat b/Tests/Runtime/Export/Materials/BuiltIn/BaseColorTextureCutout.mat deleted file mode 100644 index 99896b0a8..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/BaseColorTextureCutout.mat +++ /dev/null @@ -1,78 +0,0 @@ -%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: BaseColorTextureCutout - m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _ALPHATEST_ON - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2450 - stringTagMap: - RenderType: TransparentCutout - 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: 2800000, guid: 1e22bd6b46ceb4d0c99cfdb552ec8586, type: 3} - 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.6 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _GlossMapScale: 1 - - _Glossiness: 1 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 1 - - _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} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/BaseColorTextureCutout.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/BaseColorTextureCutout.mat.meta deleted file mode 100644 index 23cb17657..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/BaseColorTextureCutout.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 6a3e137a19a764dc09bfc22957256686 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/BaseColorTextureFade.mat b/Tests/Runtime/Export/Materials/BuiltIn/BaseColorTextureFade.mat deleted file mode 100644 index b044e62ff..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/BaseColorTextureFade.mat +++ /dev/null @@ -1,78 +0,0 @@ -%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: BaseColorTextureFade - m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _ALPHABLEND_ON - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 3000 - stringTagMap: - RenderType: Transparent - 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: 2800000, guid: 1e22bd6b46ceb4d0c99cfdb552ec8586, type: 3} - 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.6 - - _DetailNormalMapScale: 1 - - _DstBlend: 10 - - _GlossMapScale: 1 - - _Glossiness: 1 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 2 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 5 - - _UVSec: 0 - - _ZWrite: 0 - m_Colors: - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/BaseColorTextureFade.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/BaseColorTextureFade.mat.meta deleted file mode 100644 index 3ed048b45..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/BaseColorTextureFade.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: e0331ca8900ee454b8a1eb1bd6df89c1 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/BaseColorTextureTransform.mat b/Tests/Runtime/Export/Materials/BuiltIn/BaseColorTextureTransform.mat deleted file mode 100644 index 79d679b2d..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/BaseColorTextureTransform.mat +++ /dev/null @@ -1,77 +0,0 @@ -%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: BaseColorTextureTransform - 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.5, y: 2} - m_Offset: {x: 0.5, y: -0.5} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 767b013dd53264d2a858edf8651b320d, type: 3} - m_Scale: {x: 1.5, y: 2} - m_Offset: {x: 0.5, y: -0.5} - - _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 - - _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} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/BaseColorTextureTransform.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/BaseColorTextureTransform.mat.meta deleted file mode 100644 index 9c56a296c..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/BaseColorTextureTransform.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 0c6e10dd61f654b2a9a6f82850a3948f -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/BaseColorTextureTransparent.mat b/Tests/Runtime/Export/Materials/BuiltIn/BaseColorTextureTransparent.mat deleted file mode 100644 index 17ef5a30d..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/BaseColorTextureTransparent.mat +++ /dev/null @@ -1,78 +0,0 @@ -%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: BaseColorTextureTransparent - m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _ALPHAPREMULTIPLY_ON - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 3000 - stringTagMap: - RenderType: Transparent - 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: 2800000, guid: 1e22bd6b46ceb4d0c99cfdb552ec8586, type: 3} - 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.6 - - _DetailNormalMapScale: 1 - - _DstBlend: 10 - - _GlossMapScale: 1 - - _Glossiness: 1 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 3 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _UVSec: 0 - - _ZWrite: 0 - m_Colors: - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/BaseColorTextureTransparent.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/BaseColorTextureTransparent.mat.meta deleted file mode 100644 index db31f1fad..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/BaseColorTextureTransparent.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: da13c4718329541fe8b2c313c3e847fa -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/Blue.mat b/Tests/Runtime/Export/Materials/BuiltIn/Blue.mat deleted file mode 100644 index 17affdb71..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/Blue.mat +++ /dev/null @@ -1,77 +0,0 @@ -%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: Blue - 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.09848107, g: 0.16096765, b: 0.9063317, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/Blue.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/Blue.mat.meta deleted file mode 100644 index 37194024b..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/Blue.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 32c710f2784b940fc827dca0661bf68d -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/Dielectric 1.mat b/Tests/Runtime/Export/Materials/BuiltIn/Dielectric 1.mat deleted file mode 100644 index b13c1117e..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/Dielectric 1.mat +++ /dev/null @@ -1,77 +0,0 @@ -%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: Dielectric 1 - 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: 1 - - _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.7077749, g: 0.4198113, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/Dielectric 1.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/Dielectric 1.mat.meta deleted file mode 100644 index 0b75ffeb3..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/Dielectric 1.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 3c3e86f276c9b4fb09cf309f2598beb0 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/Dielectric 2.mat b/Tests/Runtime/Export/Materials/BuiltIn/Dielectric 2.mat deleted file mode 100644 index 6f2a26389..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/Dielectric 2.mat +++ /dev/null @@ -1,77 +0,0 @@ -%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: Dielectric 2 - 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.75 - - _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.7077749, g: 0.4198113, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/Dielectric 2.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/Dielectric 2.mat.meta deleted file mode 100644 index 57cb637f5..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/Dielectric 2.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 938a14ae81b9e44a0a777226ffaa5240 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/Dielectric 3.mat b/Tests/Runtime/Export/Materials/BuiltIn/Dielectric 3.mat deleted file mode 100644 index e68e450a5..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/Dielectric 3.mat +++ /dev/null @@ -1,77 +0,0 @@ -%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: Dielectric 3 - 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.7077749, g: 0.4198113, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/Dielectric 3.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/Dielectric 3.mat.meta deleted file mode 100644 index 801f5c292..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/Dielectric 3.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: d240cc28d24cd4c0fa667cd13a83b8aa -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/Dielectric 4.mat b/Tests/Runtime/Export/Materials/BuiltIn/Dielectric 4.mat deleted file mode 100644 index 6c1ed7ab6..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/Dielectric 4.mat +++ /dev/null @@ -1,77 +0,0 @@ -%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: Dielectric 4 - 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.25 - - _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.7077749, g: 0.4198113, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/Dielectric 4.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/Dielectric 4.mat.meta deleted file mode 100644 index e404b999b..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/Dielectric 4.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: f1a988547c53d4cdca222fd8d4f7fddd -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/Dielectric 5.mat b/Tests/Runtime/Export/Materials/BuiltIn/Dielectric 5.mat deleted file mode 100644 index b25b93d2f..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/Dielectric 5.mat +++ /dev/null @@ -1,77 +0,0 @@ -%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: Dielectric 5 - 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 - - _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.7077749, g: 0.4198113, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/Dielectric 5.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/Dielectric 5.mat.meta deleted file mode 100644 index e09109a9d..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/Dielectric 5.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 8df769c72dae24e2faab74eca7793568 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/DoubleSided.mat b/Tests/Runtime/Export/Materials/BuiltIn/DoubleSided.mat deleted file mode 100644 index eee6f0e6e..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/DoubleSided.mat +++ /dev/null @@ -1,95 +0,0 @@ -%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: DoubleSided - m_Shader: {fileID: 210, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: - m_LightmapFlags: 0 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 1 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: - - ALWAYS - 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: - - _BlendOp: 0 - - _BumpScale: 1 - - _CameraFadingEnabled: 0 - - _CameraFarFadeDistance: 2 - - _CameraNearFadeDistance: 1 - - _Cull: 0 - - _Cutoff: 0.5 - - _DetailNormalMapScale: 1 - - _DistortionBlend: 0.5 - - _DistortionEnabled: 0 - - _DistortionStrength: 1 - - _DistortionStrengthScaled: 0 - - _DstBlend: 0 - - _EmissionEnabled: 0 - - _FlipbookMode: 0 - - _GlossMapScale: 1 - - _Glossiness: 0.3 - - _GlossyReflections: 1 - - _LightingEnabled: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _SmoothnessTextureChannel: 0 - - _SoftParticlesEnabled: 0 - - _SoftParticlesFarFadeDistance: 1 - - _SoftParticlesNearFadeDistance: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _UVSec: 0 - - _ZWrite: 1 - m_Colors: - - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} - - _Color: {r: 0, g: 0.087194204, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/DoubleSided.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/DoubleSided.mat.meta deleted file mode 100644 index ff8b1851a..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/DoubleSided.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: a2562479896f14dd0a954e2d1071004c -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/EmissiveFactor.mat b/Tests/Runtime/Export/Materials/BuiltIn/EmissiveFactor.mat deleted file mode 100644 index 433968f01..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/EmissiveFactor.mat +++ /dev/null @@ -1,77 +0,0 @@ -%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: EmissiveFactor - m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _EMISSION - m_LightmapFlags: 2 - 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 - - _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, g: 0, b: 0, a: 1} - - _EmissionColor: {r: 1, g: 1, b: 0, a: 1} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/EmissiveFactor.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/EmissiveFactor.mat.meta deleted file mode 100644 index 382ba91c6..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/EmissiveFactor.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: e192574a685c24fe4bbba97c35aa7e66 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/EmissiveTexture.mat b/Tests/Runtime/Export/Materials/BuiltIn/EmissiveTexture.mat deleted file mode 100644 index 622ac2dd9..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/EmissiveTexture.mat +++ /dev/null @@ -1,77 +0,0 @@ -%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: EmissiveTexture - m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _EMISSION - m_LightmapFlags: 2 - 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: 2800000, guid: 9c4491c9e24fa4801a5c76a13c1e44d5, type: 3} - 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 - - _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, g: 0, b: 0, a: 1} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/EmissiveTexture.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/EmissiveTexture.mat.meta deleted file mode 100644 index 105f34362..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/EmissiveTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: c97ac67f2de3940f58e2122cbedb2b73 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/EmissiveTextureFactor.mat b/Tests/Runtime/Export/Materials/BuiltIn/EmissiveTextureFactor.mat deleted file mode 100644 index fb11fafca..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/EmissiveTextureFactor.mat +++ /dev/null @@ -1,77 +0,0 @@ -%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: EmissiveTextureFactor - m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _EMISSION - m_LightmapFlags: 2 - 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: 2800000, guid: 9c4491c9e24fa4801a5c76a13c1e44d5, type: 3} - m_Scale: {x: 2, y: 3} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 2, y: 3} - 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 - - _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, g: 0, b: 0, a: 1} - - _EmissionColor: {r: 2, g: 1, b: 0, a: 1} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/EmissiveTextureFactor.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/EmissiveTextureFactor.mat.meta deleted file mode 100644 index b7a3c561b..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/EmissiveTextureFactor.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 9527d653515fc482f845eb2fa4428e56 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/Green.mat b/Tests/Runtime/Export/Materials/BuiltIn/Green.mat deleted file mode 100644 index 4da961dcf..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/Green.mat +++ /dev/null @@ -1,77 +0,0 @@ -%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: Green - 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, g: 1, b: 0, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/Green.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/Green.mat.meta deleted file mode 100644 index 12819d3a3..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/Green.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 1343993c16c9046a6bb2774a1e9efd79 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/IdenticalTextureName.mat b/Tests/Runtime/Export/Materials/BuiltIn/IdenticalTextureName.mat deleted file mode 100644 index 2fe94ab20..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/IdenticalTextureName.mat +++ /dev/null @@ -1,77 +0,0 @@ -%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: IdenticalTextureName - 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: 2800000, guid: 3326e027ad30e438497b1e9501c81126, type: 3} - 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: 1 - - _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} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/IdenticalTextureName.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/IdenticalTextureName.mat.meta deleted file mode 100644 index 2b34888f8..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/IdenticalTextureName.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 97acd04191dde47e2a7be74b266ce0a2 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/Metallic 1.mat b/Tests/Runtime/Export/Materials/BuiltIn/Metallic 1.mat deleted file mode 100644 index cc90dc51b..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/Metallic 1.mat +++ /dev/null @@ -1,77 +0,0 @@ -%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: Metallic 1 - 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: 1 - - _GlossyReflections: 1 - - _Metallic: 1 - - _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} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/Metallic 1.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/Metallic 1.mat.meta deleted file mode 100644 index c939fc0fc..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/Metallic 1.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: e0fd61a91b8054e8da1e26233bd83103 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/Metallic 2.mat b/Tests/Runtime/Export/Materials/BuiltIn/Metallic 2.mat deleted file mode 100644 index a52c8afd1..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/Metallic 2.mat +++ /dev/null @@ -1,77 +0,0 @@ -%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: Metallic 2 - 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.75 - - _GlossyReflections: 1 - - _Metallic: 1 - - _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} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/Metallic 2.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/Metallic 2.mat.meta deleted file mode 100644 index 7c93cbc80..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/Metallic 2.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 488b12d31c7d44b4b8574d903b4e16a9 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/Metallic 3.mat b/Tests/Runtime/Export/Materials/BuiltIn/Metallic 3.mat deleted file mode 100644 index 99159951c..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/Metallic 3.mat +++ /dev/null @@ -1,77 +0,0 @@ -%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: Metallic 3 - 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: 1 - - _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} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/Metallic 3.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/Metallic 3.mat.meta deleted file mode 100644 index 943eda994..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/Metallic 3.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 18dfa796e179e491eb4616196e34d939 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/Metallic 4.mat b/Tests/Runtime/Export/Materials/BuiltIn/Metallic 4.mat deleted file mode 100644 index 6ed1238d3..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/Metallic 4.mat +++ /dev/null @@ -1,77 +0,0 @@ -%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: Metallic 4 - 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.25 - - _GlossyReflections: 1 - - _Metallic: 1 - - _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} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/Metallic 4.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/Metallic 4.mat.meta deleted file mode 100644 index 272e01978..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/Metallic 4.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 93526043b5fd84f6491c4a89a1f08045 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/Metallic 5.mat b/Tests/Runtime/Export/Materials/BuiltIn/Metallic 5.mat deleted file mode 100644 index 463755723..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/Metallic 5.mat +++ /dev/null @@ -1,77 +0,0 @@ -%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: Metallic 5 - 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 - - _GlossyReflections: 1 - - _Metallic: 1 - - _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} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/Metallic 5.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/Metallic 5.mat.meta deleted file mode 100644 index 79cb452d5..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/Metallic 5.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 4eed0577c4b6c4e27bf2e3541c7fb39b -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/MetallicSmoothnessOcclusionTexture.mat b/Tests/Runtime/Export/Materials/BuiltIn/MetallicSmoothnessOcclusionTexture.mat deleted file mode 100644 index ad29a2404..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/MetallicSmoothnessOcclusionTexture.mat +++ /dev/null @@ -1,77 +0,0 @@ -%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: MetallicSmoothnessOcclusionTexture - m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _METALLICGLOSSMAP - 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: 2800000, guid: 079386c5a28dd4ab09a087add2d047af, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OcclusionMap: - m_Texture: {fileID: 2800000, guid: 86e3dd7e20359476581017099cdcfe63, type: 3} - 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 - - _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.30588233, g: 0.9437239, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/MetallicSmoothnessOcclusionTexture.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/MetallicSmoothnessOcclusionTexture.mat.meta deleted file mode 100644 index 35e3b65f1..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/MetallicSmoothnessOcclusionTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: c447e4a64ea5c4847ba3ef090a7af054 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/MetallicSmoothnessTexture.mat b/Tests/Runtime/Export/Materials/BuiltIn/MetallicSmoothnessTexture.mat deleted file mode 100644 index 7dff4ac1a..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/MetallicSmoothnessTexture.mat +++ /dev/null @@ -1,77 +0,0 @@ -%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: MetallicSmoothnessTexture - m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _METALLICGLOSSMAP - 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: 2800000, guid: 079386c5a28dd4ab09a087add2d047af, 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 - - _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.30588233, g: 1, b: 0.38926822, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/MetallicSmoothnessTexture.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/MetallicSmoothnessTexture.mat.meta deleted file mode 100644 index fed5f5231..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/MetallicSmoothnessTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 38a34f5457030426fb021b06e751daf4 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/MetallicTexture.mat b/Tests/Runtime/Export/Materials/BuiltIn/MetallicTexture.mat deleted file mode 100644 index 20d52bd59..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/MetallicTexture.mat +++ /dev/null @@ -1,77 +0,0 @@ -%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: MetallicTexture - m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _METALLICGLOSSMAP - 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: 2800000, guid: 5ef6154092f98438eb29c2098eab2698, 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 - - _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.30588233, g: 1, b: 0.38926822, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/MetallicTexture.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/MetallicTexture.mat.meta deleted file mode 100644 index 49170e2e0..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/MetallicTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 6a9364207c59a4335baf8aff4e985bf9 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/Neutral.mat b/Tests/Runtime/Export/Materials/BuiltIn/Neutral.mat deleted file mode 100644 index f9d7b5dc9..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/Neutral.mat +++ /dev/null @@ -1,80 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Neutral - m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_ValidKeywords: [] - m_InvalidKeywords: [] - 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_Ints: [] - m_Floats: - - _BumpScale: 1 - - _Cutoff: 0.5 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _GlossMapScale: 1 - - _Glossiness: 0 - - _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/Tests/Runtime/Export/Materials/BuiltIn/Neutral.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/Neutral.mat.meta deleted file mode 100644 index cca865302..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/Neutral.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: fa681a5006f4f46d4a2a7dfed0c5e5df -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/NormalTexture.mat b/Tests/Runtime/Export/Materials/BuiltIn/NormalTexture.mat deleted file mode 100644 index 744dafb33..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/NormalTexture.mat +++ /dev/null @@ -1,77 +0,0 @@ -%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: NormalTexture - m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _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: 3cdc0355bec344d4a9dee2cdad1e7cf3, 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: 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.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} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/NormalTexture.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/NormalTexture.mat.meta deleted file mode 100644 index c479ca04e..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/NormalTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 633b2ef7f688e4556bddadb1dec568e0 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/OcclusionTexture.mat b/Tests/Runtime/Export/Materials/BuiltIn/OcclusionTexture.mat deleted file mode 100644 index 6f4635555..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/OcclusionTexture.mat +++ /dev/null @@ -1,77 +0,0 @@ -%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: OcclusionTexture - 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: 2800000, guid: 86e3dd7e20359476581017099cdcfe63, type: 3} - 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.3 - - _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: 0.70448077, b: 0.3066038, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/OcclusionTexture.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/OcclusionTexture.mat.meta deleted file mode 100644 index 7fdcb8bb8..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/OcclusionTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 65ef678d2c61c4c5897194d16d052cbe -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/OcclusionTextureStrength.mat b/Tests/Runtime/Export/Materials/BuiltIn/OcclusionTextureStrength.mat deleted file mode 100644 index 8e4738253..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/OcclusionTextureStrength.mat +++ /dev/null @@ -1,77 +0,0 @@ -%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: OcclusionTextureStrength - 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: 2, y: 1.5} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 2, y: 1.5} - 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: 2800000, guid: 86e3dd7e20359476581017099cdcfe63, type: 3} - 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 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 0.23 - - _Parallax: 0.02 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _UVSec: 0 - - _ZWrite: 1 - m_Colors: - - _Color: {r: 1, g: 0.70448077, b: 0.3066038, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/OcclusionTextureStrength.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/OcclusionTextureStrength.mat.meta deleted file mode 100644 index e787234f8..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/OcclusionTextureStrength.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: f1735423758fb476a8adbde7a01cfb84 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/PointCloud.mat b/Tests/Runtime/Export/Materials/BuiltIn/PointCloud.mat deleted file mode 100644 index b0e62375a..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/PointCloud.mat +++ /dev/null @@ -1,119 +0,0 @@ -%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: PointCloud - m_Shader: {fileID: 4800000, guid: 4340a3cf1cde6416d957808a6ac79eed, type: 3} - m_ShaderKeywords: - m_LightmapFlags: 0 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AlphaTex: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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} - - _DetailTex: - 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: - - PixelSnap: 0 - - _BlendOp: 0 - - _BumpScale: 1 - - _CameraFadingEnabled: 0 - - _CameraFarFadeDistance: 2 - - _CameraNearFadeDistance: 1 - - _ColorMask: 15 - - _ColorMode: 0 - - _Cull: 2 - - _CullMode: 2 - - _Cutoff: 0.5 - - _DetailNormalMapScale: 1 - - _DistortionBlend: 0.5 - - _DistortionEnabled: 0 - - _DistortionStrength: 1 - - _DistortionStrengthScaled: 0 - - _DstBlend: 0 - - _EmissionEnabled: 0 - - _EnableExternalAlpha: 0 - - _FlipbookMode: 0 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _LightingEnabled: 0 - - _MainTexUVChannel: 0 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _SmoothnessTextureChannel: 0 - - _SoftParticlesEnabled: 0 - - _SoftParticlesFarFadeDistance: 1 - - _SoftParticlesNearFadeDistance: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Stencil: 0 - - _StencilComp: 8 - - _StencilOp: 0 - - _StencilReadMask: 255 - - _StencilWriteMask: 255 - - _Strength: 0.2 - - _UVSec: 0 - - _UseUIAlphaClip: 0 - - _ZWrite: 1 - m_Colors: - - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _Flip: {r: 1, g: 1, b: 1, a: 1} - - _MainTexRotation: {r: 0, g: 0, b: 0, a: 0} - - _RendererColor: {r: 1, g: 1, b: 1, a: 1} - - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/PointCloud.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/PointCloud.mat.meta deleted file mode 100644 index 294942000..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/PointCloud.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: b468d61d3bd4e48808859c7e5d12acfb -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/Red.mat b/Tests/Runtime/Export/Materials/BuiltIn/Red.mat deleted file mode 100644 index bf1d64a04..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/Red.mat +++ /dev/null @@ -1,77 +0,0 @@ -%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: Red - 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: 1, g: 0, b: 0, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/Red.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/Red.mat.meta deleted file mode 100644 index 48c001ae8..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/Red.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 4b96664abea4542a791fcabc7695571f -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/SmoothnessTexture.mat b/Tests/Runtime/Export/Materials/BuiltIn/SmoothnessTexture.mat deleted file mode 100644 index 29d577290..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/SmoothnessTexture.mat +++ /dev/null @@ -1,77 +0,0 @@ -%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: SmoothnessTexture - m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: _METALLICGLOSSMAP - 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: 2800000, guid: be9b3838ad12d459b97a6378956ca45f, 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 - - _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.30588233, g: 1, b: 0.38926822, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/SmoothnessTexture.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/SmoothnessTexture.mat.meta deleted file mode 100644 index d5241170c..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/SmoothnessTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: b5fd26fc810a64fe4aafc3611bc728d1 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/Unlit.mat b/Tests/Runtime/Export/Materials/BuiltIn/Unlit.mat deleted file mode 100644 index 8b26ecc45..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/Unlit.mat +++ /dev/null @@ -1,77 +0,0 @@ -%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: Unlit - m_Shader: {fileID: 10755, 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: 1, g: 0.5588886, b: 0, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/Unlit.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/Unlit.mat.meta deleted file mode 100644 index 135851dee..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/Unlit.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 35685406b50c3436ea2e323fbf1848bb -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/UnlitTextured.mat b/Tests/Runtime/Export/Materials/BuiltIn/UnlitTextured.mat deleted file mode 100644 index 9c3877ff0..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/UnlitTextured.mat +++ /dev/null @@ -1,77 +0,0 @@ -%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: UnlitTextured - m_Shader: {fileID: 10752, 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: 2800000, guid: 767b013dd53264d2a858edf8651b320d, type: 3} - 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: 1, g: 0.5588886, b: 0, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/UnlitTextured.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/UnlitTextured.mat.meta deleted file mode 100644 index a476e5e6c..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/UnlitTextured.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 1e872d1adf1ce4070b56b1ed49afedda -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/UnlitTexturedTransform.mat b/Tests/Runtime/Export/Materials/BuiltIn/UnlitTexturedTransform.mat deleted file mode 100644 index dca664b78..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/UnlitTexturedTransform.mat +++ /dev/null @@ -1,77 +0,0 @@ -%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: UnlitTexturedTransform - m_Shader: {fileID: 10752, 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: 2800000, guid: 767b013dd53264d2a858edf8651b320d, type: 3} - m_Scale: {x: 2, y: 1.5} - m_Offset: {x: -0.5, y: 0.5} - - _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: 1, g: 0.5588886, b: 0, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/UnlitTexturedTransform.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/UnlitTexturedTransform.mat.meta deleted file mode 100644 index 42f18b532..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/UnlitTexturedTransform.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: c55842d885c0f44ee8cf3eb683c9c689 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/VertexColorsUnlit.mat b/Tests/Runtime/Export/Materials/BuiltIn/VertexColorsUnlit.mat deleted file mode 100644 index b878d55e7..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/VertexColorsUnlit.mat +++ /dev/null @@ -1,100 +0,0 @@ -%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: VertexColorsUnlit - m_Shader: {fileID: 211, guid: 0000000000000000f000000000000000, type: 0} - m_ShaderKeywords: - m_LightmapFlags: 0 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: {} - disabledShaderPasses: - - ALWAYS - 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: - - _BlendOp: 0 - - _BumpScale: 1 - - _CameraFadingEnabled: 0 - - _CameraFarFadeDistance: 2 - - _CameraNearFadeDistance: 1 - - _ColorMode: 0 - - _Cull: 2 - - _CullMode: 2 - - _Cutoff: 0.5 - - _DetailNormalMapScale: 1 - - _DistortionBlend: 0.5 - - _DistortionEnabled: 0 - - _DistortionStrength: 1 - - _DistortionStrengthScaled: 0 - - _DstBlend: 0 - - _EmissionEnabled: 0 - - _FlipbookMode: 0 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _LightingEnabled: 0 - - _MainTexUVChannel: 0 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _SmoothnessTextureChannel: 0 - - _SoftParticlesEnabled: 0 - - _SoftParticlesFarFadeDistance: 1 - - _SoftParticlesNearFadeDistance: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _UVSec: 0 - - _ZWrite: 1 - m_Colors: - - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _MainTexRotation: {r: 0, g: 0, b: 0, a: 0} - - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/VertexColorsUnlit.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/VertexColorsUnlit.mat.meta deleted file mode 100644 index 29042a042..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/VertexColorsUnlit.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: fd533e111abc0470ca1dd461bdc23903 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/WrapModeCC.mat b/Tests/Runtime/Export/Materials/BuiltIn/WrapModeCC.mat deleted file mode 100644 index a126647d2..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/WrapModeCC.mat +++ /dev/null @@ -1,77 +0,0 @@ -%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: WrapModeCC - 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: 2, y: 3} - m_Offset: {x: -0.5, y: -1} - - _MainTex: - m_Texture: {fileID: 2800000, guid: bbd3f185f05f844dd92970012dca4cf4, type: 3} - m_Scale: {x: 2, y: 3} - m_Offset: {x: -0.5, y: -1} - - _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: 1 - - _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} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/WrapModeCC.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/WrapModeCC.mat.meta deleted file mode 100644 index 31a3a1345..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/WrapModeCC.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: db3bef9e455d6493c8ada699e890bc8b -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/WrapModeCM.mat b/Tests/Runtime/Export/Materials/BuiltIn/WrapModeCM.mat deleted file mode 100644 index faddb7976..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/WrapModeCM.mat +++ /dev/null @@ -1,77 +0,0 @@ -%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: WrapModeCM - 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: 4, y: 5} - m_Offset: {x: -1.5, y: -2} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 8397722a4633b414e8c1fd1613e3523b, type: 3} - m_Scale: {x: 4, y: 5} - m_Offset: {x: -1.5, y: -2} - - _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: 1 - - _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} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/WrapModeCM.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/WrapModeCM.mat.meta deleted file mode 100644 index 3544cb8c2..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/WrapModeCM.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: eebe50e4a31634f96a232e0e0a60537b -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/WrapModeCM1.mat b/Tests/Runtime/Export/Materials/BuiltIn/WrapModeCM1.mat deleted file mode 100644 index dd5ca8c30..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/WrapModeCM1.mat +++ /dev/null @@ -1,77 +0,0 @@ -%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: WrapModeCM1 - 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: 4, y: 5} - m_Offset: {x: -1.5, y: -2} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 5d1f1dee9f31c454597e64a24efda03b, type: 3} - m_Scale: {x: 4, y: 5} - m_Offset: {x: -1.5, y: -2} - - _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: 1 - - _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} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/WrapModeCM1.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/WrapModeCM1.mat.meta deleted file mode 100644 index f36cc5ce3..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/WrapModeCM1.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 681f4553b32014be587b69563c2837b9 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/WrapModeCR.mat b/Tests/Runtime/Export/Materials/BuiltIn/WrapModeCR.mat deleted file mode 100644 index b46adcff1..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/WrapModeCR.mat +++ /dev/null @@ -1,77 +0,0 @@ -%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: WrapModeCR - 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: 2, y: 3} - m_Offset: {x: -0.5, y: 1} - - _MainTex: - m_Texture: {fileID: 2800000, guid: b674fc2c490dc4f7f9de586756a79d63, type: 3} - m_Scale: {x: 2, y: 3} - m_Offset: {x: -0.5, y: 1} - - _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: 1 - - _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} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/WrapModeCR.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/WrapModeCR.mat.meta deleted file mode 100644 index c6b016ab3..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/WrapModeCR.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 1d1f7ca66894c47a8b4749f806dd0a26 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/WrapModeM1C.mat b/Tests/Runtime/Export/Materials/BuiltIn/WrapModeM1C.mat deleted file mode 100644 index 352579e4b..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/WrapModeM1C.mat +++ /dev/null @@ -1,77 +0,0 @@ -%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: WrapModeM1C - 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: 5, y: 4} - m_Offset: {x: -2, y: -1.5} - - _MainTex: - m_Texture: {fileID: 2800000, guid: e98d004f3448e4ddda4eabc19824d096, type: 3} - m_Scale: {x: 5, y: 4} - m_Offset: {x: -2, y: -1.5} - - _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: 1 - - _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} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/WrapModeM1C.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/WrapModeM1C.mat.meta deleted file mode 100644 index c57a9bc63..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/WrapModeM1C.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: d330b4b7550c1421587adb83e7f2ed9a -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/WrapModeMC.mat b/Tests/Runtime/Export/Materials/BuiltIn/WrapModeMC.mat deleted file mode 100644 index 932c54c64..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/WrapModeMC.mat +++ /dev/null @@ -1,77 +0,0 @@ -%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: WrapModeMC - 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: 5, y: 4} - m_Offset: {x: -2, y: -1.5} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 75e499255c5264ef89148576f58a98c3, type: 3} - m_Scale: {x: 5, y: 4} - m_Offset: {x: -2, y: -1.5} - - _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: 1 - - _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} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/WrapModeMC.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/WrapModeMC.mat.meta deleted file mode 100644 index d84ea03c5..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/WrapModeMC.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 315362a14afbe4d2caa9432326ef3bbf -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/BuiltIn/WrapModeRC.mat b/Tests/Runtime/Export/Materials/BuiltIn/WrapModeRC.mat deleted file mode 100644 index 804a23038..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/WrapModeRC.mat +++ /dev/null @@ -1,77 +0,0 @@ -%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: WrapModeRC - 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: 3, y: 2} - m_Offset: {x: -1, y: -0.5} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 580c0e15a130842e28165cdc9eb717b3, type: 3} - m_Scale: {x: 3, y: 2} - m_Offset: {x: -1, y: -0.5} - - _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: 1 - - _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} diff --git a/Tests/Runtime/Export/Materials/BuiltIn/WrapModeRC.mat.meta b/Tests/Runtime/Export/Materials/BuiltIn/WrapModeRC.mat.meta deleted file mode 100644 index 6ca7da774..000000000 --- a/Tests/Runtime/Export/Materials/BuiltIn/WrapModeRC.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: fff44a95577bd4b1090dbf21b53bf45b -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition.meta b/Tests/Runtime/Export/Materials/HighDefinition.meta deleted file mode 100644 index cd623f44a..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: fc54c0c2c6e804e1a81f4154b28e3aa7 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/BaseColorSmoothnessMetalOcclusionTexture.mat b/Tests/Runtime/Export/Materials/HighDefinition/BaseColorSmoothnessMetalOcclusionTexture.mat deleted file mode 100644 index fb462f953..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/BaseColorSmoothnessMetalOcclusionTexture.mat +++ /dev/null @@ -1,304 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-7251424033408465557 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 12 - hdPluginSubTargetMaterialVersions: - m_Keys: [] - m_Values: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: BaseColorSmoothnessMetalOcclusionTexture - m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _MASKMAP _NORMALMAP_TANGENT_SPACE - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2225 - stringTagMap: {} - disabledShaderPasses: - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - - MOTIONVECTORS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AnisotropyMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 2800000, guid: 1e22bd6b46ceb4d0c99cfdb552ec8586, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoatMaskMap: - 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} - - _DetailMap: - 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} - - _EmissiveColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HeightMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 1e22bd6b46ceb4d0c99cfdb552ec8586, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MaskMap: - m_Texture: {fileID: 2800000, guid: fc341ab9e2a4240af9caa461dd189028, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 2800000, guid: 5ef6154092f98438eb29c2098eab2698, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OcclusionMap: - m_Texture: {fileID: 2800000, guid: 86e3dd7e20359476581017099cdcfe63, type: 3} - 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} - - _SpecularColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SubsurfaceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmittanceColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AORemapMax: 1 - - _AORemapMin: 0 - - _ATDistance: 1 - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.5 - - _AlphaCutoffEnable: 0 - - _AlphaCutoffPostpass: 0.5 - - _AlphaCutoffPrepass: 0.5 - - _AlphaCutoffShadow: 0.5 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _Anisotropy: 0 - - _BlendMode: 0 - - _BumpScale: 1 - - _CoatMask: 0 - - _CullMode: 2 - - _CullModeForward: 2 - - _Cutoff: 0.5 - - _DepthOffsetEnable: 0 - - _DetailAlbedoScale: 1 - - _DetailNormalMapScale: 1 - - _DetailNormalScale: 1 - - _DetailSmoothnessScale: 1 - - _DiffusionProfile: 0 - - _DiffusionProfileHash: 0 - - _DisplacementLockObjectScale: 1 - - _DisplacementLockTilingScale: 1 - - _DisplacementMode: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DoubleSidedNormalMode: 1 - - _DstBlend: 0 - - _EmissiveColorMode: 1 - - _EmissiveExposureWeight: 1 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _EnableGeometricSpecularAA: 0 - - _EnergyConservingSpecularColor: 1 - - _GlossMapScale: 1 - - _Glossiness: 1 - - _GlossyReflections: 1 - - _HeightAmplitude: 0.02 - - _HeightCenter: 0.5 - - _HeightMapParametrization: 0 - - _HeightMax: 1 - - _HeightMin: -1 - - _HeightOffset: 0 - - _HeightPoMAmplitude: 2 - - _HeightTessAmplitude: 2 - - _HeightTessCenter: 0.5 - - _InvTilingScale: 1 - - _Ior: 1.5 - - _IridescenceMask: 1 - - _IridescenceThickness: 1 - - _LinkDetailsWithBase: 0 - - _MaterialID: 1 - - _Metallic: 1 - - _MetallicRemapMax: 1 - - _MetallicRemapMin: 0 - - _Mode: 0 - - _NormalMapSpace: 0 - - _NormalScale: 1 - - _OcclusionStrength: 1 - - _OpaqueCullMode: 2 - - _PPDLodThreshold: 5 - - _PPDMaxSamples: 15 - - _PPDMinSamples: 5 - - _PPDPrimitiveLength: 1 - - _PPDPrimitiveWidth: 1 - - _Parallax: 0.02 - - _RayTracing: 0 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _Smoothness: 1 - - _SmoothnessRemapMax: 1 - - _SmoothnessRemapMin: 0 - - _SmoothnessTextureChannel: 1 - - _SpecularAAScreenSpaceVariance: 0.1 - - _SpecularAAThreshold: 0.2 - - _SpecularHighlights: 1 - - _SpecularOcclusionMode: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SubsurfaceMask: 1 - - _SupportDecals: 1 - - _SurfaceType: 0 - - _TexWorldScale: 1 - - _TexWorldScaleEmissive: 1 - - _Thickness: 1 - - _TransmissionEnable: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UVBase: 0 - - _UVDetail: 0 - - _UVEmissive: 0 - - _UVSec: 0 - - _UseEmissiveIntensity: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 4 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} - - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} - - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} diff --git a/Tests/Runtime/Export/Materials/HighDefinition/BaseColorSmoothnessMetalOcclusionTexture.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/BaseColorSmoothnessMetalOcclusionTexture.mat.meta deleted file mode 100644 index b6655e053..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/BaseColorSmoothnessMetalOcclusionTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 92fe048d4324743ee912a09ea5876790 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/BaseColorSmoothnessMetalOcclusionTexture_MaskMap.png b/Tests/Runtime/Export/Materials/HighDefinition/BaseColorSmoothnessMetalOcclusionTexture_MaskMap.png deleted file mode 100644 index beeca9535..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/BaseColorSmoothnessMetalOcclusionTexture_MaskMap.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:157c703e9c8715d2cd8245aae4c5b229e9b92c4ea81c191fcc3899b7d945bfe0 -size 228 diff --git a/Tests/Runtime/Export/Materials/HighDefinition/BaseColorSmoothnessMetalOcclusionTexture_MaskMap.png.meta b/Tests/Runtime/Export/Materials/HighDefinition/BaseColorSmoothnessMetalOcclusionTexture_MaskMap.png.meta deleted file mode 100644 index a74f2bf16..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/BaseColorSmoothnessMetalOcclusionTexture_MaskMap.png.meta +++ /dev/null @@ -1,128 +0,0 @@ -fileFormatVersion: 2 -guid: fc341ab9e2a4240af9caa461dd189028 -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 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 0 - 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 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - applyGammaDecoding: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 0 - 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: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: WebGL - 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/Tests/Runtime/Export/Materials/HighDefinition/BaseColorSmoothnessMetalTexture.mat b/Tests/Runtime/Export/Materials/HighDefinition/BaseColorSmoothnessMetalTexture.mat deleted file mode 100644 index aaa854299..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/BaseColorSmoothnessMetalTexture.mat +++ /dev/null @@ -1,304 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-6329466188323502810 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 12 - hdPluginSubTargetMaterialVersions: - m_Keys: [] - m_Values: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: BaseColorSmoothnessMetalTexture - m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _MASKMAP _NORMALMAP_TANGENT_SPACE - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2225 - stringTagMap: {} - disabledShaderPasses: - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - - MOTIONVECTORS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AnisotropyMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 2800000, guid: 1e22bd6b46ceb4d0c99cfdb552ec8586, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoatMaskMap: - 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} - - _DetailMap: - 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} - - _EmissiveColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HeightMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 1e22bd6b46ceb4d0c99cfdb552ec8586, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MaskMap: - m_Texture: {fileID: 2800000, guid: 6425b1274efd947d596b38e82cd85bc8, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 2800000, guid: 5ef6154092f98438eb29c2098eab2698, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapOS: - 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} - - _SpecularColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SubsurfaceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmittanceColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AORemapMax: 1 - - _AORemapMin: 1 - - _ATDistance: 1 - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.5 - - _AlphaCutoffEnable: 0 - - _AlphaCutoffPostpass: 0.5 - - _AlphaCutoffPrepass: 0.5 - - _AlphaCutoffShadow: 0.5 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _Anisotropy: 0 - - _BlendMode: 0 - - _BumpScale: 1 - - _CoatMask: 0 - - _CullMode: 2 - - _CullModeForward: 2 - - _Cutoff: 0.5 - - _DepthOffsetEnable: 0 - - _DetailAlbedoScale: 1 - - _DetailNormalMapScale: 1 - - _DetailNormalScale: 1 - - _DetailSmoothnessScale: 1 - - _DiffusionProfile: 0 - - _DiffusionProfileHash: 0 - - _DisplacementLockObjectScale: 1 - - _DisplacementLockTilingScale: 1 - - _DisplacementMode: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DoubleSidedNormalMode: 1 - - _DstBlend: 0 - - _EmissiveColorMode: 1 - - _EmissiveExposureWeight: 1 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _EnableGeometricSpecularAA: 0 - - _EnergyConservingSpecularColor: 1 - - _GlossMapScale: 1 - - _Glossiness: 1 - - _GlossyReflections: 1 - - _HeightAmplitude: 0.02 - - _HeightCenter: 0.5 - - _HeightMapParametrization: 0 - - _HeightMax: 1 - - _HeightMin: -1 - - _HeightOffset: 0 - - _HeightPoMAmplitude: 2 - - _HeightTessAmplitude: 2 - - _HeightTessCenter: 0.5 - - _InvTilingScale: 1 - - _Ior: 1.5 - - _IridescenceMask: 1 - - _IridescenceThickness: 1 - - _LinkDetailsWithBase: 0 - - _MaterialID: 1 - - _Metallic: 1 - - _MetallicRemapMax: 1 - - _MetallicRemapMin: 0 - - _Mode: 0 - - _NormalMapSpace: 0 - - _NormalScale: 1 - - _OcclusionStrength: 1 - - _OpaqueCullMode: 2 - - _PPDLodThreshold: 5 - - _PPDMaxSamples: 15 - - _PPDMinSamples: 5 - - _PPDPrimitiveLength: 1 - - _PPDPrimitiveWidth: 1 - - _Parallax: 0.02 - - _RayTracing: 0 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _Smoothness: 1 - - _SmoothnessRemapMax: 1 - - _SmoothnessRemapMin: 0 - - _SmoothnessTextureChannel: 1 - - _SpecularAAScreenSpaceVariance: 0.1 - - _SpecularAAThreshold: 0.2 - - _SpecularHighlights: 1 - - _SpecularOcclusionMode: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SubsurfaceMask: 1 - - _SupportDecals: 1 - - _SurfaceType: 0 - - _TexWorldScale: 1 - - _TexWorldScaleEmissive: 1 - - _Thickness: 1 - - _TransmissionEnable: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UVBase: 0 - - _UVDetail: 0 - - _UVEmissive: 0 - - _UVSec: 0 - - _UseEmissiveIntensity: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 4 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} - - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} - - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} diff --git a/Tests/Runtime/Export/Materials/HighDefinition/BaseColorSmoothnessMetalTexture.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/BaseColorSmoothnessMetalTexture.mat.meta deleted file mode 100644 index 680c63422..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/BaseColorSmoothnessMetalTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 75a579e97f8494106ad9a828236c8c4e -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/BaseColorSmoothnessMetalTexture_MaskMap.png b/Tests/Runtime/Export/Materials/HighDefinition/BaseColorSmoothnessMetalTexture_MaskMap.png deleted file mode 100644 index c72470176..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/BaseColorSmoothnessMetalTexture_MaskMap.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c0f6d1990aa8630b1f0d541be547906cfbcace54254124851d754c9aa4cd1266 -size 197 diff --git a/Tests/Runtime/Export/Materials/HighDefinition/BaseColorSmoothnessMetalTexture_MaskMap.png.meta b/Tests/Runtime/Export/Materials/HighDefinition/BaseColorSmoothnessMetalTexture_MaskMap.png.meta deleted file mode 100644 index 58c02cf97..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/BaseColorSmoothnessMetalTexture_MaskMap.png.meta +++ /dev/null @@ -1,128 +0,0 @@ -fileFormatVersion: 2 -guid: 6425b1274efd947d596b38e82cd85bc8 -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 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 0 - 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 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - applyGammaDecoding: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 0 - 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: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: WebGL - 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/Tests/Runtime/Export/Materials/HighDefinition/BaseColorSmoothnessTexture.mat b/Tests/Runtime/Export/Materials/HighDefinition/BaseColorSmoothnessTexture.mat deleted file mode 100644 index d1f03bc49..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/BaseColorSmoothnessTexture.mat +++ /dev/null @@ -1,304 +0,0 @@ -%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: BaseColorSmoothnessTexture - m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _MASKMAP _NORMALMAP_TANGENT_SPACE - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2225 - stringTagMap: {} - disabledShaderPasses: - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - - MOTIONVECTORS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AnisotropyMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 2800000, guid: 1e22bd6b46ceb4d0c99cfdb552ec8586, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoatMaskMap: - 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} - - _DetailMap: - 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} - - _EmissiveColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HeightMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 1e22bd6b46ceb4d0c99cfdb552ec8586, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MaskMap: - m_Texture: {fileID: 2800000, guid: 6a1b52c6e45414cc99092b725d7f53dc, type: 3} - 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} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapOS: - 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} - - _SpecularColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SubsurfaceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmittanceColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AORemapMax: 1 - - _AORemapMin: 1 - - _ATDistance: 1 - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.5 - - _AlphaCutoffEnable: 0 - - _AlphaCutoffPostpass: 0.5 - - _AlphaCutoffPrepass: 0.5 - - _AlphaCutoffShadow: 0.5 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _Anisotropy: 0 - - _BlendMode: 0 - - _BumpScale: 1 - - _CoatMask: 0 - - _CullMode: 2 - - _CullModeForward: 2 - - _Cutoff: 0.5 - - _DepthOffsetEnable: 0 - - _DetailAlbedoScale: 1 - - _DetailNormalMapScale: 1 - - _DetailNormalScale: 1 - - _DetailSmoothnessScale: 1 - - _DiffusionProfile: 0 - - _DiffusionProfileHash: 0 - - _DisplacementLockObjectScale: 1 - - _DisplacementLockTilingScale: 1 - - _DisplacementMode: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DoubleSidedNormalMode: 1 - - _DstBlend: 0 - - _EmissiveColorMode: 1 - - _EmissiveExposureWeight: 1 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _EnableGeometricSpecularAA: 0 - - _EnergyConservingSpecularColor: 1 - - _GlossMapScale: 1 - - _Glossiness: 1 - - _GlossyReflections: 1 - - _HeightAmplitude: 0.02 - - _HeightCenter: 0.5 - - _HeightMapParametrization: 0 - - _HeightMax: 1 - - _HeightMin: -1 - - _HeightOffset: 0 - - _HeightPoMAmplitude: 2 - - _HeightTessAmplitude: 2 - - _HeightTessCenter: 0.5 - - _InvTilingScale: 1 - - _Ior: 1.5 - - _IridescenceMask: 1 - - _IridescenceThickness: 1 - - _LinkDetailsWithBase: 0 - - _MaterialID: 1 - - _Metallic: 0 - - _MetallicRemapMax: 0 - - _MetallicRemapMin: 0 - - _Mode: 0 - - _NormalMapSpace: 0 - - _NormalScale: 1 - - _OcclusionStrength: 1 - - _OpaqueCullMode: 2 - - _PPDLodThreshold: 5 - - _PPDMaxSamples: 15 - - _PPDMinSamples: 5 - - _PPDPrimitiveLength: 1 - - _PPDPrimitiveWidth: 1 - - _Parallax: 0.02 - - _RayTracing: 0 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _Smoothness: 1 - - _SmoothnessRemapMax: 1 - - _SmoothnessRemapMin: 0 - - _SmoothnessTextureChannel: 1 - - _SpecularAAScreenSpaceVariance: 0.1 - - _SpecularAAThreshold: 0.2 - - _SpecularHighlights: 1 - - _SpecularOcclusionMode: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SubsurfaceMask: 1 - - _SupportDecals: 1 - - _SurfaceType: 0 - - _TexWorldScale: 1 - - _TexWorldScaleEmissive: 1 - - _Thickness: 1 - - _TransmissionEnable: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UVBase: 0 - - _UVDetail: 0 - - _UVEmissive: 0 - - _UVSec: 0 - - _UseEmissiveIntensity: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 4 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} - - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} - - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} ---- !u!114 &5507635021167033336 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 12 - hdPluginSubTargetMaterialVersions: - m_Keys: [] - m_Values: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/BaseColorSmoothnessTexture.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/BaseColorSmoothnessTexture.mat.meta deleted file mode 100644 index d29905604..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/BaseColorSmoothnessTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 8720016663d9d4354896c9be0317dcbd -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/BaseColorSmoothnessTexture_MaskMap.png b/Tests/Runtime/Export/Materials/HighDefinition/BaseColorSmoothnessTexture_MaskMap.png deleted file mode 100644 index 7171b3aa7..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/BaseColorSmoothnessTexture_MaskMap.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3789865c726de38fe3ee6b30de3c28a9748ef1c642154dd002b0723eaafd5b18 -size 3311 diff --git a/Tests/Runtime/Export/Materials/HighDefinition/BaseColorSmoothnessTexture_MaskMap.png.meta b/Tests/Runtime/Export/Materials/HighDefinition/BaseColorSmoothnessTexture_MaskMap.png.meta deleted file mode 100644 index 24e2778fa..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/BaseColorSmoothnessTexture_MaskMap.png.meta +++ /dev/null @@ -1,128 +0,0 @@ -fileFormatVersion: 2 -guid: 6a1b52c6e45414cc99092b725d7f53dc -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 - 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 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 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 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: WebGL - 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/Tests/Runtime/Export/Materials/HighDefinition/BaseColorTexture.mat b/Tests/Runtime/Export/Materials/HighDefinition/BaseColorTexture.mat deleted file mode 100644 index 74e1e480b..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/BaseColorTexture.mat +++ /dev/null @@ -1,304 +0,0 @@ -%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: BaseColorTexture - m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2225 - stringTagMap: {} - disabledShaderPasses: - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - - MOTIONVECTORS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AnisotropyMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 2800000, guid: 767b013dd53264d2a858edf8651b320d, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoatMaskMap: - 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} - - _DetailMap: - 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} - - _EmissiveColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HeightMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 767b013dd53264d2a858edf8651b320d, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MaskMap: - 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} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapOS: - 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} - - _SpecularColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SubsurfaceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmittanceColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AORemapMax: 1 - - _AORemapMin: 0 - - _ATDistance: 1 - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.5 - - _AlphaCutoffEnable: 0 - - _AlphaCutoffPostpass: 0.5 - - _AlphaCutoffPrepass: 0.5 - - _AlphaCutoffShadow: 0.5 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _Anisotropy: 0 - - _BlendMode: 0 - - _BumpScale: 1 - - _CoatMask: 0 - - _CullMode: 2 - - _CullModeForward: 2 - - _Cutoff: 0.5 - - _DepthOffsetEnable: 0 - - _DetailAlbedoScale: 1 - - _DetailNormalMapScale: 1 - - _DetailNormalScale: 1 - - _DetailSmoothnessScale: 1 - - _DiffusionProfile: 0 - - _DiffusionProfileHash: 0 - - _DisplacementLockObjectScale: 1 - - _DisplacementLockTilingScale: 1 - - _DisplacementMode: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DoubleSidedNormalMode: 1 - - _DstBlend: 0 - - _EmissiveColorMode: 1 - - _EmissiveExposureWeight: 1 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _EnableGeometricSpecularAA: 0 - - _EnergyConservingSpecularColor: 1 - - _GlossMapScale: 1 - - _Glossiness: 1 - - _GlossyReflections: 1 - - _HeightAmplitude: 0.02 - - _HeightCenter: 0.5 - - _HeightMapParametrization: 0 - - _HeightMax: 1 - - _HeightMin: -1 - - _HeightOffset: 0 - - _HeightPoMAmplitude: 2 - - _HeightTessAmplitude: 2 - - _HeightTessCenter: 0.5 - - _InvTilingScale: 1 - - _Ior: 1.5 - - _IridescenceMask: 1 - - _IridescenceThickness: 1 - - _LinkDetailsWithBase: 0 - - _MaterialID: 1 - - _Metallic: 0 - - _MetallicRemapMax: 0 - - _MetallicRemapMin: 0 - - _Mode: 0 - - _NormalMapSpace: 0 - - _NormalScale: 1 - - _OcclusionStrength: 1 - - _OpaqueCullMode: 2 - - _PPDLodThreshold: 5 - - _PPDMaxSamples: 15 - - _PPDMinSamples: 5 - - _PPDPrimitiveLength: 1 - - _PPDPrimitiveWidth: 1 - - _Parallax: 0.02 - - _RayTracing: 0 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _Smoothness: 1 - - _SmoothnessRemapMax: 1 - - _SmoothnessRemapMin: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularAAScreenSpaceVariance: 0.1 - - _SpecularAAThreshold: 0.2 - - _SpecularHighlights: 1 - - _SpecularOcclusionMode: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SubsurfaceMask: 1 - - _SupportDecals: 1 - - _SurfaceType: 0 - - _TexWorldScale: 1 - - _TexWorldScaleEmissive: 1 - - _Thickness: 1 - - _TransmissionEnable: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UVBase: 0 - - _UVDetail: 0 - - _UVEmissive: 0 - - _UVSec: 0 - - _UseEmissiveIntensity: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 4 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} - - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} - - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} ---- !u!114 &5673681360402652845 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 12 - hdPluginSubTargetMaterialVersions: - m_Keys: [] - m_Values: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/BaseColorTexture.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/BaseColorTexture.mat.meta deleted file mode 100644 index 30283e64b..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/BaseColorTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 6edfac86e868c4ec59a6d0c250f283a8 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/BaseColorTextureCutout.mat b/Tests/Runtime/Export/Materials/HighDefinition/BaseColorTextureCutout.mat deleted file mode 100644 index 57068e86c..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/BaseColorTextureCutout.mat +++ /dev/null @@ -1,305 +0,0 @@ -%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: BaseColorTextureCutout - m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _ALPHATEST_ON _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2475 - stringTagMap: - RenderType: TransparentCutout - disabledShaderPasses: - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - - MOTIONVECTORS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AnisotropyMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 2800000, guid: 1e22bd6b46ceb4d0c99cfdb552ec8586, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoatMaskMap: - 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} - - _DetailMap: - 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} - - _EmissiveColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HeightMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 1e22bd6b46ceb4d0c99cfdb552ec8586, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MaskMap: - 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} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapOS: - 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} - - _SpecularColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SubsurfaceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmittanceColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AORemapMax: 1 - - _AORemapMin: 0 - - _ATDistance: 1 - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.6 - - _AlphaCutoffEnable: 1 - - _AlphaCutoffPostpass: 0.5 - - _AlphaCutoffPrepass: 0.5 - - _AlphaCutoffShadow: 0.5 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _Anisotropy: 0 - - _BlendMode: 0 - - _BumpScale: 1 - - _CoatMask: 0 - - _CullMode: 2 - - _CullModeForward: 2 - - _Cutoff: 0.6 - - _DepthOffsetEnable: 0 - - _DetailAlbedoScale: 1 - - _DetailNormalMapScale: 1 - - _DetailNormalScale: 1 - - _DetailSmoothnessScale: 1 - - _DiffusionProfile: 0 - - _DiffusionProfileHash: 0 - - _DisplacementLockObjectScale: 1 - - _DisplacementLockTilingScale: 1 - - _DisplacementMode: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DoubleSidedNormalMode: 1 - - _DstBlend: 0 - - _EmissiveColorMode: 1 - - _EmissiveExposureWeight: 1 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _EnableGeometricSpecularAA: 0 - - _EnergyConservingSpecularColor: 1 - - _GlossMapScale: 1 - - _Glossiness: 1 - - _GlossyReflections: 1 - - _HeightAmplitude: 0.02 - - _HeightCenter: 0.5 - - _HeightMapParametrization: 0 - - _HeightMax: 1 - - _HeightMin: -1 - - _HeightOffset: 0 - - _HeightPoMAmplitude: 2 - - _HeightTessAmplitude: 2 - - _HeightTessCenter: 0.5 - - _InvTilingScale: 1 - - _Ior: 1.5 - - _IridescenceMask: 1 - - _IridescenceThickness: 1 - - _LinkDetailsWithBase: 0 - - _MaterialID: 1 - - _Metallic: 0 - - _MetallicRemapMax: 0 - - _MetallicRemapMin: 0 - - _Mode: 1 - - _NormalMapSpace: 0 - - _NormalScale: 1 - - _OcclusionStrength: 1 - - _OpaqueCullMode: 2 - - _PPDLodThreshold: 5 - - _PPDMaxSamples: 15 - - _PPDMinSamples: 5 - - _PPDPrimitiveLength: 1 - - _PPDPrimitiveWidth: 1 - - _Parallax: 0.02 - - _RayTracing: 0 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _Smoothness: 1 - - _SmoothnessRemapMax: 1 - - _SmoothnessRemapMin: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularAAScreenSpaceVariance: 0.1 - - _SpecularAAThreshold: 0.2 - - _SpecularHighlights: 1 - - _SpecularOcclusionMode: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SubsurfaceMask: 1 - - _SupportDecals: 1 - - _SurfaceType: 0 - - _TexWorldScale: 1 - - _TexWorldScaleEmissive: 1 - - _Thickness: 1 - - _TransmissionEnable: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UVBase: 0 - - _UVDetail: 0 - - _UVEmissive: 0 - - _UVSec: 0 - - _UseEmissiveIntensity: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 3 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} - - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} - - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} ---- !u!114 &6047481806838012419 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 12 - hdPluginSubTargetMaterialVersions: - m_Keys: [] - m_Values: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/BaseColorTextureCutout.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/BaseColorTextureCutout.mat.meta deleted file mode 100644 index fc475c2a1..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/BaseColorTextureCutout.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 09e430d4dc0b14f8b9f604f88958acc9 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/BaseColorTextureFade.mat b/Tests/Runtime/Export/Materials/HighDefinition/BaseColorTextureFade.mat deleted file mode 100644 index 9ce6928c0..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/BaseColorTextureFade.mat +++ /dev/null @@ -1,305 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-5269396226091882226 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 12 - hdPluginSubTargetMaterialVersions: - m_Keys: [] - m_Values: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: BaseColorTextureFade - m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _ENABLE_FOG_ON_TRANSPARENT _NORMALMAP_TANGENT_SPACE - _SURFACE_TYPE_TRANSPARENT - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 3000 - stringTagMap: - RenderType: Transparent - disabledShaderPasses: - - MOTIONVECTORS - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AnisotropyMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 2800000, guid: 1e22bd6b46ceb4d0c99cfdb552ec8586, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoatMaskMap: - 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} - - _DetailMap: - 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} - - _EmissiveColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HeightMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 1e22bd6b46ceb4d0c99cfdb552ec8586, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MaskMap: - 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} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapOS: - 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} - - _SpecularColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SubsurfaceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmittanceColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AORemapMax: 1 - - _AORemapMin: 0 - - _ATDistance: 1 - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.6 - - _AlphaCutoffEnable: 0 - - _AlphaCutoffPostpass: 0.5 - - _AlphaCutoffPrepass: 0.5 - - _AlphaCutoffShadow: 0.5 - - _AlphaDstBlend: 10 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _Anisotropy: 0 - - _BlendMode: 0 - - _BumpScale: 1 - - _CoatMask: 0 - - _CullMode: 2 - - _CullModeForward: 2 - - _Cutoff: 0.6 - - _DepthOffsetEnable: 0 - - _DetailAlbedoScale: 1 - - _DetailNormalMapScale: 1 - - _DetailNormalScale: 1 - - _DetailSmoothnessScale: 1 - - _DiffusionProfile: 0 - - _DiffusionProfileHash: 0 - - _DisplacementLockObjectScale: 1 - - _DisplacementLockTilingScale: 1 - - _DisplacementMode: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DoubleSidedNormalMode: 1 - - _DstBlend: 10 - - _EmissiveColorMode: 1 - - _EmissiveExposureWeight: 1 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 0 - - _EnableFogOnTransparent: 1 - - _EnableGeometricSpecularAA: 0 - - _EnergyConservingSpecularColor: 1 - - _GlossMapScale: 1 - - _Glossiness: 1 - - _GlossyReflections: 1 - - _HeightAmplitude: 0.02 - - _HeightCenter: 0.5 - - _HeightMapParametrization: 0 - - _HeightMax: 1 - - _HeightMin: -1 - - _HeightOffset: 0 - - _HeightPoMAmplitude: 2 - - _HeightTessAmplitude: 2 - - _HeightTessCenter: 0.5 - - _InvTilingScale: 1 - - _Ior: 1.5 - - _IridescenceMask: 1 - - _IridescenceThickness: 1 - - _LinkDetailsWithBase: 0 - - _MaterialID: 1 - - _Metallic: 0 - - _MetallicRemapMax: 0 - - _MetallicRemapMin: 0 - - _Mode: 2 - - _NormalMapSpace: 0 - - _NormalScale: 1 - - _OcclusionStrength: 1 - - _OpaqueCullMode: 2 - - _PPDLodThreshold: 5 - - _PPDMaxSamples: 15 - - _PPDMinSamples: 5 - - _PPDPrimitiveLength: 1 - - _PPDPrimitiveWidth: 1 - - _Parallax: 0.02 - - _RayTracing: 0 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _Smoothness: 1 - - _SmoothnessRemapMax: 1 - - _SmoothnessRemapMin: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularAAScreenSpaceVariance: 0.1 - - _SpecularAAThreshold: 0.2 - - _SpecularHighlights: 1 - - _SpecularOcclusionMode: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 0 - - _StencilRefGBuffer: 2 - - _StencilRefMV: 32 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SubsurfaceMask: 1 - - _SupportDecals: 1 - - _SurfaceType: 1 - - _TexWorldScale: 1 - - _TexWorldScaleEmissive: 1 - - _Thickness: 1 - - _TransmissionEnable: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 1 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UVBase: 0 - - _UVDetail: 0 - - _UVEmissive: 0 - - _UVSec: 0 - - _UseEmissiveIntensity: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 4 - - _ZTestGBuffer: 4 - - _ZTestTransparent: 4 - - _ZWrite: 0 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} - - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} - - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} diff --git a/Tests/Runtime/Export/Materials/HighDefinition/BaseColorTextureFade.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/BaseColorTextureFade.mat.meta deleted file mode 100644 index 418895ee2..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/BaseColorTextureFade.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: d8c91f548093f4ae7b106fb225d1799d -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/BaseColorTextureTransform.mat b/Tests/Runtime/Export/Materials/HighDefinition/BaseColorTextureTransform.mat deleted file mode 100644 index aab08de5d..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/BaseColorTextureTransform.mat +++ /dev/null @@ -1,304 +0,0 @@ -%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: BaseColorTextureTransform - m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2225 - stringTagMap: {} - disabledShaderPasses: - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - - MOTIONVECTORS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AnisotropyMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 2800000, guid: 767b013dd53264d2a858edf8651b320d, type: 3} - m_Scale: {x: 1.5, y: 2} - m_Offset: {x: 0.5, y: -0.5} - - _BentNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoatMaskMap: - 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} - - _DetailMap: - 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.5, y: 2} - m_Offset: {x: 0.5, y: -0.5} - - _EmissiveColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1.5, y: 2} - m_Offset: {x: 0.5, y: -0.5} - - _HeightMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 767b013dd53264d2a858edf8651b320d, type: 3} - m_Scale: {x: 1.5, y: 2} - m_Offset: {x: 0.5, y: -0.5} - - _MaskMap: - 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} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapOS: - 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} - - _SpecularColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SubsurfaceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmittanceColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AORemapMax: 1 - - _AORemapMin: 0 - - _ATDistance: 1 - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.5 - - _AlphaCutoffEnable: 0 - - _AlphaCutoffPostpass: 0.5 - - _AlphaCutoffPrepass: 0.5 - - _AlphaCutoffShadow: 0.5 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _Anisotropy: 0 - - _BlendMode: 0 - - _BumpScale: 1 - - _CoatMask: 0 - - _CullMode: 2 - - _CullModeForward: 2 - - _Cutoff: 0.5 - - _DepthOffsetEnable: 0 - - _DetailAlbedoScale: 1 - - _DetailNormalMapScale: 1 - - _DetailNormalScale: 1 - - _DetailSmoothnessScale: 1 - - _DiffusionProfile: 0 - - _DiffusionProfileHash: 0 - - _DisplacementLockObjectScale: 1 - - _DisplacementLockTilingScale: 1 - - _DisplacementMode: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DoubleSidedNormalMode: 1 - - _DstBlend: 0 - - _EmissiveColorMode: 1 - - _EmissiveExposureWeight: 1 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _EnableGeometricSpecularAA: 0 - - _EnergyConservingSpecularColor: 1 - - _GlossMapScale: 1 - - _Glossiness: 0 - - _GlossyReflections: 1 - - _HeightAmplitude: 0.02 - - _HeightCenter: 0.5 - - _HeightMapParametrization: 0 - - _HeightMax: 1 - - _HeightMin: -1 - - _HeightOffset: 0 - - _HeightPoMAmplitude: 2 - - _HeightTessAmplitude: 2 - - _HeightTessCenter: 0.5 - - _InvTilingScale: 1 - - _Ior: 1.5 - - _IridescenceMask: 1 - - _IridescenceThickness: 1 - - _LinkDetailsWithBase: 0 - - _MaterialID: 1 - - _Metallic: 0 - - _MetallicRemapMax: 0 - - _MetallicRemapMin: 0 - - _Mode: 0 - - _NormalMapSpace: 0 - - _NormalScale: 1 - - _OcclusionStrength: 1 - - _OpaqueCullMode: 2 - - _PPDLodThreshold: 5 - - _PPDMaxSamples: 15 - - _PPDMinSamples: 5 - - _PPDPrimitiveLength: 1 - - _PPDPrimitiveWidth: 1 - - _Parallax: 0.02 - - _RayTracing: 0 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _Smoothness: 0 - - _SmoothnessRemapMax: 0 - - _SmoothnessRemapMin: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularAAScreenSpaceVariance: 0.1 - - _SpecularAAThreshold: 0.2 - - _SpecularHighlights: 1 - - _SpecularOcclusionMode: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SubsurfaceMask: 1 - - _SupportDecals: 1 - - _SurfaceType: 0 - - _TexWorldScale: 1 - - _TexWorldScaleEmissive: 1 - - _Thickness: 1 - - _TransmissionEnable: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UVBase: 0 - - _UVDetail: 0 - - _UVEmissive: 0 - - _UVSec: 0 - - _UseEmissiveIntensity: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 4 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} - - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} - - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} ---- !u!114 &8243506332637915491 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 12 - hdPluginSubTargetMaterialVersions: - m_Keys: [] - m_Values: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/BaseColorTextureTransform.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/BaseColorTextureTransform.mat.meta deleted file mode 100644 index 6f47b023a..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/BaseColorTextureTransform.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 5e8d070f9f6154565a24e56bbc53c8b3 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/BaseColorTextureTransparent.mat b/Tests/Runtime/Export/Materials/HighDefinition/BaseColorTextureTransparent.mat deleted file mode 100644 index 5eaf96820..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/BaseColorTextureTransparent.mat +++ /dev/null @@ -1,306 +0,0 @@ -%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: BaseColorTextureTransparent - m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _ENABLE_FOG_ON_TRANSPARENT _NORMALMAP_TANGENT_SPACE - _SURFACE_TYPE_TRANSPARENT - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 3000 - stringTagMap: - RenderType: Transparent - disabledShaderPasses: - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - - MOTIONVECTORS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AnisotropyMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 2800000, guid: 1e22bd6b46ceb4d0c99cfdb552ec8586, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoatMaskMap: - 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} - - _DetailMap: - 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} - - _EmissiveColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HeightMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 1e22bd6b46ceb4d0c99cfdb552ec8586, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MaskMap: - 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} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapOS: - 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} - - _SpecularColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SubsurfaceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmittanceColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AORemapMax: 1 - - _AORemapMin: 0 - - _ATDistance: 1 - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.6 - - _AlphaCutoffEnable: 0 - - _AlphaCutoffPostpass: 0.5 - - _AlphaCutoffPrepass: 0.5 - - _AlphaCutoffShadow: 0.5 - - _AlphaDstBlend: 10 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _Anisotropy: 0 - - _BlendMode: 0 - - _BumpScale: 1 - - _CoatMask: 0 - - _CullMode: 2 - - _CullModeForward: 2 - - _Cutoff: 0.6 - - _DepthOffsetEnable: 0 - - _DetailAlbedoScale: 1 - - _DetailNormalMapScale: 1 - - _DetailNormalScale: 1 - - _DetailSmoothnessScale: 1 - - _DiffusionProfile: 0 - - _DiffusionProfileHash: 0 - - _DisplacementLockObjectScale: 1 - - _DisplacementLockTilingScale: 1 - - _DisplacementMode: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DoubleSidedNormalMode: 1 - - _DstBlend: 10 - - _EmissiveColorMode: 1 - - _EmissiveExposureWeight: 1 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _EnableGeometricSpecularAA: 0 - - _EnergyConservingSpecularColor: 1 - - _GlossMapScale: 1 - - _Glossiness: 1 - - _GlossyReflections: 1 - - _HeightAmplitude: 0.02 - - _HeightCenter: 0.5 - - _HeightMapParametrization: 0 - - _HeightMax: 1 - - _HeightMin: -1 - - _HeightOffset: 0 - - _HeightPoMAmplitude: 2 - - _HeightTessAmplitude: 2 - - _HeightTessCenter: 0.5 - - _InvTilingScale: 1 - - _Ior: 1.5 - - _IridescenceMask: 1 - - _IridescenceThickness: 1 - - _LinkDetailsWithBase: 0 - - _MaterialID: 1 - - _Metallic: 0 - - _MetallicRemapMax: 0 - - _MetallicRemapMin: 0 - - _Mode: 3 - - _NormalMapSpace: 0 - - _NormalScale: 1 - - _OcclusionStrength: 1 - - _OpaqueCullMode: 2 - - _PPDLodThreshold: 5 - - _PPDMaxSamples: 15 - - _PPDMinSamples: 5 - - _PPDPrimitiveLength: 1 - - _PPDPrimitiveWidth: 1 - - _Parallax: 0.02 - - _RayTracing: 0 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _Smoothness: 1 - - _SmoothnessRemapMax: 1 - - _SmoothnessRemapMin: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularAAScreenSpaceVariance: 0.1 - - _SpecularAAThreshold: 0.2 - - _SpecularHighlights: 1 - - _SpecularOcclusionMode: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 0 - - _StencilRefGBuffer: 2 - - _StencilRefMV: 32 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SubsurfaceMask: 1 - - _SupportDecals: 1 - - _SurfaceType: 1 - - _TexWorldScale: 1 - - _TexWorldScaleEmissive: 1 - - _Thickness: 1 - - _TransmissionEnable: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UVBase: 0 - - _UVDetail: 0 - - _UVEmissive: 0 - - _UVSec: 0 - - _UseEmissiveIntensity: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 4 - - _ZTestGBuffer: 4 - - _ZTestTransparent: 4 - - _ZWrite: 0 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} - - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} - - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} ---- !u!114 &1110779767947545721 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 12 - hdPluginSubTargetMaterialVersions: - m_Keys: [] - m_Values: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/BaseColorTextureTransparent.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/BaseColorTextureTransparent.mat.meta deleted file mode 100644 index e7deadeab..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/BaseColorTextureTransparent.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: eed87a244eea145b1aa1542cc2a5664c -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/Blue.mat b/Tests/Runtime/Export/Materials/HighDefinition/Blue.mat deleted file mode 100644 index c53a7ff68..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/Blue.mat +++ /dev/null @@ -1,324 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-6179123345262248871 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 12 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Blue - m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2225 - stringTagMap: {} - disabledShaderPasses: - - DistortionVectors - - RayTracingPrepass - - MOTIONVECTORS - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AnisotropyMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoatMaskMap: - 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} - - _DetailMap: - 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} - - _DistortionVectorMap: - 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} - - _EmissiveColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HeightMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceThicknessMap: - 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} - - _MaskMap: - 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} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapOS: - 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} - - _SpecularColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SubsurfaceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmittanceColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - : 0.5 - - _AORemapMax: 1 - - _AORemapMin: 0 - - _ATDistance: 1 - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.5 - - _AlphaCutoffEnable: 0 - - _AlphaCutoffPostpass: 0.5 - - _AlphaCutoffPrepass: 0.5 - - _AlphaCutoffShadow: 0.5 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _Anisotropy: 0 - - _BlendMode: 0 - - _BumpScale: 1 - - _CoatMask: 0 - - _CullMode: 2 - - _CullModeForward: 2 - - _Cutoff: 0.5 - - _DepthOffsetEnable: 0 - - _DetailAlbedoScale: 1 - - _DetailNormalMapScale: 1 - - _DetailNormalScale: 1 - - _DetailSmoothnessScale: 1 - - _DiffusionProfile: 0 - - _DiffusionProfileHash: 0 - - _DisplacementLockObjectScale: 1 - - _DisplacementLockTilingScale: 1 - - _DisplacementMode: 0 - - _DistortionBlendMode: 0 - - _DistortionBlurBlendMode: 0 - - _DistortionBlurDstBlend: 1 - - _DistortionBlurRemapMax: 1 - - _DistortionBlurRemapMin: 0 - - _DistortionBlurScale: 1 - - _DistortionBlurSrcBlend: 1 - - _DistortionDepthTest: 1 - - _DistortionDstBlend: 1 - - _DistortionEnable: 0 - - _DistortionScale: 1 - - _DistortionSrcBlend: 1 - - _DistortionVectorBias: -1 - - _DistortionVectorScale: 2 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DoubleSidedNormalMode: 1 - - _DstBlend: 0 - - _EmissiveColorMode: 1 - - _EmissiveExposureWeight: 1 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _EnableGeometricSpecularAA: 0 - - _EnergyConservingSpecularColor: 1 - - _GlossMapScale: 1 - - _GlossyReflections: 1 - - _HeightAmplitude: 0.02 - - _HeightCenter: 0.5 - - _HeightMapParametrization: 0 - - _HeightMax: 1 - - _HeightMin: -1 - - _HeightOffset: 0 - - _HeightPoMAmplitude: 2 - - _HeightTessAmplitude: 2 - - _HeightTessCenter: 0.5 - - _InvTilingScale: 1 - - _Ior: 1.5 - - _IridescenceMask: 1 - - _IridescenceThickness: 1 - - _LinkDetailsWithBase: 0 - - _MaterialID: 1 - - _Metallic: 0 - - _MetallicRemapMax: 0 - - _MetallicRemapMin: 0 - - _Mode: 0 - - _NormalMapSpace: 0 - - _NormalScale: 1 - - _OcclusionStrength: 1 - - _OpaqueCullMode: 2 - - _PPDLodThreshold: 5 - - _PPDMaxSamples: 15 - - _PPDMinSamples: 5 - - _PPDPrimitiveLength: 1 - - _PPDPrimitiveWidth: 1 - - _Parallax: 0.02 - - _RayTracing: 0 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _SSRefractionProjectionModel: 0 - - _Smoothness: 0.5 - - _SmoothnessRemapMax: 0.5 - - _SmoothnessRemapMin: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularAAScreenSpaceVariance: 0.1 - - _SpecularAAThreshold: 0.2 - - _SpecularHighlights: 1 - - _SpecularOcclusionMode: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SubsurfaceMask: 1 - - _SupportDecals: 1 - - _SurfaceType: 0 - - _TexWorldScale: 1 - - _TexWorldScaleEmissive: 1 - - _Thickness: 1 - - _TransmissionEnable: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UVBase: 0 - - _UVDetail: 0 - - _UVEmissive: 0 - - _UVSec: 0 - - _UseEmissiveIntensity: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 4 - - _ZTestModeDistortion: 4 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 0.09848104, g: 0.16096762, b: 0.9063317, a: 1} - - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 0.09848101, g: 0.16096759, b: 0.9063317, a: 1} - - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} - - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} - - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} diff --git a/Tests/Runtime/Export/Materials/HighDefinition/Blue.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/Blue.mat.meta deleted file mode 100644 index 7ab0e9252..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/Blue.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 3d1f35f7020b74011a0204e8f6c8f49e -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/ClearcoatFactor.mat b/Tests/Runtime/Export/Materials/HighDefinition/ClearcoatFactor.mat deleted file mode 100644 index d0399448c..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/ClearcoatFactor.mat +++ /dev/null @@ -1,302 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-165594576116818014 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 13 - hdPluginSubTargetMaterialVersions: - m_Keys: [] - m_Values: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: ClearcoatFactor - m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _DISABLE_SSR_TRANSPARENT - - _MATERIAL_FEATURE_CLEAR_COAT - - _NORMALMAP_TANGENT_SPACE - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2225 - stringTagMap: {} - disabledShaderPasses: - - DistortionVectors - - RayTracingPrepass - - MOTIONVECTORS - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AnisotropyMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoatMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DistortionVectorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissiveColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HeightMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceThicknessMap: - 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} - - _MaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SpecularColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SubsurfaceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmissionMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmittanceColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AORemapMax: 1 - - _AORemapMin: 0 - - _ATDistance: 1 - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.5 - - _AlphaCutoffEnable: 0 - - _AlphaCutoffPostpass: 0.5 - - _AlphaCutoffPrepass: 0.5 - - _AlphaCutoffShadow: 0.5 - - _AlphaDstBlend: 0 - - _AlphaRemapMax: 1 - - _AlphaRemapMin: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _Anisotropy: 0 - - _BlendMode: 0 - - _CoatMask: 1 - - _CullMode: 2 - - _CullModeForward: 2 - - _Cutoff: 0.5 - - _DepthOffsetEnable: 0 - - _DetailAlbedoScale: 1 - - _DetailNormalScale: 1 - - _DetailSmoothnessScale: 1 - - _DiffusionProfile: 0 - - _DiffusionProfileHash: 0 - - _DisplacementLockObjectScale: 1 - - _DisplacementLockTilingScale: 1 - - _DisplacementMode: 0 - - _DistortionBlendMode: 0 - - _DistortionBlurBlendMode: 0 - - _DistortionBlurDstBlend: 1 - - _DistortionBlurRemapMax: 1 - - _DistortionBlurRemapMin: 0 - - _DistortionBlurScale: 1 - - _DistortionBlurSrcBlend: 1 - - _DistortionDepthTest: 1 - - _DistortionDstBlend: 1 - - _DistortionEnable: 0 - - _DistortionScale: 1 - - _DistortionSrcBlend: 1 - - _DistortionVectorBias: -1 - - _DistortionVectorScale: 2 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DoubleSidedNormalMode: 1 - - _DstBlend: 0 - - _EmissiveColorMode: 1 - - _EmissiveExposureWeight: 1 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _EnableGeometricSpecularAA: 0 - - _EnergyConservingSpecularColor: 1 - - _HeightAmplitude: 0.02 - - _HeightCenter: 0.5 - - _HeightMapParametrization: 0 - - _HeightMax: 1 - - _HeightMin: -1 - - _HeightOffset: 0 - - _HeightPoMAmplitude: 2 - - _HeightTessAmplitude: 2 - - _HeightTessCenter: 0.5 - - _InvTilingScale: 1 - - _Ior: 1.5 - - _IridescenceMask: 1 - - _IridescenceThickness: 1 - - _LinkDetailsWithBase: 1 - - _MaterialID: 1 - - _Metallic: 0 - - _MetallicRemapMax: 1 - - _MetallicRemapMin: 0 - - _NormalMapSpace: 0 - - _NormalScale: 1 - - _ObjectSpaceUVMapping: 0 - - _ObjectSpaceUVMappingEmissive: 0 - - _OpaqueCullMode: 2 - - _PPDLodThreshold: 5 - - _PPDMaxSamples: 15 - - _PPDMinSamples: 5 - - _PPDPrimitiveLength: 1 - - _PPDPrimitiveWidth: 1 - - _RayTracing: 0 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _SSRefractionProjectionModel: 0 - - _Smoothness: 0.5 - - _SmoothnessRemapMax: 1 - - _SmoothnessRemapMin: 0 - - _SpecularAAScreenSpaceVariance: 0.1 - - _SpecularAAThreshold: 0.2 - - _SpecularOcclusionMode: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 9 - - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskGBuffer: 15 - - _StencilWriteMaskMV: 41 - - _SubsurfaceMask: 1 - - _SupportDecals: 1 - - _SurfaceType: 0 - - _TexWorldScale: 1 - - _TexWorldScaleEmissive: 1 - - _Thickness: 1 - - _TransmissionEnable: 1 - - _TransmissionMask: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UVBase: 0 - - _UVDetail: 0 - - _UVEmissive: 0 - - _UseEmissiveIntensity: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 4 - - _ZTestModeDistortion: 4 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 0, b: 0, a: 1} - - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 1, g: 0, b: 0, a: 1} - - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} - - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} - - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] diff --git a/Tests/Runtime/Export/Materials/HighDefinition/ClearcoatFactor.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/ClearcoatFactor.mat.meta deleted file mode 100644 index e9c168b17..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/ClearcoatFactor.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 155aa643dd7b31e40832390b31682cba -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/ClearcoatTexture.mat b/Tests/Runtime/Export/Materials/HighDefinition/ClearcoatTexture.mat deleted file mode 100644 index dc068dce8..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/ClearcoatTexture.mat +++ /dev/null @@ -1,279 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-6915587915627429119 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 13 - hdPluginSubTargetMaterialVersions: - m_Keys: [] - m_Values: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: ClearcoatTexture - m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _DISABLE_SSR_TRANSPARENT - - _MATERIAL_FEATURE_CLEAR_COAT - - _NORMALMAP_TANGENT_SPACE - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2225 - stringTagMap: {} - disabledShaderPasses: - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - - MOTIONVECTORS - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AnisotropyMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoatMaskMap: - m_Texture: {fileID: 2800000, guid: 3a0e02ca8bf479e4d8ee66130b5e14a3, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _EmissiveColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HeightMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceThicknessMap: - 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} - - _MaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SpecularColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SubsurfaceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmissionMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmittanceColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AORemapMax: 1 - - _AORemapMin: 0 - - _ATDistance: 1 - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.5 - - _AlphaCutoffEnable: 0 - - _AlphaCutoffPostpass: 0.5 - - _AlphaCutoffPrepass: 0.5 - - _AlphaCutoffShadow: 0.5 - - _AlphaDstBlend: 0 - - _AlphaRemapMax: 1 - - _AlphaRemapMin: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _Anisotropy: 0 - - _BlendMode: 0 - - _CoatMask: 1 - - _CullMode: 2 - - _CullModeForward: 2 - - _Cutoff: 0.5 - - _DepthOffsetEnable: 0 - - _DetailAlbedoScale: 1 - - _DetailNormalScale: 1 - - _DetailSmoothnessScale: 1 - - _DiffusionProfile: 0 - - _DiffusionProfileHash: 0 - - _DisplacementLockObjectScale: 1 - - _DisplacementLockTilingScale: 1 - - _DisplacementMode: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DoubleSidedNormalMode: 1 - - _DstBlend: 0 - - _EmissiveColorMode: 1 - - _EmissiveExposureWeight: 1 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _EnableGeometricSpecularAA: 0 - - _EnergyConservingSpecularColor: 1 - - _HeightAmplitude: 0.02 - - _HeightCenter: 0.5 - - _HeightMapParametrization: 0 - - _HeightMax: 1 - - _HeightMin: -1 - - _HeightOffset: 0 - - _HeightPoMAmplitude: 2 - - _HeightTessAmplitude: 2 - - _HeightTessCenter: 0.5 - - _InvTilingScale: 1 - - _Ior: 1.5 - - _IridescenceMask: 1 - - _IridescenceThickness: 1 - - _LinkDetailsWithBase: 1 - - _MaterialID: 1 - - _Metallic: 0 - - _MetallicRemapMax: 1 - - _MetallicRemapMin: 0 - - _NormalMapSpace: 0 - - _NormalScale: 1 - - _ObjectSpaceUVMapping: 0 - - _ObjectSpaceUVMappingEmissive: 0 - - _OpaqueCullMode: 2 - - _PPDLodThreshold: 5 - - _PPDMaxSamples: 15 - - _PPDMinSamples: 5 - - _PPDPrimitiveLength: 1 - - _PPDPrimitiveWidth: 1 - - _RayTracing: 0 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _Smoothness: 0.5 - - _SmoothnessRemapMax: 1 - - _SmoothnessRemapMin: 0 - - _SpecularAAScreenSpaceVariance: 0.1 - - _SpecularAAThreshold: 0.2 - - _SpecularOcclusionMode: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 9 - - _StencilWriteMaskGBuffer: 15 - - _StencilWriteMaskMV: 41 - - _SubsurfaceMask: 1 - - _SupportDecals: 1 - - _SurfaceType: 0 - - _TexWorldScale: 1 - - _TexWorldScaleEmissive: 1 - - _Thickness: 1 - - _TransmissionEnable: 1 - - _TransmissionMask: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UVBase: 0 - - _UVDetail: 0 - - _UVEmissive: 0 - - _UseEmissiveIntensity: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 4 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 0, b: 0, a: 1} - - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 1, g: 0, b: 0, a: 1} - - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} - - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} - - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] diff --git a/Tests/Runtime/Export/Materials/HighDefinition/ClearcoatTexture.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/ClearcoatTexture.mat.meta deleted file mode 100644 index ddac91b6d..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/ClearcoatTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 3ac92d06993cc954697ad125a4360d81 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/Dielectric 1.mat b/Tests/Runtime/Export/Materials/HighDefinition/Dielectric 1.mat deleted file mode 100644 index ec038c86f..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/Dielectric 1.mat +++ /dev/null @@ -1,304 +0,0 @@ -%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: Dielectric 1 - m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2225 - stringTagMap: {} - disabledShaderPasses: - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - - MOTIONVECTORS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AnisotropyMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoatMaskMap: - 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} - - _DetailMap: - 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} - - _EmissiveColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HeightMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceThicknessMap: - 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} - - _MaskMap: - 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} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapOS: - 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} - - _SpecularColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SubsurfaceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmittanceColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AORemapMax: 1 - - _AORemapMin: 0 - - _ATDistance: 1 - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.5 - - _AlphaCutoffEnable: 0 - - _AlphaCutoffPostpass: 0.5 - - _AlphaCutoffPrepass: 0.5 - - _AlphaCutoffShadow: 0.5 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _Anisotropy: 0 - - _BlendMode: 0 - - _BumpScale: 1 - - _CoatMask: 0 - - _CullMode: 2 - - _CullModeForward: 2 - - _Cutoff: 0.5 - - _DepthOffsetEnable: 0 - - _DetailAlbedoScale: 1 - - _DetailNormalMapScale: 1 - - _DetailNormalScale: 1 - - _DetailSmoothnessScale: 1 - - _DiffusionProfile: 0 - - _DiffusionProfileHash: 0 - - _DisplacementLockObjectScale: 1 - - _DisplacementLockTilingScale: 1 - - _DisplacementMode: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DoubleSidedNormalMode: 1 - - _DstBlend: 0 - - _EmissiveColorMode: 1 - - _EmissiveExposureWeight: 1 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _EnableGeometricSpecularAA: 0 - - _EnergyConservingSpecularColor: 1 - - _GlossMapScale: 1 - - _Glossiness: 1 - - _GlossyReflections: 1 - - _HeightAmplitude: 0.02 - - _HeightCenter: 0.5 - - _HeightMapParametrization: 0 - - _HeightMax: 1 - - _HeightMin: -1 - - _HeightOffset: 0 - - _HeightPoMAmplitude: 2 - - _HeightTessAmplitude: 2 - - _HeightTessCenter: 0.5 - - _InvTilingScale: 1 - - _Ior: 1.5 - - _IridescenceMask: 1 - - _IridescenceThickness: 1 - - _LinkDetailsWithBase: 0 - - _MaterialID: 1 - - _Metallic: 0 - - _MetallicRemapMax: 0 - - _MetallicRemapMin: 0 - - _Mode: 0 - - _NormalMapSpace: 0 - - _NormalScale: 1 - - _OcclusionStrength: 1 - - _OpaqueCullMode: 2 - - _PPDLodThreshold: 5 - - _PPDMaxSamples: 15 - - _PPDMinSamples: 5 - - _PPDPrimitiveLength: 1 - - _PPDPrimitiveWidth: 1 - - _Parallax: 0.02 - - _RayTracing: 0 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _Smoothness: 1 - - _SmoothnessRemapMax: 1 - - _SmoothnessRemapMin: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularAAScreenSpaceVariance: 0.1 - - _SpecularAAThreshold: 0.2 - - _SpecularHighlights: 1 - - _SpecularOcclusionMode: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SubsurfaceMask: 1 - - _SupportDecals: 1 - - _SurfaceType: 0 - - _TexWorldScale: 1 - - _TexWorldScaleEmissive: 1 - - _Thickness: 1 - - _TransmissionEnable: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UVBase: 0 - - _UVDetail: 0 - - _UVEmissive: 0 - - _UVSec: 0 - - _UseEmissiveIntensity: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 4 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 0.7077749, g: 0.41981128, b: 1, a: 1} - - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 0.7077749, g: 0.41981125, b: 1, a: 1} - - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} - - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} - - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} ---- !u!114 &1856803294863379625 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 12 - hdPluginSubTargetMaterialVersions: - m_Keys: [] - m_Values: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/Dielectric 1.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/Dielectric 1.mat.meta deleted file mode 100644 index 67571928e..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/Dielectric 1.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 9362e57de289d43cc93c5f82aedc1ebd -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/Dielectric 2.mat b/Tests/Runtime/Export/Materials/HighDefinition/Dielectric 2.mat deleted file mode 100644 index eb4144b01..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/Dielectric 2.mat +++ /dev/null @@ -1,304 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-4935425746302484471 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 12 - hdPluginSubTargetMaterialVersions: - m_Keys: [] - m_Values: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Dielectric 2 - m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2225 - stringTagMap: {} - disabledShaderPasses: - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - - MOTIONVECTORS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AnisotropyMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoatMaskMap: - 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} - - _DetailMap: - 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} - - _EmissiveColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HeightMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceThicknessMap: - 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} - - _MaskMap: - 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} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapOS: - 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} - - _SpecularColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SubsurfaceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmittanceColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AORemapMax: 1 - - _AORemapMin: 0 - - _ATDistance: 1 - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.5 - - _AlphaCutoffEnable: 0 - - _AlphaCutoffPostpass: 0.5 - - _AlphaCutoffPrepass: 0.5 - - _AlphaCutoffShadow: 0.5 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _Anisotropy: 0 - - _BlendMode: 0 - - _BumpScale: 1 - - _CoatMask: 0 - - _CullMode: 2 - - _CullModeForward: 2 - - _Cutoff: 0.5 - - _DepthOffsetEnable: 0 - - _DetailAlbedoScale: 1 - - _DetailNormalMapScale: 1 - - _DetailNormalScale: 1 - - _DetailSmoothnessScale: 1 - - _DiffusionProfile: 0 - - _DiffusionProfileHash: 0 - - _DisplacementLockObjectScale: 1 - - _DisplacementLockTilingScale: 1 - - _DisplacementMode: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DoubleSidedNormalMode: 1 - - _DstBlend: 0 - - _EmissiveColorMode: 1 - - _EmissiveExposureWeight: 1 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _EnableGeometricSpecularAA: 0 - - _EnergyConservingSpecularColor: 1 - - _GlossMapScale: 1 - - _Glossiness: 0.75 - - _GlossyReflections: 1 - - _HeightAmplitude: 0.02 - - _HeightCenter: 0.5 - - _HeightMapParametrization: 0 - - _HeightMax: 1 - - _HeightMin: -1 - - _HeightOffset: 0 - - _HeightPoMAmplitude: 2 - - _HeightTessAmplitude: 2 - - _HeightTessCenter: 0.5 - - _InvTilingScale: 1 - - _Ior: 1.5 - - _IridescenceMask: 1 - - _IridescenceThickness: 1 - - _LinkDetailsWithBase: 0 - - _MaterialID: 1 - - _Metallic: 0 - - _MetallicRemapMax: 0 - - _MetallicRemapMin: 0 - - _Mode: 0 - - _NormalMapSpace: 0 - - _NormalScale: 1 - - _OcclusionStrength: 1 - - _OpaqueCullMode: 2 - - _PPDLodThreshold: 5 - - _PPDMaxSamples: 15 - - _PPDMinSamples: 5 - - _PPDPrimitiveLength: 1 - - _PPDPrimitiveWidth: 1 - - _Parallax: 0.02 - - _RayTracing: 0 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _Smoothness: 0.75 - - _SmoothnessRemapMax: 0.75 - - _SmoothnessRemapMin: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularAAScreenSpaceVariance: 0.1 - - _SpecularAAThreshold: 0.2 - - _SpecularHighlights: 1 - - _SpecularOcclusionMode: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SubsurfaceMask: 1 - - _SupportDecals: 1 - - _SurfaceType: 0 - - _TexWorldScale: 1 - - _TexWorldScaleEmissive: 1 - - _Thickness: 1 - - _TransmissionEnable: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UVBase: 0 - - _UVDetail: 0 - - _UVEmissive: 0 - - _UVSec: 0 - - _UseEmissiveIntensity: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 4 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 0.7077749, g: 0.41981128, b: 1, a: 1} - - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 0.7077749, g: 0.41981125, b: 1, a: 1} - - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} - - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} - - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} diff --git a/Tests/Runtime/Export/Materials/HighDefinition/Dielectric 2.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/Dielectric 2.mat.meta deleted file mode 100644 index 69840360c..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/Dielectric 2.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 2d0a99041f60148df9fd80bf0aebc354 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/Dielectric 3.mat b/Tests/Runtime/Export/Materials/HighDefinition/Dielectric 3.mat deleted file mode 100644 index f6a6e698c..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/Dielectric 3.mat +++ /dev/null @@ -1,304 +0,0 @@ -%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: Dielectric 3 - m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2225 - stringTagMap: {} - disabledShaderPasses: - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - - MOTIONVECTORS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AnisotropyMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoatMaskMap: - 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} - - _DetailMap: - 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} - - _EmissiveColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HeightMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceThicknessMap: - 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} - - _MaskMap: - 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} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapOS: - 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} - - _SpecularColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SubsurfaceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmittanceColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AORemapMax: 1 - - _AORemapMin: 0 - - _ATDistance: 1 - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.5 - - _AlphaCutoffEnable: 0 - - _AlphaCutoffPostpass: 0.5 - - _AlphaCutoffPrepass: 0.5 - - _AlphaCutoffShadow: 0.5 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _Anisotropy: 0 - - _BlendMode: 0 - - _BumpScale: 1 - - _CoatMask: 0 - - _CullMode: 2 - - _CullModeForward: 2 - - _Cutoff: 0.5 - - _DepthOffsetEnable: 0 - - _DetailAlbedoScale: 1 - - _DetailNormalMapScale: 1 - - _DetailNormalScale: 1 - - _DetailSmoothnessScale: 1 - - _DiffusionProfile: 0 - - _DiffusionProfileHash: 0 - - _DisplacementLockObjectScale: 1 - - _DisplacementLockTilingScale: 1 - - _DisplacementMode: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DoubleSidedNormalMode: 1 - - _DstBlend: 0 - - _EmissiveColorMode: 1 - - _EmissiveExposureWeight: 1 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _EnableGeometricSpecularAA: 0 - - _EnergyConservingSpecularColor: 1 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _HeightAmplitude: 0.02 - - _HeightCenter: 0.5 - - _HeightMapParametrization: 0 - - _HeightMax: 1 - - _HeightMin: -1 - - _HeightOffset: 0 - - _HeightPoMAmplitude: 2 - - _HeightTessAmplitude: 2 - - _HeightTessCenter: 0.5 - - _InvTilingScale: 1 - - _Ior: 1.5 - - _IridescenceMask: 1 - - _IridescenceThickness: 1 - - _LinkDetailsWithBase: 0 - - _MaterialID: 1 - - _Metallic: 0 - - _MetallicRemapMax: 0 - - _MetallicRemapMin: 0 - - _Mode: 0 - - _NormalMapSpace: 0 - - _NormalScale: 1 - - _OcclusionStrength: 1 - - _OpaqueCullMode: 2 - - _PPDLodThreshold: 5 - - _PPDMaxSamples: 15 - - _PPDMinSamples: 5 - - _PPDPrimitiveLength: 1 - - _PPDPrimitiveWidth: 1 - - _Parallax: 0.02 - - _RayTracing: 0 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _Smoothness: 0.5 - - _SmoothnessRemapMax: 0.5 - - _SmoothnessRemapMin: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularAAScreenSpaceVariance: 0.1 - - _SpecularAAThreshold: 0.2 - - _SpecularHighlights: 1 - - _SpecularOcclusionMode: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SubsurfaceMask: 1 - - _SupportDecals: 1 - - _SurfaceType: 0 - - _TexWorldScale: 1 - - _TexWorldScaleEmissive: 1 - - _Thickness: 1 - - _TransmissionEnable: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UVBase: 0 - - _UVDetail: 0 - - _UVEmissive: 0 - - _UVSec: 0 - - _UseEmissiveIntensity: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 4 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 0.7077749, g: 0.41981128, b: 1, a: 1} - - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 0.7077749, g: 0.41981125, b: 1, a: 1} - - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} - - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} - - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} ---- !u!114 &9048778527219798839 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 12 - hdPluginSubTargetMaterialVersions: - m_Keys: [] - m_Values: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/Dielectric 3.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/Dielectric 3.mat.meta deleted file mode 100644 index aed8bd50b..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/Dielectric 3.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 34c248f9aa4644bfca8adf96a8514f7b -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/Dielectric 4.mat b/Tests/Runtime/Export/Materials/HighDefinition/Dielectric 4.mat deleted file mode 100644 index 4a5b28ea7..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/Dielectric 4.mat +++ /dev/null @@ -1,304 +0,0 @@ -%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: Dielectric 4 - m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2225 - stringTagMap: {} - disabledShaderPasses: - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - - MOTIONVECTORS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AnisotropyMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoatMaskMap: - 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} - - _DetailMap: - 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} - - _EmissiveColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HeightMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceThicknessMap: - 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} - - _MaskMap: - 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} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapOS: - 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} - - _SpecularColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SubsurfaceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmittanceColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AORemapMax: 1 - - _AORemapMin: 0 - - _ATDistance: 1 - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.5 - - _AlphaCutoffEnable: 0 - - _AlphaCutoffPostpass: 0.5 - - _AlphaCutoffPrepass: 0.5 - - _AlphaCutoffShadow: 0.5 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _Anisotropy: 0 - - _BlendMode: 0 - - _BumpScale: 1 - - _CoatMask: 0 - - _CullMode: 2 - - _CullModeForward: 2 - - _Cutoff: 0.5 - - _DepthOffsetEnable: 0 - - _DetailAlbedoScale: 1 - - _DetailNormalMapScale: 1 - - _DetailNormalScale: 1 - - _DetailSmoothnessScale: 1 - - _DiffusionProfile: 0 - - _DiffusionProfileHash: 0 - - _DisplacementLockObjectScale: 1 - - _DisplacementLockTilingScale: 1 - - _DisplacementMode: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DoubleSidedNormalMode: 1 - - _DstBlend: 0 - - _EmissiveColorMode: 1 - - _EmissiveExposureWeight: 1 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _EnableGeometricSpecularAA: 0 - - _EnergyConservingSpecularColor: 1 - - _GlossMapScale: 1 - - _Glossiness: 0.25 - - _GlossyReflections: 1 - - _HeightAmplitude: 0.02 - - _HeightCenter: 0.5 - - _HeightMapParametrization: 0 - - _HeightMax: 1 - - _HeightMin: -1 - - _HeightOffset: 0 - - _HeightPoMAmplitude: 2 - - _HeightTessAmplitude: 2 - - _HeightTessCenter: 0.5 - - _InvTilingScale: 1 - - _Ior: 1.5 - - _IridescenceMask: 1 - - _IridescenceThickness: 1 - - _LinkDetailsWithBase: 0 - - _MaterialID: 1 - - _Metallic: 0 - - _MetallicRemapMax: 0 - - _MetallicRemapMin: 0 - - _Mode: 0 - - _NormalMapSpace: 0 - - _NormalScale: 1 - - _OcclusionStrength: 1 - - _OpaqueCullMode: 2 - - _PPDLodThreshold: 5 - - _PPDMaxSamples: 15 - - _PPDMinSamples: 5 - - _PPDPrimitiveLength: 1 - - _PPDPrimitiveWidth: 1 - - _Parallax: 0.02 - - _RayTracing: 0 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _Smoothness: 0.25 - - _SmoothnessRemapMax: 0.25 - - _SmoothnessRemapMin: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularAAScreenSpaceVariance: 0.1 - - _SpecularAAThreshold: 0.2 - - _SpecularHighlights: 1 - - _SpecularOcclusionMode: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SubsurfaceMask: 1 - - _SupportDecals: 1 - - _SurfaceType: 0 - - _TexWorldScale: 1 - - _TexWorldScaleEmissive: 1 - - _Thickness: 1 - - _TransmissionEnable: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UVBase: 0 - - _UVDetail: 0 - - _UVEmissive: 0 - - _UVSec: 0 - - _UseEmissiveIntensity: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 4 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 0.7077749, g: 0.41981128, b: 1, a: 1} - - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 0.7077749, g: 0.41981125, b: 1, a: 1} - - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} - - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} - - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} ---- !u!114 &8130939320572022393 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 12 - hdPluginSubTargetMaterialVersions: - m_Keys: [] - m_Values: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/Dielectric 4.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/Dielectric 4.mat.meta deleted file mode 100644 index 161523955..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/Dielectric 4.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: b40164f611c8c4dda980f07e6280cbee -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/Dielectric 5.mat b/Tests/Runtime/Export/Materials/HighDefinition/Dielectric 5.mat deleted file mode 100644 index 431cedb7c..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/Dielectric 5.mat +++ /dev/null @@ -1,304 +0,0 @@ -%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: Dielectric 5 - m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2225 - stringTagMap: {} - disabledShaderPasses: - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - - MOTIONVECTORS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AnisotropyMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoatMaskMap: - 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} - - _DetailMap: - 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} - - _EmissiveColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HeightMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceThicknessMap: - 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} - - _MaskMap: - 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} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapOS: - 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} - - _SpecularColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SubsurfaceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmittanceColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AORemapMax: 1 - - _AORemapMin: 0 - - _ATDistance: 1 - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.5 - - _AlphaCutoffEnable: 0 - - _AlphaCutoffPostpass: 0.5 - - _AlphaCutoffPrepass: 0.5 - - _AlphaCutoffShadow: 0.5 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _Anisotropy: 0 - - _BlendMode: 0 - - _BumpScale: 1 - - _CoatMask: 0 - - _CullMode: 2 - - _CullModeForward: 2 - - _Cutoff: 0.5 - - _DepthOffsetEnable: 0 - - _DetailAlbedoScale: 1 - - _DetailNormalMapScale: 1 - - _DetailNormalScale: 1 - - _DetailSmoothnessScale: 1 - - _DiffusionProfile: 0 - - _DiffusionProfileHash: 0 - - _DisplacementLockObjectScale: 1 - - _DisplacementLockTilingScale: 1 - - _DisplacementMode: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DoubleSidedNormalMode: 1 - - _DstBlend: 0 - - _EmissiveColorMode: 1 - - _EmissiveExposureWeight: 1 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _EnableGeometricSpecularAA: 0 - - _EnergyConservingSpecularColor: 1 - - _GlossMapScale: 1 - - _Glossiness: 0 - - _GlossyReflections: 1 - - _HeightAmplitude: 0.02 - - _HeightCenter: 0.5 - - _HeightMapParametrization: 0 - - _HeightMax: 1 - - _HeightMin: -1 - - _HeightOffset: 0 - - _HeightPoMAmplitude: 2 - - _HeightTessAmplitude: 2 - - _HeightTessCenter: 0.5 - - _InvTilingScale: 1 - - _Ior: 1.5 - - _IridescenceMask: 1 - - _IridescenceThickness: 1 - - _LinkDetailsWithBase: 0 - - _MaterialID: 1 - - _Metallic: 0 - - _MetallicRemapMax: 0 - - _MetallicRemapMin: 0 - - _Mode: 0 - - _NormalMapSpace: 0 - - _NormalScale: 1 - - _OcclusionStrength: 1 - - _OpaqueCullMode: 2 - - _PPDLodThreshold: 5 - - _PPDMaxSamples: 15 - - _PPDMinSamples: 5 - - _PPDPrimitiveLength: 1 - - _PPDPrimitiveWidth: 1 - - _Parallax: 0.02 - - _RayTracing: 0 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _Smoothness: 0 - - _SmoothnessRemapMax: 0 - - _SmoothnessRemapMin: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularAAScreenSpaceVariance: 0.1 - - _SpecularAAThreshold: 0.2 - - _SpecularHighlights: 1 - - _SpecularOcclusionMode: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SubsurfaceMask: 1 - - _SupportDecals: 1 - - _SurfaceType: 0 - - _TexWorldScale: 1 - - _TexWorldScaleEmissive: 1 - - _Thickness: 1 - - _TransmissionEnable: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UVBase: 0 - - _UVDetail: 0 - - _UVEmissive: 0 - - _UVSec: 0 - - _UseEmissiveIntensity: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 4 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 0.7077749, g: 0.41981128, b: 1, a: 1} - - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 0.7077749, g: 0.41981125, b: 1, a: 1} - - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} - - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} - - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} ---- !u!114 &8750333965041017440 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 12 - hdPluginSubTargetMaterialVersions: - m_Keys: [] - m_Values: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/Dielectric 5.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/Dielectric 5.mat.meta deleted file mode 100644 index d2b24c4a6..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/Dielectric 5.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 86c972c759df74432a55d225a581ecdb -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/DoubleSided.mat b/Tests/Runtime/Export/Materials/HighDefinition/DoubleSided.mat deleted file mode 100644 index f178fc852..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/DoubleSided.mat +++ /dev/null @@ -1,319 +0,0 @@ -%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: DoubleSided - m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DOUBLESIDED_ON _NORMALMAP_TANGENT_SPACE - m_LightmapFlags: 0 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 1 - m_CustomRenderQueue: 2000 - stringTagMap: {} - disabledShaderPasses: - - DistortionVectors - - MOTIONVECTORS - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AnisotropyMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoatMaskMap: - 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} - - _DetailMap: - 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} - - _DistortionVectorMap: - 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} - - _EmissiveColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HeightMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceThicknessMap: - 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} - - _MaskMap: - 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} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapOS: - 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} - - _SpecularColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SubsurfaceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmittanceColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AORemapMax: 1 - - _AORemapMin: 0 - - _ATDistance: 1 - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.5 - - _AlphaCutoffEnable: 0 - - _AlphaCutoffPostpass: 0.5 - - _AlphaCutoffPrepass: 0.5 - - _AlphaCutoffShadow: 0.5 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _Anisotropy: 0 - - _BlendMode: 0 - - _BlendOp: 0 - - _BumpScale: 1 - - _CameraFadingEnabled: 0 - - _CameraFarFadeDistance: 2 - - _CameraNearFadeDistance: 1 - - _CoatMask: 0 - - _CullMode: 0 - - _CullModeForward: 0 - - _Cutoff: 0.5 - - _DepthOffsetEnable: 0 - - _DetailAlbedoScale: 1 - - _DetailNormalMapScale: 1 - - _DetailNormalScale: 1 - - _DetailSmoothnessScale: 1 - - _DiffusionProfile: 0 - - _DiffusionProfileHash: 0 - - _DisplacementLockObjectScale: 1 - - _DisplacementLockTilingScale: 1 - - _DisplacementMode: 0 - - _DistortionBlend: 0.5 - - _DistortionBlendMode: 0 - - _DistortionBlurBlendMode: 0 - - _DistortionBlurDstBlend: 1 - - _DistortionBlurRemapMax: 1 - - _DistortionBlurRemapMin: 0 - - _DistortionBlurScale: 1 - - _DistortionBlurSrcBlend: 1 - - _DistortionDepthTest: 1 - - _DistortionDstBlend: 1 - - _DistortionEnable: 0 - - _DistortionEnabled: 0 - - _DistortionScale: 1 - - _DistortionSrcBlend: 1 - - _DistortionStrength: 1 - - _DistortionStrengthScaled: 0 - - _DistortionVectorBias: -1 - - _DistortionVectorScale: 2 - - _DoubleSidedEnable: 1 - - _DoubleSidedNormalMode: 1 - - _DstBlend: 0 - - _EmissionEnabled: 0 - - _EmissiveColorMode: 1 - - _EmissiveExposureWeight: 1 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _EnableGeometricSpecularAA: 0 - - _EnergyConservingSpecularColor: 1 - - _FlipbookMode: 0 - - _GlossMapScale: 1 - - _Glossiness: 0.3 - - _GlossyReflections: 1 - - _HeightAmplitude: 0.02 - - _HeightCenter: 0.5 - - _HeightMapParametrization: 0 - - _HeightMax: 1 - - _HeightMin: -1 - - _HeightOffset: 0 - - _HeightPoMAmplitude: 2 - - _HeightTessAmplitude: 2 - - _HeightTessCenter: 0.5 - - _InvTilingScale: 1 - - _Ior: 1.5 - - _IridescenceMask: 1 - - _IridescenceThickness: 1 - - _LightingEnabled: 1 - - _LinkDetailsWithBase: 1 - - _MaterialID: 1 - - _Metallic: 0 - - _Mode: 0 - - _NormalMapSpace: 0 - - _NormalScale: 1 - - _OcclusionStrength: 1 - - _PPDLodThreshold: 5 - - _PPDMaxSamples: 15 - - _PPDMinSamples: 5 - - _PPDPrimitiveLength: 1 - - _PPDPrimitiveWidth: 1 - - _Parallax: 0.02 - - _ReceivesSSR: 1 - - _RefractionModel: 0 - - _SSRefractionProjectionModel: 0 - - _Smoothness: 0.3 - - _SmoothnessRemapMax: 1 - - _SmoothnessRemapMin: 0 - - _SmoothnessTextureChannel: 0 - - _SoftParticlesEnabled: 0 - - _SoftParticlesFarFadeDistance: 1 - - _SoftParticlesNearFadeDistance: 0 - - _SpecularAAScreenSpaceVariance: 0.1 - - _SpecularAAThreshold: 0.2 - - _SpecularHighlights: 1 - - _SpecularOcclusionMode: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SubsurfaceMask: 1 - - _SupportDecals: 1 - - _SurfaceType: 0 - - _TexWorldScale: 1 - - _TexWorldScaleEmissive: 1 - - _Thickness: 1 - - _TransmissionEnable: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UVBase: 0 - - _UVDetail: 0 - - _UVEmissive: 0 - - _UVSec: 0 - - _UseEmissiveIntensity: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 4 - - _ZTestModeDistortion: 4 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 0, g: 0.087194204, b: 1, a: 1} - - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} - - _Color: {r: 0, g: 0.08719418, b: 1, a: 1} - - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} - - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} - - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} ---- !u!114 &3867731972643910879 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 2 diff --git a/Tests/Runtime/Export/Materials/HighDefinition/DoubleSided.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/DoubleSided.mat.meta deleted file mode 100644 index 3f2e10405..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/DoubleSided.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: a344378c64c6842629641fcef7dca0bf -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/EmissiveFactor.mat b/Tests/Runtime/Export/Materials/HighDefinition/EmissiveFactor.mat deleted file mode 100644 index 9135cd939..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/EmissiveFactor.mat +++ /dev/null @@ -1,304 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-3671024206848311302 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 12 - hdPluginSubTargetMaterialVersions: - m_Keys: [] - m_Values: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: EmissiveFactor - m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE - m_LightmapFlags: 2 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2225 - stringTagMap: {} - disabledShaderPasses: - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - - MOTIONVECTORS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AnisotropyMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoatMaskMap: - 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} - - _DetailMap: - 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} - - _EmissiveColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HeightMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceThicknessMap: - 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} - - _MaskMap: - 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} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapOS: - 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} - - _SpecularColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SubsurfaceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmittanceColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AORemapMax: 1 - - _AORemapMin: 0 - - _ATDistance: 1 - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.5 - - _AlphaCutoffEnable: 0 - - _AlphaCutoffPostpass: 0.5 - - _AlphaCutoffPrepass: 0.5 - - _AlphaCutoffShadow: 0.5 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _Anisotropy: 0 - - _BlendMode: 0 - - _BumpScale: 1 - - _CoatMask: 0 - - _CullMode: 2 - - _CullModeForward: 2 - - _Cutoff: 0.5 - - _DepthOffsetEnable: 0 - - _DetailAlbedoScale: 1 - - _DetailNormalMapScale: 1 - - _DetailNormalScale: 1 - - _DetailSmoothnessScale: 1 - - _DiffusionProfile: 0 - - _DiffusionProfileHash: 0 - - _DisplacementLockObjectScale: 1 - - _DisplacementLockTilingScale: 1 - - _DisplacementMode: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DoubleSidedNormalMode: 1 - - _DstBlend: 0 - - _EmissiveColorMode: 1 - - _EmissiveExposureWeight: 0 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _EnableGeometricSpecularAA: 0 - - _EnergyConservingSpecularColor: 1 - - _GlossMapScale: 1 - - _Glossiness: 0 - - _GlossyReflections: 1 - - _HeightAmplitude: 0.02 - - _HeightCenter: 0.5 - - _HeightMapParametrization: 0 - - _HeightMax: 1 - - _HeightMin: -1 - - _HeightOffset: 0 - - _HeightPoMAmplitude: 2 - - _HeightTessAmplitude: 2 - - _HeightTessCenter: 0.5 - - _InvTilingScale: 1 - - _Ior: 1.5 - - _IridescenceMask: 1 - - _IridescenceThickness: 1 - - _LinkDetailsWithBase: 0 - - _MaterialID: 1 - - _Metallic: 0 - - _MetallicRemapMax: 0 - - _MetallicRemapMin: 0 - - _Mode: 0 - - _NormalMapSpace: 0 - - _NormalScale: 1 - - _OcclusionStrength: 1 - - _OpaqueCullMode: 2 - - _PPDLodThreshold: 5 - - _PPDMaxSamples: 15 - - _PPDMinSamples: 5 - - _PPDPrimitiveLength: 1 - - _PPDPrimitiveWidth: 1 - - _Parallax: 0.02 - - _RayTracing: 0 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _Smoothness: 0 - - _SmoothnessRemapMax: 0 - - _SmoothnessRemapMin: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularAAScreenSpaceVariance: 0.1 - - _SpecularAAThreshold: 0.2 - - _SpecularHighlights: 1 - - _SpecularOcclusionMode: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SubsurfaceMask: 1 - - _SupportDecals: 1 - - _SurfaceType: 0 - - _TexWorldScale: 1 - - _TexWorldScaleEmissive: 1 - - _Thickness: 1 - - _TransmissionEnable: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UVBase: 0 - - _UVDetail: 0 - - _UVEmissive: 0 - - _UVSec: 0 - - _UseEmissiveIntensity: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 4 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 0, g: 0, b: 0, a: 1} - - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 0, g: 0, b: 0, a: 1} - - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 1, g: 1, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} - - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} - - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} diff --git a/Tests/Runtime/Export/Materials/HighDefinition/EmissiveFactor.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/EmissiveFactor.mat.meta deleted file mode 100644 index 475bd77e4..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/EmissiveFactor.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 12c40466ef7bd486f85fa2633b4d36e7 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/EmissiveTexture.mat b/Tests/Runtime/Export/Materials/HighDefinition/EmissiveTexture.mat deleted file mode 100644 index c5b39bed7..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/EmissiveTexture.mat +++ /dev/null @@ -1,304 +0,0 @@ -%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: EmissiveTexture - m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _EMISSIVE_COLOR_MAP _NORMALMAP_TANGENT_SPACE - m_LightmapFlags: 2 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2225 - stringTagMap: {} - disabledShaderPasses: - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - - MOTIONVECTORS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AnisotropyMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoatMaskMap: - 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} - - _DetailMap: - 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} - - _EmissiveColorMap: - m_Texture: {fileID: 2800000, guid: 9c4491c9e24fa4801a5c76a13c1e44d5, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HeightMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceThicknessMap: - 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} - - _MaskMap: - 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} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapOS: - 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} - - _SpecularColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SubsurfaceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmittanceColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AORemapMax: 1 - - _AORemapMin: 0 - - _ATDistance: 1 - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.5 - - _AlphaCutoffEnable: 0 - - _AlphaCutoffPostpass: 0.5 - - _AlphaCutoffPrepass: 0.5 - - _AlphaCutoffShadow: 0.5 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _Anisotropy: 0 - - _BlendMode: 0 - - _BumpScale: 1 - - _CoatMask: 0 - - _CullMode: 2 - - _CullModeForward: 2 - - _Cutoff: 0.5 - - _DepthOffsetEnable: 0 - - _DetailAlbedoScale: 1 - - _DetailNormalMapScale: 1 - - _DetailNormalScale: 1 - - _DetailSmoothnessScale: 1 - - _DiffusionProfile: 0 - - _DiffusionProfileHash: 0 - - _DisplacementLockObjectScale: 1 - - _DisplacementLockTilingScale: 1 - - _DisplacementMode: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DoubleSidedNormalMode: 1 - - _DstBlend: 0 - - _EmissiveColorMode: 1 - - _EmissiveExposureWeight: 0 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _EnableGeometricSpecularAA: 0 - - _EnergyConservingSpecularColor: 1 - - _GlossMapScale: 1 - - _Glossiness: 0 - - _GlossyReflections: 1 - - _HeightAmplitude: 0.02 - - _HeightCenter: 0.5 - - _HeightMapParametrization: 0 - - _HeightMax: 1 - - _HeightMin: -1 - - _HeightOffset: 0 - - _HeightPoMAmplitude: 2 - - _HeightTessAmplitude: 2 - - _HeightTessCenter: 0.5 - - _InvTilingScale: 1 - - _Ior: 1.5 - - _IridescenceMask: 1 - - _IridescenceThickness: 1 - - _LinkDetailsWithBase: 0 - - _MaterialID: 1 - - _Metallic: 0 - - _MetallicRemapMax: 0 - - _MetallicRemapMin: 0 - - _Mode: 0 - - _NormalMapSpace: 0 - - _NormalScale: 1 - - _OcclusionStrength: 1 - - _OpaqueCullMode: 2 - - _PPDLodThreshold: 5 - - _PPDMaxSamples: 15 - - _PPDMinSamples: 5 - - _PPDPrimitiveLength: 1 - - _PPDPrimitiveWidth: 1 - - _Parallax: 0.02 - - _RayTracing: 0 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _Smoothness: 0 - - _SmoothnessRemapMax: 0 - - _SmoothnessRemapMin: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularAAScreenSpaceVariance: 0.1 - - _SpecularAAThreshold: 0.2 - - _SpecularHighlights: 1 - - _SpecularOcclusionMode: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SubsurfaceMask: 1 - - _SupportDecals: 1 - - _SurfaceType: 0 - - _TexWorldScale: 1 - - _TexWorldScaleEmissive: 1 - - _Thickness: 1 - - _TransmissionEnable: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UVBase: 0 - - _UVDetail: 0 - - _UVEmissive: 0 - - _UVSec: 0 - - _UseEmissiveIntensity: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 4 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 0, g: 0, b: 0, a: 1} - - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 0, g: 0, b: 0, a: 1} - - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} - - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} - - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} ---- !u!114 &6660238047163026006 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 12 - hdPluginSubTargetMaterialVersions: - m_Keys: [] - m_Values: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/EmissiveTexture.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/EmissiveTexture.mat.meta deleted file mode 100644 index 3147b3f62..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/EmissiveTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 5ae63719472fe425e9dfaa2420f80f01 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/EmissiveTextureFactor.mat b/Tests/Runtime/Export/Materials/HighDefinition/EmissiveTextureFactor.mat deleted file mode 100644 index b4ddc7827..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/EmissiveTextureFactor.mat +++ /dev/null @@ -1,304 +0,0 @@ -%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: EmissiveTextureFactor - m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _EMISSIVE_COLOR_MAP _NORMALMAP_TANGENT_SPACE - m_LightmapFlags: 2 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2225 - stringTagMap: {} - disabledShaderPasses: - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - - MOTIONVECTORS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AnisotropyMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 2, y: 3} - m_Offset: {x: 0, y: 0} - - _BentNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoatMaskMap: - 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} - - _DetailMap: - 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: 2800000, guid: 9c4491c9e24fa4801a5c76a13c1e44d5, type: 3} - m_Scale: {x: 2, y: 3} - m_Offset: {x: 0, y: 0} - - _EmissiveColorMap: - m_Texture: {fileID: 2800000, guid: 9c4491c9e24fa4801a5c76a13c1e44d5, type: 3} - m_Scale: {x: 2, y: 3} - m_Offset: {x: 0, y: 0} - - _HeightMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 2, y: 3} - m_Offset: {x: 0, y: 0} - - _MaskMap: - 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} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapOS: - 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} - - _SpecularColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SubsurfaceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmittanceColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AORemapMax: 1 - - _AORemapMin: 0 - - _ATDistance: 1 - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.5 - - _AlphaCutoffEnable: 0 - - _AlphaCutoffPostpass: 0.5 - - _AlphaCutoffPrepass: 0.5 - - _AlphaCutoffShadow: 0.5 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _Anisotropy: 0 - - _BlendMode: 0 - - _BumpScale: 1 - - _CoatMask: 0 - - _CullMode: 2 - - _CullModeForward: 2 - - _Cutoff: 0.5 - - _DepthOffsetEnable: 0 - - _DetailAlbedoScale: 1 - - _DetailNormalMapScale: 1 - - _DetailNormalScale: 1 - - _DetailSmoothnessScale: 1 - - _DiffusionProfile: 0 - - _DiffusionProfileHash: 0 - - _DisplacementLockObjectScale: 1 - - _DisplacementLockTilingScale: 1 - - _DisplacementMode: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DoubleSidedNormalMode: 1 - - _DstBlend: 0 - - _EmissiveColorMode: 1 - - _EmissiveExposureWeight: 0 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _EnableGeometricSpecularAA: 0 - - _EnergyConservingSpecularColor: 1 - - _GlossMapScale: 1 - - _Glossiness: 0 - - _GlossyReflections: 1 - - _HeightAmplitude: 0.02 - - _HeightCenter: 0.5 - - _HeightMapParametrization: 0 - - _HeightMax: 1 - - _HeightMin: -1 - - _HeightOffset: 0 - - _HeightPoMAmplitude: 2 - - _HeightTessAmplitude: 2 - - _HeightTessCenter: 0.5 - - _InvTilingScale: 1 - - _Ior: 1.5 - - _IridescenceMask: 1 - - _IridescenceThickness: 1 - - _LinkDetailsWithBase: 0 - - _MaterialID: 1 - - _Metallic: 0 - - _MetallicRemapMax: 0 - - _MetallicRemapMin: 0 - - _Mode: 0 - - _NormalMapSpace: 0 - - _NormalScale: 1 - - _OcclusionStrength: 1 - - _OpaqueCullMode: 2 - - _PPDLodThreshold: 5 - - _PPDMaxSamples: 15 - - _PPDMinSamples: 5 - - _PPDPrimitiveLength: 1 - - _PPDPrimitiveWidth: 1 - - _Parallax: 0.02 - - _RayTracing: 0 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _Smoothness: 0 - - _SmoothnessRemapMax: 0 - - _SmoothnessRemapMin: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularAAScreenSpaceVariance: 0.1 - - _SpecularAAThreshold: 0.2 - - _SpecularHighlights: 1 - - _SpecularOcclusionMode: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SubsurfaceMask: 1 - - _SupportDecals: 1 - - _SurfaceType: 0 - - _TexWorldScale: 1 - - _TexWorldScaleEmissive: 1 - - _Thickness: 1 - - _TransmissionEnable: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UVBase: 0 - - _UVDetail: 0 - - _UVEmissive: 0 - - _UVSec: 0 - - _UseEmissiveIntensity: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 4 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 0, g: 0, b: 0, a: 1} - - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 0, g: 0, b: 0, a: 1} - - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 2, g: 1, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} - - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} - - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} ---- !u!114 &9024958445953059544 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 12 - hdPluginSubTargetMaterialVersions: - m_Keys: [] - m_Values: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/EmissiveTextureFactor.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/EmissiveTextureFactor.mat.meta deleted file mode 100644 index 92eed85d4..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/EmissiveTextureFactor.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 6990d6a1741674e91ac5e7e4a5bae8ff -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/Green.mat b/Tests/Runtime/Export/Materials/HighDefinition/Green.mat deleted file mode 100644 index 1f658c446..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/Green.mat +++ /dev/null @@ -1,304 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-453422994730560332 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 12 - hdPluginSubTargetMaterialVersions: - m_Keys: [] - m_Values: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Green - m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2225 - stringTagMap: {} - disabledShaderPasses: - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - - MOTIONVECTORS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AnisotropyMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoatMaskMap: - 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} - - _DetailMap: - 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} - - _EmissiveColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HeightMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceThicknessMap: - 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} - - _MaskMap: - 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} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapOS: - 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} - - _SpecularColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SubsurfaceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmittanceColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AORemapMax: 1 - - _AORemapMin: 0 - - _ATDistance: 1 - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.5 - - _AlphaCutoffEnable: 0 - - _AlphaCutoffPostpass: 0.5 - - _AlphaCutoffPrepass: 0.5 - - _AlphaCutoffShadow: 0.5 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _Anisotropy: 0 - - _BlendMode: 0 - - _BumpScale: 1 - - _CoatMask: 0 - - _CullMode: 2 - - _CullModeForward: 2 - - _Cutoff: 0.5 - - _DepthOffsetEnable: 0 - - _DetailAlbedoScale: 1 - - _DetailNormalMapScale: 1 - - _DetailNormalScale: 1 - - _DetailSmoothnessScale: 1 - - _DiffusionProfile: 0 - - _DiffusionProfileHash: 0 - - _DisplacementLockObjectScale: 1 - - _DisplacementLockTilingScale: 1 - - _DisplacementMode: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DoubleSidedNormalMode: 1 - - _DstBlend: 0 - - _EmissiveColorMode: 1 - - _EmissiveExposureWeight: 1 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _EnableGeometricSpecularAA: 0 - - _EnergyConservingSpecularColor: 1 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _HeightAmplitude: 0.02 - - _HeightCenter: 0.5 - - _HeightMapParametrization: 0 - - _HeightMax: 1 - - _HeightMin: -1 - - _HeightOffset: 0 - - _HeightPoMAmplitude: 2 - - _HeightTessAmplitude: 2 - - _HeightTessCenter: 0.5 - - _InvTilingScale: 1 - - _Ior: 1.5 - - _IridescenceMask: 1 - - _IridescenceThickness: 1 - - _LinkDetailsWithBase: 0 - - _MaterialID: 1 - - _Metallic: 0 - - _MetallicRemapMax: 0 - - _MetallicRemapMin: 0 - - _Mode: 0 - - _NormalMapSpace: 0 - - _NormalScale: 1 - - _OcclusionStrength: 1 - - _OpaqueCullMode: 2 - - _PPDLodThreshold: 5 - - _PPDMaxSamples: 15 - - _PPDMinSamples: 5 - - _PPDPrimitiveLength: 1 - - _PPDPrimitiveWidth: 1 - - _Parallax: 0.02 - - _RayTracing: 0 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _Smoothness: 0.5 - - _SmoothnessRemapMax: 0.5 - - _SmoothnessRemapMin: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularAAScreenSpaceVariance: 0.1 - - _SpecularAAThreshold: 0.2 - - _SpecularHighlights: 1 - - _SpecularOcclusionMode: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SubsurfaceMask: 1 - - _SupportDecals: 1 - - _SurfaceType: 0 - - _TexWorldScale: 1 - - _TexWorldScaleEmissive: 1 - - _Thickness: 1 - - _TransmissionEnable: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UVBase: 0 - - _UVDetail: 0 - - _UVEmissive: 0 - - _UVSec: 0 - - _UseEmissiveIntensity: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 4 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 0, g: 1, b: 0, a: 1} - - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 0, g: 1, b: 0, a: 1} - - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} - - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} - - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} diff --git a/Tests/Runtime/Export/Materials/HighDefinition/Green.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/Green.mat.meta deleted file mode 100644 index 2424f4af7..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/Green.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 50b1d70e9a2df40baa46a0511aafeb7b -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/IdenticalTextureName.mat b/Tests/Runtime/Export/Materials/HighDefinition/IdenticalTextureName.mat deleted file mode 100644 index faa0b8f2e..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/IdenticalTextureName.mat +++ /dev/null @@ -1,304 +0,0 @@ -%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: IdenticalTextureName - m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2225 - stringTagMap: {} - disabledShaderPasses: - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - - MOTIONVECTORS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AnisotropyMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 2800000, guid: 3326e027ad30e438497b1e9501c81126, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoatMaskMap: - 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} - - _DetailMap: - 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} - - _EmissiveColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HeightMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 3326e027ad30e438497b1e9501c81126, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MaskMap: - 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} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapOS: - 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} - - _SpecularColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SubsurfaceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmittanceColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AORemapMax: 1 - - _AORemapMin: 0 - - _ATDistance: 1 - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.5 - - _AlphaCutoffEnable: 0 - - _AlphaCutoffPostpass: 0.5 - - _AlphaCutoffPrepass: 0.5 - - _AlphaCutoffShadow: 0.5 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _Anisotropy: 0 - - _BlendMode: 0 - - _BumpScale: 1 - - _CoatMask: 0 - - _CullMode: 2 - - _CullModeForward: 2 - - _Cutoff: 0.5 - - _DepthOffsetEnable: 0 - - _DetailAlbedoScale: 1 - - _DetailNormalMapScale: 1 - - _DetailNormalScale: 1 - - _DetailSmoothnessScale: 1 - - _DiffusionProfile: 0 - - _DiffusionProfileHash: 0 - - _DisplacementLockObjectScale: 1 - - _DisplacementLockTilingScale: 1 - - _DisplacementMode: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DoubleSidedNormalMode: 1 - - _DstBlend: 0 - - _EmissiveColorMode: 1 - - _EmissiveExposureWeight: 1 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _EnableGeometricSpecularAA: 0 - - _EnergyConservingSpecularColor: 1 - - _GlossMapScale: 1 - - _Glossiness: 1 - - _GlossyReflections: 1 - - _HeightAmplitude: 0.02 - - _HeightCenter: 0.5 - - _HeightMapParametrization: 0 - - _HeightMax: 1 - - _HeightMin: -1 - - _HeightOffset: 0 - - _HeightPoMAmplitude: 2 - - _HeightTessAmplitude: 2 - - _HeightTessCenter: 0.5 - - _InvTilingScale: 1 - - _Ior: 1.5 - - _IridescenceMask: 1 - - _IridescenceThickness: 1 - - _LinkDetailsWithBase: 0 - - _MaterialID: 1 - - _Metallic: 0 - - _MetallicRemapMax: 0 - - _MetallicRemapMin: 0 - - _Mode: 0 - - _NormalMapSpace: 0 - - _NormalScale: 1 - - _OcclusionStrength: 1 - - _OpaqueCullMode: 2 - - _PPDLodThreshold: 5 - - _PPDMaxSamples: 15 - - _PPDMinSamples: 5 - - _PPDPrimitiveLength: 1 - - _PPDPrimitiveWidth: 1 - - _Parallax: 0.02 - - _RayTracing: 0 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _Smoothness: 1 - - _SmoothnessRemapMax: 1 - - _SmoothnessRemapMin: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularAAScreenSpaceVariance: 0.1 - - _SpecularAAThreshold: 0.2 - - _SpecularHighlights: 1 - - _SpecularOcclusionMode: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SubsurfaceMask: 1 - - _SupportDecals: 1 - - _SurfaceType: 0 - - _TexWorldScale: 1 - - _TexWorldScaleEmissive: 1 - - _Thickness: 1 - - _TransmissionEnable: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UVBase: 0 - - _UVDetail: 0 - - _UVEmissive: 0 - - _UVSec: 0 - - _UseEmissiveIntensity: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 4 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} - - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} - - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} ---- !u!114 &1043841863301840278 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 12 - hdPluginSubTargetMaterialVersions: - m_Keys: [] - m_Values: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/IdenticalTextureName.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/IdenticalTextureName.mat.meta deleted file mode 100644 index dd3ea4057..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/IdenticalTextureName.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 99b6bb2a537eb40778b2f3670a5e1ef5 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/Metallic 1.mat b/Tests/Runtime/Export/Materials/HighDefinition/Metallic 1.mat deleted file mode 100644 index 1bf54be04..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/Metallic 1.mat +++ /dev/null @@ -1,304 +0,0 @@ -%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: Metallic 1 - m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2225 - stringTagMap: {} - disabledShaderPasses: - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - - MOTIONVECTORS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AnisotropyMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoatMaskMap: - 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} - - _DetailMap: - 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} - - _EmissiveColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HeightMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceThicknessMap: - 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} - - _MaskMap: - 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} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapOS: - 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} - - _SpecularColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SubsurfaceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmittanceColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AORemapMax: 1 - - _AORemapMin: 0 - - _ATDistance: 1 - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.5 - - _AlphaCutoffEnable: 0 - - _AlphaCutoffPostpass: 0.5 - - _AlphaCutoffPrepass: 0.5 - - _AlphaCutoffShadow: 0.5 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _Anisotropy: 0 - - _BlendMode: 0 - - _BumpScale: 1 - - _CoatMask: 0 - - _CullMode: 2 - - _CullModeForward: 2 - - _Cutoff: 0.5 - - _DepthOffsetEnable: 0 - - _DetailAlbedoScale: 1 - - _DetailNormalMapScale: 1 - - _DetailNormalScale: 1 - - _DetailSmoothnessScale: 1 - - _DiffusionProfile: 0 - - _DiffusionProfileHash: 0 - - _DisplacementLockObjectScale: 1 - - _DisplacementLockTilingScale: 1 - - _DisplacementMode: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DoubleSidedNormalMode: 1 - - _DstBlend: 0 - - _EmissiveColorMode: 1 - - _EmissiveExposureWeight: 1 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _EnableGeometricSpecularAA: 0 - - _EnergyConservingSpecularColor: 1 - - _GlossMapScale: 1 - - _Glossiness: 1 - - _GlossyReflections: 1 - - _HeightAmplitude: 0.02 - - _HeightCenter: 0.5 - - _HeightMapParametrization: 0 - - _HeightMax: 1 - - _HeightMin: -1 - - _HeightOffset: 0 - - _HeightPoMAmplitude: 2 - - _HeightTessAmplitude: 2 - - _HeightTessCenter: 0.5 - - _InvTilingScale: 1 - - _Ior: 1.5 - - _IridescenceMask: 1 - - _IridescenceThickness: 1 - - _LinkDetailsWithBase: 0 - - _MaterialID: 1 - - _Metallic: 1 - - _MetallicRemapMax: 1 - - _MetallicRemapMin: 0 - - _Mode: 0 - - _NormalMapSpace: 0 - - _NormalScale: 1 - - _OcclusionStrength: 1 - - _OpaqueCullMode: 2 - - _PPDLodThreshold: 5 - - _PPDMaxSamples: 15 - - _PPDMinSamples: 5 - - _PPDPrimitiveLength: 1 - - _PPDPrimitiveWidth: 1 - - _Parallax: 0.02 - - _RayTracing: 0 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _Smoothness: 1 - - _SmoothnessRemapMax: 1 - - _SmoothnessRemapMin: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularAAScreenSpaceVariance: 0.1 - - _SpecularAAThreshold: 0.2 - - _SpecularHighlights: 1 - - _SpecularOcclusionMode: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SubsurfaceMask: 1 - - _SupportDecals: 1 - - _SurfaceType: 0 - - _TexWorldScale: 1 - - _TexWorldScaleEmissive: 1 - - _Thickness: 1 - - _TransmissionEnable: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UVBase: 0 - - _UVDetail: 0 - - _UVEmissive: 0 - - _UVSec: 0 - - _UseEmissiveIntensity: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 4 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} - - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} - - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} ---- !u!114 &1473059053396357251 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 12 - hdPluginSubTargetMaterialVersions: - m_Keys: [] - m_Values: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/Metallic 1.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/Metallic 1.mat.meta deleted file mode 100644 index 2abdec7c3..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/Metallic 1.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: f16762cf346164a1da0a3cdfe39fb3ec -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/Metallic 2.mat b/Tests/Runtime/Export/Materials/HighDefinition/Metallic 2.mat deleted file mode 100644 index b6e45e623..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/Metallic 2.mat +++ /dev/null @@ -1,304 +0,0 @@ -%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: Metallic 2 - m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2225 - stringTagMap: {} - disabledShaderPasses: - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - - MOTIONVECTORS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AnisotropyMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoatMaskMap: - 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} - - _DetailMap: - 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} - - _EmissiveColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HeightMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceThicknessMap: - 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} - - _MaskMap: - 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} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapOS: - 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} - - _SpecularColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SubsurfaceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmittanceColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AORemapMax: 1 - - _AORemapMin: 0 - - _ATDistance: 1 - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.5 - - _AlphaCutoffEnable: 0 - - _AlphaCutoffPostpass: 0.5 - - _AlphaCutoffPrepass: 0.5 - - _AlphaCutoffShadow: 0.5 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _Anisotropy: 0 - - _BlendMode: 0 - - _BumpScale: 1 - - _CoatMask: 0 - - _CullMode: 2 - - _CullModeForward: 2 - - _Cutoff: 0.5 - - _DepthOffsetEnable: 0 - - _DetailAlbedoScale: 1 - - _DetailNormalMapScale: 1 - - _DetailNormalScale: 1 - - _DetailSmoothnessScale: 1 - - _DiffusionProfile: 0 - - _DiffusionProfileHash: 0 - - _DisplacementLockObjectScale: 1 - - _DisplacementLockTilingScale: 1 - - _DisplacementMode: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DoubleSidedNormalMode: 1 - - _DstBlend: 0 - - _EmissiveColorMode: 1 - - _EmissiveExposureWeight: 1 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _EnableGeometricSpecularAA: 0 - - _EnergyConservingSpecularColor: 1 - - _GlossMapScale: 1 - - _Glossiness: 0.75 - - _GlossyReflections: 1 - - _HeightAmplitude: 0.02 - - _HeightCenter: 0.5 - - _HeightMapParametrization: 0 - - _HeightMax: 1 - - _HeightMin: -1 - - _HeightOffset: 0 - - _HeightPoMAmplitude: 2 - - _HeightTessAmplitude: 2 - - _HeightTessCenter: 0.5 - - _InvTilingScale: 1 - - _Ior: 1.5 - - _IridescenceMask: 1 - - _IridescenceThickness: 1 - - _LinkDetailsWithBase: 0 - - _MaterialID: 1 - - _Metallic: 1 - - _MetallicRemapMax: 1 - - _MetallicRemapMin: 0 - - _Mode: 0 - - _NormalMapSpace: 0 - - _NormalScale: 1 - - _OcclusionStrength: 1 - - _OpaqueCullMode: 2 - - _PPDLodThreshold: 5 - - _PPDMaxSamples: 15 - - _PPDMinSamples: 5 - - _PPDPrimitiveLength: 1 - - _PPDPrimitiveWidth: 1 - - _Parallax: 0.02 - - _RayTracing: 0 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _Smoothness: 0.75 - - _SmoothnessRemapMax: 0.75 - - _SmoothnessRemapMin: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularAAScreenSpaceVariance: 0.1 - - _SpecularAAThreshold: 0.2 - - _SpecularHighlights: 1 - - _SpecularOcclusionMode: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SubsurfaceMask: 1 - - _SupportDecals: 1 - - _SurfaceType: 0 - - _TexWorldScale: 1 - - _TexWorldScaleEmissive: 1 - - _Thickness: 1 - - _TransmissionEnable: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UVBase: 0 - - _UVDetail: 0 - - _UVEmissive: 0 - - _UVSec: 0 - - _UseEmissiveIntensity: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 4 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} - - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} - - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} ---- !u!114 &728348505874221473 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 12 - hdPluginSubTargetMaterialVersions: - m_Keys: [] - m_Values: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/Metallic 2.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/Metallic 2.mat.meta deleted file mode 100644 index 253285b16..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/Metallic 2.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: e807daf9a224e4650a911e7bc1a9b04b -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/Metallic 3.mat b/Tests/Runtime/Export/Materials/HighDefinition/Metallic 3.mat deleted file mode 100644 index 967dccac2..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/Metallic 3.mat +++ /dev/null @@ -1,304 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-3563370942528724364 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 12 - hdPluginSubTargetMaterialVersions: - m_Keys: [] - m_Values: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Metallic 3 - m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2225 - stringTagMap: {} - disabledShaderPasses: - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - - MOTIONVECTORS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AnisotropyMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoatMaskMap: - 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} - - _DetailMap: - 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} - - _EmissiveColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HeightMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceThicknessMap: - 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} - - _MaskMap: - 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} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapOS: - 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} - - _SpecularColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SubsurfaceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmittanceColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AORemapMax: 1 - - _AORemapMin: 0 - - _ATDistance: 1 - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.5 - - _AlphaCutoffEnable: 0 - - _AlphaCutoffPostpass: 0.5 - - _AlphaCutoffPrepass: 0.5 - - _AlphaCutoffShadow: 0.5 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _Anisotropy: 0 - - _BlendMode: 0 - - _BumpScale: 1 - - _CoatMask: 0 - - _CullMode: 2 - - _CullModeForward: 2 - - _Cutoff: 0.5 - - _DepthOffsetEnable: 0 - - _DetailAlbedoScale: 1 - - _DetailNormalMapScale: 1 - - _DetailNormalScale: 1 - - _DetailSmoothnessScale: 1 - - _DiffusionProfile: 0 - - _DiffusionProfileHash: 0 - - _DisplacementLockObjectScale: 1 - - _DisplacementLockTilingScale: 1 - - _DisplacementMode: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DoubleSidedNormalMode: 1 - - _DstBlend: 0 - - _EmissiveColorMode: 1 - - _EmissiveExposureWeight: 1 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _EnableGeometricSpecularAA: 0 - - _EnergyConservingSpecularColor: 1 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _HeightAmplitude: 0.02 - - _HeightCenter: 0.5 - - _HeightMapParametrization: 0 - - _HeightMax: 1 - - _HeightMin: -1 - - _HeightOffset: 0 - - _HeightPoMAmplitude: 2 - - _HeightTessAmplitude: 2 - - _HeightTessCenter: 0.5 - - _InvTilingScale: 1 - - _Ior: 1.5 - - _IridescenceMask: 1 - - _IridescenceThickness: 1 - - _LinkDetailsWithBase: 0 - - _MaterialID: 1 - - _Metallic: 1 - - _MetallicRemapMax: 1 - - _MetallicRemapMin: 0 - - _Mode: 0 - - _NormalMapSpace: 0 - - _NormalScale: 1 - - _OcclusionStrength: 1 - - _OpaqueCullMode: 2 - - _PPDLodThreshold: 5 - - _PPDMaxSamples: 15 - - _PPDMinSamples: 5 - - _PPDPrimitiveLength: 1 - - _PPDPrimitiveWidth: 1 - - _Parallax: 0.02 - - _RayTracing: 0 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _Smoothness: 0.5 - - _SmoothnessRemapMax: 0.5 - - _SmoothnessRemapMin: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularAAScreenSpaceVariance: 0.1 - - _SpecularAAThreshold: 0.2 - - _SpecularHighlights: 1 - - _SpecularOcclusionMode: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SubsurfaceMask: 1 - - _SupportDecals: 1 - - _SurfaceType: 0 - - _TexWorldScale: 1 - - _TexWorldScaleEmissive: 1 - - _Thickness: 1 - - _TransmissionEnable: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UVBase: 0 - - _UVDetail: 0 - - _UVEmissive: 0 - - _UVSec: 0 - - _UseEmissiveIntensity: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 4 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} - - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} - - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} diff --git a/Tests/Runtime/Export/Materials/HighDefinition/Metallic 3.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/Metallic 3.mat.meta deleted file mode 100644 index c417fa84c..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/Metallic 3.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 8be4120f6052e437ca91171ff0c4777c -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/Metallic 4.mat b/Tests/Runtime/Export/Materials/HighDefinition/Metallic 4.mat deleted file mode 100644 index c46d39192..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/Metallic 4.mat +++ /dev/null @@ -1,304 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-7182707184143640239 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 12 - hdPluginSubTargetMaterialVersions: - m_Keys: [] - m_Values: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Metallic 4 - m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2225 - stringTagMap: {} - disabledShaderPasses: - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - - MOTIONVECTORS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AnisotropyMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoatMaskMap: - 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} - - _DetailMap: - 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} - - _EmissiveColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HeightMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceThicknessMap: - 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} - - _MaskMap: - 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} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapOS: - 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} - - _SpecularColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SubsurfaceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmittanceColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AORemapMax: 1 - - _AORemapMin: 0 - - _ATDistance: 1 - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.5 - - _AlphaCutoffEnable: 0 - - _AlphaCutoffPostpass: 0.5 - - _AlphaCutoffPrepass: 0.5 - - _AlphaCutoffShadow: 0.5 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _Anisotropy: 0 - - _BlendMode: 0 - - _BumpScale: 1 - - _CoatMask: 0 - - _CullMode: 2 - - _CullModeForward: 2 - - _Cutoff: 0.5 - - _DepthOffsetEnable: 0 - - _DetailAlbedoScale: 1 - - _DetailNormalMapScale: 1 - - _DetailNormalScale: 1 - - _DetailSmoothnessScale: 1 - - _DiffusionProfile: 0 - - _DiffusionProfileHash: 0 - - _DisplacementLockObjectScale: 1 - - _DisplacementLockTilingScale: 1 - - _DisplacementMode: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DoubleSidedNormalMode: 1 - - _DstBlend: 0 - - _EmissiveColorMode: 1 - - _EmissiveExposureWeight: 1 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _EnableGeometricSpecularAA: 0 - - _EnergyConservingSpecularColor: 1 - - _GlossMapScale: 1 - - _Glossiness: 0.25 - - _GlossyReflections: 1 - - _HeightAmplitude: 0.02 - - _HeightCenter: 0.5 - - _HeightMapParametrization: 0 - - _HeightMax: 1 - - _HeightMin: -1 - - _HeightOffset: 0 - - _HeightPoMAmplitude: 2 - - _HeightTessAmplitude: 2 - - _HeightTessCenter: 0.5 - - _InvTilingScale: 1 - - _Ior: 1.5 - - _IridescenceMask: 1 - - _IridescenceThickness: 1 - - _LinkDetailsWithBase: 0 - - _MaterialID: 1 - - _Metallic: 1 - - _MetallicRemapMax: 1 - - _MetallicRemapMin: 0 - - _Mode: 0 - - _NormalMapSpace: 0 - - _NormalScale: 1 - - _OcclusionStrength: 1 - - _OpaqueCullMode: 2 - - _PPDLodThreshold: 5 - - _PPDMaxSamples: 15 - - _PPDMinSamples: 5 - - _PPDPrimitiveLength: 1 - - _PPDPrimitiveWidth: 1 - - _Parallax: 0.02 - - _RayTracing: 0 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _Smoothness: 0.25 - - _SmoothnessRemapMax: 0.25 - - _SmoothnessRemapMin: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularAAScreenSpaceVariance: 0.1 - - _SpecularAAThreshold: 0.2 - - _SpecularHighlights: 1 - - _SpecularOcclusionMode: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SubsurfaceMask: 1 - - _SupportDecals: 1 - - _SurfaceType: 0 - - _TexWorldScale: 1 - - _TexWorldScaleEmissive: 1 - - _Thickness: 1 - - _TransmissionEnable: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UVBase: 0 - - _UVDetail: 0 - - _UVEmissive: 0 - - _UVSec: 0 - - _UseEmissiveIntensity: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 4 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} - - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} - - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} diff --git a/Tests/Runtime/Export/Materials/HighDefinition/Metallic 4.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/Metallic 4.mat.meta deleted file mode 100644 index bc8450181..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/Metallic 4.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 0a0d20b2a042a4bc3917f160f9a9b9ab -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/Metallic 5.mat b/Tests/Runtime/Export/Materials/HighDefinition/Metallic 5.mat deleted file mode 100644 index abe4d4618..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/Metallic 5.mat +++ /dev/null @@ -1,304 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-91111096363434889 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 12 - hdPluginSubTargetMaterialVersions: - m_Keys: [] - m_Values: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Metallic 5 - m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2225 - stringTagMap: {} - disabledShaderPasses: - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - - MOTIONVECTORS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AnisotropyMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoatMaskMap: - 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} - - _DetailMap: - 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} - - _EmissiveColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HeightMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceThicknessMap: - 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} - - _MaskMap: - 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} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapOS: - 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} - - _SpecularColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SubsurfaceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmittanceColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AORemapMax: 1 - - _AORemapMin: 0 - - _ATDistance: 1 - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.5 - - _AlphaCutoffEnable: 0 - - _AlphaCutoffPostpass: 0.5 - - _AlphaCutoffPrepass: 0.5 - - _AlphaCutoffShadow: 0.5 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _Anisotropy: 0 - - _BlendMode: 0 - - _BumpScale: 1 - - _CoatMask: 0 - - _CullMode: 2 - - _CullModeForward: 2 - - _Cutoff: 0.5 - - _DepthOffsetEnable: 0 - - _DetailAlbedoScale: 1 - - _DetailNormalMapScale: 1 - - _DetailNormalScale: 1 - - _DetailSmoothnessScale: 1 - - _DiffusionProfile: 0 - - _DiffusionProfileHash: 0 - - _DisplacementLockObjectScale: 1 - - _DisplacementLockTilingScale: 1 - - _DisplacementMode: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DoubleSidedNormalMode: 1 - - _DstBlend: 0 - - _EmissiveColorMode: 1 - - _EmissiveExposureWeight: 1 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _EnableGeometricSpecularAA: 0 - - _EnergyConservingSpecularColor: 1 - - _GlossMapScale: 1 - - _Glossiness: 0 - - _GlossyReflections: 1 - - _HeightAmplitude: 0.02 - - _HeightCenter: 0.5 - - _HeightMapParametrization: 0 - - _HeightMax: 1 - - _HeightMin: -1 - - _HeightOffset: 0 - - _HeightPoMAmplitude: 2 - - _HeightTessAmplitude: 2 - - _HeightTessCenter: 0.5 - - _InvTilingScale: 1 - - _Ior: 1.5 - - _IridescenceMask: 1 - - _IridescenceThickness: 1 - - _LinkDetailsWithBase: 0 - - _MaterialID: 1 - - _Metallic: 1 - - _MetallicRemapMax: 1 - - _MetallicRemapMin: 0 - - _Mode: 0 - - _NormalMapSpace: 0 - - _NormalScale: 1 - - _OcclusionStrength: 1 - - _OpaqueCullMode: 2 - - _PPDLodThreshold: 5 - - _PPDMaxSamples: 15 - - _PPDMinSamples: 5 - - _PPDPrimitiveLength: 1 - - _PPDPrimitiveWidth: 1 - - _Parallax: 0.02 - - _RayTracing: 0 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _Smoothness: 0 - - _SmoothnessRemapMax: 0 - - _SmoothnessRemapMin: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularAAScreenSpaceVariance: 0.1 - - _SpecularAAThreshold: 0.2 - - _SpecularHighlights: 1 - - _SpecularOcclusionMode: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SubsurfaceMask: 1 - - _SupportDecals: 1 - - _SurfaceType: 0 - - _TexWorldScale: 1 - - _TexWorldScaleEmissive: 1 - - _Thickness: 1 - - _TransmissionEnable: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UVBase: 0 - - _UVDetail: 0 - - _UVEmissive: 0 - - _UVSec: 0 - - _UseEmissiveIntensity: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 4 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} - - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} - - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} diff --git a/Tests/Runtime/Export/Materials/HighDefinition/Metallic 5.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/Metallic 5.mat.meta deleted file mode 100644 index ca59a04b0..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/Metallic 5.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: c47f36ce9c3714e5380e848845eaa6bb -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/MetallicSmoothnessOcclusionTexture.mat b/Tests/Runtime/Export/Materials/HighDefinition/MetallicSmoothnessOcclusionTexture.mat deleted file mode 100644 index 7cabf182c..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/MetallicSmoothnessOcclusionTexture.mat +++ /dev/null @@ -1,304 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-4277503689547899546 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 12 - hdPluginSubTargetMaterialVersions: - m_Keys: [] - m_Values: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: MetallicSmoothnessOcclusionTexture - m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _MASKMAP _NORMALMAP_TANGENT_SPACE - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2225 - stringTagMap: {} - disabledShaderPasses: - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - - MOTIONVECTORS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AnisotropyMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoatMaskMap: - 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} - - _DetailMap: - 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} - - _EmissiveColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HeightMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceThicknessMap: - 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} - - _MaskMap: - m_Texture: {fileID: 2800000, guid: 0d9da1ca304d1412da3fb7056f7e7b82, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 2800000, guid: 079386c5a28dd4ab09a087add2d047af, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OcclusionMap: - m_Texture: {fileID: 2800000, guid: 86e3dd7e20359476581017099cdcfe63, type: 3} - 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} - - _SpecularColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SubsurfaceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmittanceColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AORemapMax: 1 - - _AORemapMin: 0 - - _ATDistance: 1 - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.5 - - _AlphaCutoffEnable: 0 - - _AlphaCutoffPostpass: 0.5 - - _AlphaCutoffPrepass: 0.5 - - _AlphaCutoffShadow: 0.5 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _Anisotropy: 0 - - _BlendMode: 0 - - _BumpScale: 1 - - _CoatMask: 0 - - _CullMode: 2 - - _CullModeForward: 2 - - _Cutoff: 0.5 - - _DepthOffsetEnable: 0 - - _DetailAlbedoScale: 1 - - _DetailNormalMapScale: 1 - - _DetailNormalScale: 1 - - _DetailSmoothnessScale: 1 - - _DiffusionProfile: 0 - - _DiffusionProfileHash: 0 - - _DisplacementLockObjectScale: 1 - - _DisplacementLockTilingScale: 1 - - _DisplacementMode: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DoubleSidedNormalMode: 1 - - _DstBlend: 0 - - _EmissiveColorMode: 1 - - _EmissiveExposureWeight: 1 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _EnableGeometricSpecularAA: 0 - - _EnergyConservingSpecularColor: 1 - - _GlossMapScale: 1 - - _Glossiness: 0 - - _GlossyReflections: 1 - - _HeightAmplitude: 0.02 - - _HeightCenter: 0.5 - - _HeightMapParametrization: 0 - - _HeightMax: 1 - - _HeightMin: -1 - - _HeightOffset: 0 - - _HeightPoMAmplitude: 2 - - _HeightTessAmplitude: 2 - - _HeightTessCenter: 0.5 - - _InvTilingScale: 1 - - _Ior: 1.5 - - _IridescenceMask: 1 - - _IridescenceThickness: 1 - - _LinkDetailsWithBase: 0 - - _MaterialID: 1 - - _Metallic: 1 - - _MetallicRemapMax: 1 - - _MetallicRemapMin: 0 - - _Mode: 0 - - _NormalMapSpace: 0 - - _NormalScale: 1 - - _OcclusionStrength: 1 - - _OpaqueCullMode: 2 - - _PPDLodThreshold: 5 - - _PPDMaxSamples: 15 - - _PPDMinSamples: 5 - - _PPDPrimitiveLength: 1 - - _PPDPrimitiveWidth: 1 - - _Parallax: 0.02 - - _RayTracing: 0 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _Smoothness: 0 - - _SmoothnessRemapMax: 1 - - _SmoothnessRemapMin: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularAAScreenSpaceVariance: 0.1 - - _SpecularAAThreshold: 0.2 - - _SpecularHighlights: 1 - - _SpecularOcclusionMode: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SubsurfaceMask: 1 - - _SupportDecals: 1 - - _SurfaceType: 0 - - _TexWorldScale: 1 - - _TexWorldScaleEmissive: 1 - - _Thickness: 1 - - _TransmissionEnable: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UVBase: 0 - - _UVDetail: 0 - - _UVEmissive: 0 - - _UVSec: 0 - - _UseEmissiveIntensity: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 4 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 0.3058823, g: 0.9437239, b: 1, a: 1} - - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 0.30588228, g: 0.9437239, b: 1, a: 1} - - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} - - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} - - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} diff --git a/Tests/Runtime/Export/Materials/HighDefinition/MetallicSmoothnessOcclusionTexture.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/MetallicSmoothnessOcclusionTexture.mat.meta deleted file mode 100644 index 92d3d22ab..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/MetallicSmoothnessOcclusionTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: d76cb8d77ac004957ad34e6c0fb1218c -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/MetallicSmoothnessOcclusionTexture_MaskMap.png b/Tests/Runtime/Export/Materials/HighDefinition/MetallicSmoothnessOcclusionTexture_MaskMap.png deleted file mode 100644 index d2a1efc96..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/MetallicSmoothnessOcclusionTexture_MaskMap.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c18441a4b626194d3d7f8d22ce16ab6313f8df25070895e081625eb53df367d3 -size 200 diff --git a/Tests/Runtime/Export/Materials/HighDefinition/MetallicSmoothnessOcclusionTexture_MaskMap.png.meta b/Tests/Runtime/Export/Materials/HighDefinition/MetallicSmoothnessOcclusionTexture_MaskMap.png.meta deleted file mode 100644 index 9aa2dfcef..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/MetallicSmoothnessOcclusionTexture_MaskMap.png.meta +++ /dev/null @@ -1,128 +0,0 @@ -fileFormatVersion: 2 -guid: 0d9da1ca304d1412da3fb7056f7e7b82 -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 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 0 - 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 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 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 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: WebGL - 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/Tests/Runtime/Export/Materials/HighDefinition/MetallicSmoothnessTexture.mat b/Tests/Runtime/Export/Materials/HighDefinition/MetallicSmoothnessTexture.mat deleted file mode 100644 index ffff2098a..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/MetallicSmoothnessTexture.mat +++ /dev/null @@ -1,304 +0,0 @@ -%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: MetallicSmoothnessTexture - m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _MASKMAP _NORMALMAP_TANGENT_SPACE - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2225 - stringTagMap: {} - disabledShaderPasses: - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - - MOTIONVECTORS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AnisotropyMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoatMaskMap: - 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} - - _DetailMap: - 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} - - _EmissiveColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HeightMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceThicknessMap: - 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} - - _MaskMap: - m_Texture: {fileID: 2800000, guid: 2feaaa52f5bdb43d6bc40966354386b9, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 2800000, guid: 079386c5a28dd4ab09a087add2d047af, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapOS: - 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} - - _SpecularColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SubsurfaceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmittanceColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AORemapMax: 1 - - _AORemapMin: 1 - - _ATDistance: 1 - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.5 - - _AlphaCutoffEnable: 0 - - _AlphaCutoffPostpass: 0.5 - - _AlphaCutoffPrepass: 0.5 - - _AlphaCutoffShadow: 0.5 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _Anisotropy: 0 - - _BlendMode: 0 - - _BumpScale: 1 - - _CoatMask: 0 - - _CullMode: 2 - - _CullModeForward: 2 - - _Cutoff: 0.5 - - _DepthOffsetEnable: 0 - - _DetailAlbedoScale: 1 - - _DetailNormalMapScale: 1 - - _DetailNormalScale: 1 - - _DetailSmoothnessScale: 1 - - _DiffusionProfile: 0 - - _DiffusionProfileHash: 0 - - _DisplacementLockObjectScale: 1 - - _DisplacementLockTilingScale: 1 - - _DisplacementMode: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DoubleSidedNormalMode: 1 - - _DstBlend: 0 - - _EmissiveColorMode: 1 - - _EmissiveExposureWeight: 1 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _EnableGeometricSpecularAA: 0 - - _EnergyConservingSpecularColor: 1 - - _GlossMapScale: 1 - - _Glossiness: 0 - - _GlossyReflections: 1 - - _HeightAmplitude: 0.02 - - _HeightCenter: 0.5 - - _HeightMapParametrization: 0 - - _HeightMax: 1 - - _HeightMin: -1 - - _HeightOffset: 0 - - _HeightPoMAmplitude: 2 - - _HeightTessAmplitude: 2 - - _HeightTessCenter: 0.5 - - _InvTilingScale: 1 - - _Ior: 1.5 - - _IridescenceMask: 1 - - _IridescenceThickness: 1 - - _LinkDetailsWithBase: 0 - - _MaterialID: 1 - - _Metallic: 1 - - _MetallicRemapMax: 1 - - _MetallicRemapMin: 0 - - _Mode: 0 - - _NormalMapSpace: 0 - - _NormalScale: 1 - - _OcclusionStrength: 1 - - _OpaqueCullMode: 2 - - _PPDLodThreshold: 5 - - _PPDMaxSamples: 15 - - _PPDMinSamples: 5 - - _PPDPrimitiveLength: 1 - - _PPDPrimitiveWidth: 1 - - _Parallax: 0.02 - - _RayTracing: 0 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _Smoothness: 0 - - _SmoothnessRemapMax: 1 - - _SmoothnessRemapMin: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularAAScreenSpaceVariance: 0.1 - - _SpecularAAThreshold: 0.2 - - _SpecularHighlights: 1 - - _SpecularOcclusionMode: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SubsurfaceMask: 1 - - _SupportDecals: 1 - - _SurfaceType: 0 - - _TexWorldScale: 1 - - _TexWorldScaleEmissive: 1 - - _Thickness: 1 - - _TransmissionEnable: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UVBase: 0 - - _UVDetail: 0 - - _UVEmissive: 0 - - _UVSec: 0 - - _UseEmissiveIntensity: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 4 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 0.3058823, g: 1, b: 0.3892682, a: 1} - - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 0.30588228, g: 1, b: 0.38926816, a: 1} - - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} - - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} - - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} ---- !u!114 &1524135205065019826 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 12 - hdPluginSubTargetMaterialVersions: - m_Keys: [] - m_Values: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/MetallicSmoothnessTexture.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/MetallicSmoothnessTexture.mat.meta deleted file mode 100644 index e5c73a262..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/MetallicSmoothnessTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: e9a76c4254ec44b288aaf2ea668bda1a -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/MetallicSmoothnessTexture_MaskMap.png b/Tests/Runtime/Export/Materials/HighDefinition/MetallicSmoothnessTexture_MaskMap.png deleted file mode 100644 index c7e275e82..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/MetallicSmoothnessTexture_MaskMap.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f01b353acd86e654271d88aa923f72d00aa64b2651978e396931c13b5e3c6579 -size 140 diff --git a/Tests/Runtime/Export/Materials/HighDefinition/MetallicSmoothnessTexture_MaskMap.png.meta b/Tests/Runtime/Export/Materials/HighDefinition/MetallicSmoothnessTexture_MaskMap.png.meta deleted file mode 100644 index faaf6f949..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/MetallicSmoothnessTexture_MaskMap.png.meta +++ /dev/null @@ -1,128 +0,0 @@ -fileFormatVersion: 2 -guid: 2feaaa52f5bdb43d6bc40966354386b9 -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 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 0 - 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 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 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 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: WebGL - 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/Tests/Runtime/Export/Materials/HighDefinition/MetallicTexture.mat b/Tests/Runtime/Export/Materials/HighDefinition/MetallicTexture.mat deleted file mode 100644 index bc457e1af..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/MetallicTexture.mat +++ /dev/null @@ -1,304 +0,0 @@ -%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: MetallicTexture - m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _MASKMAP _NORMALMAP_TANGENT_SPACE - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2225 - stringTagMap: {} - disabledShaderPasses: - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - - MOTIONVECTORS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AnisotropyMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoatMaskMap: - 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} - - _DetailMap: - 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} - - _EmissiveColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HeightMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceThicknessMap: - 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} - - _MaskMap: - m_Texture: {fileID: 2800000, guid: ed3018a3dcf704a7e93923940f550ed6, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 2800000, guid: 5ef6154092f98438eb29c2098eab2698, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapOS: - 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} - - _SpecularColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SubsurfaceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmittanceColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AORemapMax: 1 - - _AORemapMin: 1 - - _ATDistance: 1 - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.5 - - _AlphaCutoffEnable: 0 - - _AlphaCutoffPostpass: 0.5 - - _AlphaCutoffPrepass: 0.5 - - _AlphaCutoffShadow: 0.5 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _Anisotropy: 0 - - _BlendMode: 0 - - _BumpScale: 1 - - _CoatMask: 0 - - _CullMode: 2 - - _CullModeForward: 2 - - _Cutoff: 0.5 - - _DepthOffsetEnable: 0 - - _DetailAlbedoScale: 1 - - _DetailNormalMapScale: 1 - - _DetailNormalScale: 1 - - _DetailSmoothnessScale: 1 - - _DiffusionProfile: 0 - - _DiffusionProfileHash: 0 - - _DisplacementLockObjectScale: 1 - - _DisplacementLockTilingScale: 1 - - _DisplacementMode: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DoubleSidedNormalMode: 1 - - _DstBlend: 0 - - _EmissiveColorMode: 1 - - _EmissiveExposureWeight: 1 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _EnableGeometricSpecularAA: 0 - - _EnergyConservingSpecularColor: 1 - - _GlossMapScale: 1 - - _Glossiness: 0 - - _GlossyReflections: 1 - - _HeightAmplitude: 0.02 - - _HeightCenter: 0.5 - - _HeightMapParametrization: 0 - - _HeightMax: 1 - - _HeightMin: -1 - - _HeightOffset: 0 - - _HeightPoMAmplitude: 2 - - _HeightTessAmplitude: 2 - - _HeightTessCenter: 0.5 - - _InvTilingScale: 1 - - _Ior: 1.5 - - _IridescenceMask: 1 - - _IridescenceThickness: 1 - - _LinkDetailsWithBase: 0 - - _MaterialID: 1 - - _Metallic: 1 - - _MetallicRemapMax: 1 - - _MetallicRemapMin: 0 - - _Mode: 0 - - _NormalMapSpace: 0 - - _NormalScale: 1 - - _OcclusionStrength: 1 - - _OpaqueCullMode: 2 - - _PPDLodThreshold: 5 - - _PPDMaxSamples: 15 - - _PPDMinSamples: 5 - - _PPDPrimitiveLength: 1 - - _PPDPrimitiveWidth: 1 - - _Parallax: 0.02 - - _RayTracing: 0 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _Smoothness: 0 - - _SmoothnessRemapMax: 1 - - _SmoothnessRemapMin: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularAAScreenSpaceVariance: 0.1 - - _SpecularAAThreshold: 0.2 - - _SpecularHighlights: 1 - - _SpecularOcclusionMode: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SubsurfaceMask: 1 - - _SupportDecals: 1 - - _SurfaceType: 0 - - _TexWorldScale: 1 - - _TexWorldScaleEmissive: 1 - - _Thickness: 1 - - _TransmissionEnable: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UVBase: 0 - - _UVDetail: 0 - - _UVEmissive: 0 - - _UVSec: 0 - - _UseEmissiveIntensity: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 4 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 0.3058823, g: 1, b: 0.3892682, a: 1} - - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 0.30588228, g: 1, b: 0.38926816, a: 1} - - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} - - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} - - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} ---- !u!114 &4175074819745447183 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 12 - hdPluginSubTargetMaterialVersions: - m_Keys: [] - m_Values: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/MetallicTexture.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/MetallicTexture.mat.meta deleted file mode 100644 index 77bc969a1..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/MetallicTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 730fc1f99a46c47dd967c353da2ba26e -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/MetallicTexture_MaskMap.png b/Tests/Runtime/Export/Materials/HighDefinition/MetallicTexture_MaskMap.png deleted file mode 100644 index 583000623..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/MetallicTexture_MaskMap.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c4263a48e9d5535d61bb3c927568ce9ec5f76e4bc28baea83fd768bdc286b1c8 -size 114 diff --git a/Tests/Runtime/Export/Materials/HighDefinition/MetallicTexture_MaskMap.png.meta b/Tests/Runtime/Export/Materials/HighDefinition/MetallicTexture_MaskMap.png.meta deleted file mode 100644 index ee0d6591c..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/MetallicTexture_MaskMap.png.meta +++ /dev/null @@ -1,128 +0,0 @@ -fileFormatVersion: 2 -guid: ed3018a3dcf704a7e93923940f550ed6 -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 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 0 - 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 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - applyGammaDecoding: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 0 - 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: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: WebGL - 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/Tests/Runtime/Export/Materials/HighDefinition/Neutral.mat b/Tests/Runtime/Export/Materials/HighDefinition/Neutral.mat deleted file mode 100644 index 4e9fef3e6..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/Neutral.mat +++ /dev/null @@ -1,332 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-259668844296978289 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 12 - hdPluginSubTargetMaterialVersions: - m_Keys: [] - m_Values: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Neutral - m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ValidKeywords: - - _DISABLE_SSR_TRANSPARENT - - _NORMALMAP_TANGENT_SPACE - m_InvalidKeywords: [] - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2225 - stringTagMap: {} - disabledShaderPasses: - - DistortionVectors - - MOTIONVECTORS - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AnisotropyMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoatMaskMap: - 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} - - _DetailMap: - 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} - - _DistortionVectorMap: - 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} - - _EmissiveColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HeightMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceThicknessMap: - 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} - - _MaskMap: - 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} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapOS: - 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} - - _SpecularColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SubsurfaceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmittanceColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AORemapMax: 1 - - _AORemapMin: 0 - - _ATDistance: 1 - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.5 - - _AlphaCutoffEnable: 0 - - _AlphaCutoffPostpass: 0.5 - - _AlphaCutoffPrepass: 0.5 - - _AlphaCutoffShadow: 0.5 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _Anisotropy: 0 - - _BlendMode: 0 - - _BumpScale: 1 - - _CoatMask: 0 - - _CullMode: 2 - - _CullModeForward: 2 - - _Cutoff: 0.5 - - _DepthOffsetEnable: 0 - - _DetailAlbedoScale: 1 - - _DetailNormalMapScale: 1 - - _DetailNormalScale: 1 - - _DetailSmoothnessScale: 1 - - _DiffusionProfile: 0 - - _DiffusionProfileHash: 0 - - _DisplacementLockObjectScale: 1 - - _DisplacementLockTilingScale: 1 - - _DisplacementMode: 0 - - _DistortionBlendMode: 0 - - _DistortionBlurBlendMode: 0 - - _DistortionBlurDstBlend: 1 - - _DistortionBlurRemapMax: 1 - - _DistortionBlurRemapMin: 0 - - _DistortionBlurScale: 1 - - _DistortionBlurSrcBlend: 1 - - _DistortionDepthTest: 1 - - _DistortionDstBlend: 1 - - _DistortionEnable: 0 - - _DistortionScale: 1 - - _DistortionSrcBlend: 1 - - _DistortionVectorBias: -1 - - _DistortionVectorScale: 2 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DoubleSidedNormalMode: 1 - - _DstBlend: 0 - - _EmissiveColorMode: 1 - - _EmissiveExposureWeight: 1 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _EnableGeometricSpecularAA: 0 - - _EnergyConservingSpecularColor: 1 - - _GlossMapScale: 1 - - _Glossiness: 0 - - _GlossyReflections: 1 - - _HeightAmplitude: 0.02 - - _HeightCenter: 0.5 - - _HeightMapParametrization: 0 - - _HeightMax: 1 - - _HeightMin: -1 - - _HeightOffset: 0 - - _HeightPoMAmplitude: 2 - - _HeightTessAmplitude: 2 - - _HeightTessCenter: 0.5 - - _InvTilingScale: 1 - - _Ior: 1.5 - - _IridescenceMask: 1 - - _IridescenceThickness: 1 - - _LinkDetailsWithBase: 0 - - _MaterialID: 1 - - _Metallic: 0 - - _MetallicRemapMax: 0 - - _MetallicRemapMin: 0 - - _Mode: 0 - - _NormalMapSpace: 0 - - _NormalScale: 1 - - _OcclusionStrength: 1 - - _OpaqueCullMode: 2 - - _PPDLodThreshold: 5 - - _PPDMaxSamples: 15 - - _PPDMinSamples: 5 - - _PPDPrimitiveLength: 1 - - _PPDPrimitiveWidth: 1 - - _Parallax: 0.02 - - _RayTracing: 0 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _SSRefractionProjectionModel: 0 - - _Smoothness: 0 - - _SmoothnessRemapMax: 0 - - _SmoothnessRemapMin: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularAAScreenSpaceVariance: 0.1 - - _SpecularAAThreshold: 0.2 - - _SpecularHighlights: 1 - - _SpecularOcclusionMode: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SubsurfaceMask: 1 - - _SupportDecals: 1 - - _SurfaceType: 0 - - _TexWorldScale: 1 - - _TexWorldScaleEmissive: 1 - - _Thickness: 1 - - _TransmissionEnable: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UVBase: 0 - - _UVDetail: 0 - - _UVEmissive: 0 - - _UVSec: 0 - - _UseEmissiveIntensity: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 4 - - _ZTestModeDistortion: 4 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} - - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} - - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] diff --git a/Tests/Runtime/Export/Materials/HighDefinition/Neutral.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/Neutral.mat.meta deleted file mode 100644 index 0859c6b59..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/Neutral.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 276068e48ae0b45c3897d1104a8dc424 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/NormalTexture.mat b/Tests/Runtime/Export/Materials/HighDefinition/NormalTexture.mat deleted file mode 100644 index b70c777e6..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/NormalTexture.mat +++ /dev/null @@ -1,304 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-404342308926013034 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 12 - hdPluginSubTargetMaterialVersions: - m_Keys: [] - m_Values: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: NormalTexture - m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP _NORMALMAP_TANGENT_SPACE - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2225 - stringTagMap: {} - disabledShaderPasses: - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - - MOTIONVECTORS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AnisotropyMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoatMaskMap: - 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} - - _DetailMap: - 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} - - _EmissiveColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HeightMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceThicknessMap: - 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} - - _MaskMap: - 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} - - _NormalMap: - m_Texture: {fileID: 2800000, guid: 3cdc0355bec344d4a9dee2cdad1e7cf3, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapOS: - 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} - - _SpecularColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SubsurfaceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmittanceColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AORemapMax: 1 - - _AORemapMin: 0 - - _ATDistance: 1 - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.5 - - _AlphaCutoffEnable: 0 - - _AlphaCutoffPostpass: 0.5 - - _AlphaCutoffPrepass: 0.5 - - _AlphaCutoffShadow: 0.5 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _Anisotropy: 0 - - _BlendMode: 0 - - _BumpScale: 1.1 - - _CoatMask: 0 - - _CullMode: 2 - - _CullModeForward: 2 - - _Cutoff: 0.5 - - _DepthOffsetEnable: 0 - - _DetailAlbedoScale: 1 - - _DetailNormalMapScale: 1 - - _DetailNormalScale: 1 - - _DetailSmoothnessScale: 1 - - _DiffusionProfile: 0 - - _DiffusionProfileHash: 0 - - _DisplacementLockObjectScale: 1 - - _DisplacementLockTilingScale: 1 - - _DisplacementMode: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DoubleSidedNormalMode: 1 - - _DstBlend: 0 - - _EmissiveColorMode: 1 - - _EmissiveExposureWeight: 1 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _EnableGeometricSpecularAA: 0 - - _EnergyConservingSpecularColor: 1 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _HeightAmplitude: 0.02 - - _HeightCenter: 0.5 - - _HeightMapParametrization: 0 - - _HeightMax: 1 - - _HeightMin: -1 - - _HeightOffset: 0 - - _HeightPoMAmplitude: 2 - - _HeightTessAmplitude: 2 - - _HeightTessCenter: 0.5 - - _InvTilingScale: 1 - - _Ior: 1.5 - - _IridescenceMask: 1 - - _IridescenceThickness: 1 - - _LinkDetailsWithBase: 0 - - _MaterialID: 1 - - _Metallic: 0 - - _MetallicRemapMax: 0 - - _MetallicRemapMin: 0 - - _Mode: 0 - - _NormalMapSpace: 0 - - _NormalScale: 1.1 - - _OcclusionStrength: 1 - - _OpaqueCullMode: 2 - - _PPDLodThreshold: 5 - - _PPDMaxSamples: 15 - - _PPDMinSamples: 5 - - _PPDPrimitiveLength: 1 - - _PPDPrimitiveWidth: 1 - - _Parallax: 0.02 - - _RayTracing: 0 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _Smoothness: 0.5 - - _SmoothnessRemapMax: 0.5 - - _SmoothnessRemapMin: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularAAScreenSpaceVariance: 0.1 - - _SpecularAAThreshold: 0.2 - - _SpecularHighlights: 1 - - _SpecularOcclusionMode: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SubsurfaceMask: 1 - - _SupportDecals: 1 - - _SurfaceType: 0 - - _TexWorldScale: 1 - - _TexWorldScaleEmissive: 1 - - _Thickness: 1 - - _TransmissionEnable: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UVBase: 0 - - _UVDetail: 0 - - _UVEmissive: 0 - - _UVSec: 0 - - _UseEmissiveIntensity: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 4 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} - - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} - - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} diff --git a/Tests/Runtime/Export/Materials/HighDefinition/NormalTexture.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/NormalTexture.mat.meta deleted file mode 100644 index e3c68a6e3..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/NormalTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: c81bdf0c0eb8f4c6286a655824751c61 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/OcclusionTexture.mat b/Tests/Runtime/Export/Materials/HighDefinition/OcclusionTexture.mat deleted file mode 100644 index 118bbad1d..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/OcclusionTexture.mat +++ /dev/null @@ -1,304 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-5141719676988004194 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 12 - hdPluginSubTargetMaterialVersions: - m_Keys: [] - m_Values: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: OcclusionTexture - m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _MASKMAP _NORMALMAP_TANGENT_SPACE - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2225 - stringTagMap: {} - disabledShaderPasses: - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - - MOTIONVECTORS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AnisotropyMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoatMaskMap: - 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} - - _DetailMap: - 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} - - _EmissiveColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HeightMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceThicknessMap: - 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} - - _MaskMap: - m_Texture: {fileID: 2800000, guid: f74e1c470179d44928e390560f51ab57, type: 3} - 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} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapOS: - 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} - - _SpecularColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SubsurfaceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmittanceColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AORemapMax: 1 - - _AORemapMin: 0 - - _ATDistance: 1 - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.5 - - _AlphaCutoffEnable: 0 - - _AlphaCutoffPostpass: 0.5 - - _AlphaCutoffPrepass: 0.5 - - _AlphaCutoffShadow: 0.5 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _Anisotropy: 0 - - _BlendMode: 0 - - _BumpScale: 1 - - _CoatMask: 0 - - _CullMode: 2 - - _CullModeForward: 2 - - _Cutoff: 0.5 - - _DepthOffsetEnable: 0 - - _DetailAlbedoScale: 1 - - _DetailNormalMapScale: 1 - - _DetailNormalScale: 1 - - _DetailSmoothnessScale: 1 - - _DiffusionProfile: 0 - - _DiffusionProfileHash: 0 - - _DisplacementLockObjectScale: 1 - - _DisplacementLockTilingScale: 1 - - _DisplacementMode: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DoubleSidedNormalMode: 1 - - _DstBlend: 0 - - _EmissiveColorMode: 1 - - _EmissiveExposureWeight: 1 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _EnableGeometricSpecularAA: 0 - - _EnergyConservingSpecularColor: 1 - - _GlossMapScale: 1 - - _Glossiness: 0 - - _GlossyReflections: 1 - - _HeightAmplitude: 0.02 - - _HeightCenter: 0.5 - - _HeightMapParametrization: 0 - - _HeightMax: 1 - - _HeightMin: -1 - - _HeightOffset: 0 - - _HeightPoMAmplitude: 2 - - _HeightTessAmplitude: 2 - - _HeightTessCenter: 0.5 - - _InvTilingScale: 1 - - _Ior: 1.5 - - _IridescenceMask: 1 - - _IridescenceThickness: 1 - - _LinkDetailsWithBase: 0 - - _MaterialID: 1 - - _Metallic: 0 - - _MetallicRemapMax: 0 - - _MetallicRemapMin: 0 - - _Mode: 0 - - _NormalMapSpace: 0 - - _NormalScale: 1 - - _OcclusionStrength: 1 - - _OpaqueCullMode: 2 - - _PPDLodThreshold: 5 - - _PPDMaxSamples: 15 - - _PPDMinSamples: 5 - - _PPDPrimitiveLength: 1 - - _PPDPrimitiveWidth: 1 - - _Parallax: 0.02 - - _RayTracing: 0 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _Smoothness: 0 - - _SmoothnessRemapMax: 0.3 - - _SmoothnessRemapMin: 0.3 - - _SmoothnessTextureChannel: 0 - - _SpecularAAScreenSpaceVariance: 0.1 - - _SpecularAAThreshold: 0.2 - - _SpecularHighlights: 1 - - _SpecularOcclusionMode: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SubsurfaceMask: 1 - - _SupportDecals: 1 - - _SurfaceType: 0 - - _TexWorldScale: 1 - - _TexWorldScaleEmissive: 1 - - _Thickness: 1 - - _TransmissionEnable: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UVBase: 0 - - _UVDetail: 0 - - _UVEmissive: 0 - - _UVSec: 0 - - _UseEmissiveIntensity: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 4 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 0.70448077, b: 0.30660376, a: 1} - - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 1, g: 0.70448077, b: 0.30660373, a: 1} - - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} - - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} - - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} diff --git a/Tests/Runtime/Export/Materials/HighDefinition/OcclusionTexture.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/OcclusionTexture.mat.meta deleted file mode 100644 index 9d4f18a2e..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/OcclusionTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: ea6fdf2fe250a42cf9c8e00c21e2e3cd -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/OcclusionTextureStrength.mat b/Tests/Runtime/Export/Materials/HighDefinition/OcclusionTextureStrength.mat deleted file mode 100644 index d0bd2cdc2..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/OcclusionTextureStrength.mat +++ /dev/null @@ -1,304 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-3729456390090799472 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 12 - hdPluginSubTargetMaterialVersions: - m_Keys: [] - m_Values: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: OcclusionTextureStrength - m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _MASKMAP _NORMALMAP_TANGENT_SPACE - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2225 - stringTagMap: {} - disabledShaderPasses: - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - - MOTIONVECTORS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AnisotropyMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 2, y: 1.5} - m_Offset: {x: 0, y: 0} - - _BentNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoatMaskMap: - 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} - - _DetailMap: - 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: 2, y: 1.5} - m_Offset: {x: 0, y: 0} - - _EmissiveColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 2, y: 1.5} - m_Offset: {x: 0, y: 0} - - _HeightMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 2, y: 1.5} - m_Offset: {x: 0, y: 0} - - _MaskMap: - m_Texture: {fileID: 2800000, guid: cf282674fa2e94fb4a5af4b276f1c793, type: 3} - 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} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapOS: - 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} - - _SpecularColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SubsurfaceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmittanceColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AORemapMax: 1 - - _AORemapMin: 0.77 - - _ATDistance: 1 - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.5 - - _AlphaCutoffEnable: 0 - - _AlphaCutoffPostpass: 0.5 - - _AlphaCutoffPrepass: 0.5 - - _AlphaCutoffShadow: 0.5 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _Anisotropy: 0 - - _BlendMode: 0 - - _BumpScale: 1 - - _CoatMask: 0 - - _CullMode: 2 - - _CullModeForward: 2 - - _Cutoff: 0.5 - - _DepthOffsetEnable: 0 - - _DetailAlbedoScale: 1 - - _DetailNormalMapScale: 1 - - _DetailNormalScale: 1 - - _DetailSmoothnessScale: 1 - - _DiffusionProfile: 0 - - _DiffusionProfileHash: 0 - - _DisplacementLockObjectScale: 1 - - _DisplacementLockTilingScale: 1 - - _DisplacementMode: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DoubleSidedNormalMode: 1 - - _DstBlend: 0 - - _EmissiveColorMode: 1 - - _EmissiveExposureWeight: 1 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _EnableGeometricSpecularAA: 0 - - _EnergyConservingSpecularColor: 1 - - _GlossMapScale: 1 - - _Glossiness: 0 - - _GlossyReflections: 1 - - _HeightAmplitude: 0.02 - - _HeightCenter: 0.5 - - _HeightMapParametrization: 0 - - _HeightMax: 1 - - _HeightMin: -1 - - _HeightOffset: 0 - - _HeightPoMAmplitude: 2 - - _HeightTessAmplitude: 2 - - _HeightTessCenter: 0.5 - - _InvTilingScale: 1 - - _Ior: 1.5 - - _IridescenceMask: 1 - - _IridescenceThickness: 1 - - _LinkDetailsWithBase: 0 - - _MaterialID: 1 - - _Metallic: 0 - - _MetallicRemapMax: 0 - - _MetallicRemapMin: 0 - - _Mode: 0 - - _NormalMapSpace: 0 - - _NormalScale: 1 - - _OcclusionStrength: 0.23 - - _OpaqueCullMode: 2 - - _PPDLodThreshold: 5 - - _PPDMaxSamples: 15 - - _PPDMinSamples: 5 - - _PPDPrimitiveLength: 1 - - _PPDPrimitiveWidth: 1 - - _Parallax: 0.02 - - _RayTracing: 0 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _Smoothness: 0 - - _SmoothnessRemapMax: 0 - - _SmoothnessRemapMin: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularAAScreenSpaceVariance: 0.1 - - _SpecularAAThreshold: 0.2 - - _SpecularHighlights: 1 - - _SpecularOcclusionMode: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SubsurfaceMask: 1 - - _SupportDecals: 1 - - _SurfaceType: 0 - - _TexWorldScale: 1 - - _TexWorldScaleEmissive: 1 - - _Thickness: 1 - - _TransmissionEnable: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UVBase: 0 - - _UVDetail: 0 - - _UVEmissive: 0 - - _UVSec: 0 - - _UseEmissiveIntensity: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 4 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 0.70448077, b: 0.30660376, a: 1} - - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 1, g: 0.70448077, b: 0.30660373, a: 1} - - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} - - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} - - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} diff --git a/Tests/Runtime/Export/Materials/HighDefinition/OcclusionTextureStrength.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/OcclusionTextureStrength.mat.meta deleted file mode 100644 index 7118099a8..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/OcclusionTextureStrength.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 2c273240b36b14050833c4e5127e37b0 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/OcclusionTextureStrength_MaskMap.png b/Tests/Runtime/Export/Materials/HighDefinition/OcclusionTextureStrength_MaskMap.png deleted file mode 100644 index 2925c4bee..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/OcclusionTextureStrength_MaskMap.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5dfb127de94b91a3ac7a90f5e0c6639cc71c0cc954c38e40a5f7db8490093ee9 -size 28085 diff --git a/Tests/Runtime/Export/Materials/HighDefinition/OcclusionTextureStrength_MaskMap.png.meta b/Tests/Runtime/Export/Materials/HighDefinition/OcclusionTextureStrength_MaskMap.png.meta deleted file mode 100644 index 7f9eb729d..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/OcclusionTextureStrength_MaskMap.png.meta +++ /dev/null @@ -1,128 +0,0 @@ -fileFormatVersion: 2 -guid: cf282674fa2e94fb4a5af4b276f1c793 -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 - 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 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 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 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: WebGL - 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/Tests/Runtime/Export/Materials/HighDefinition/OcclusionTexture_MaskMap.png b/Tests/Runtime/Export/Materials/HighDefinition/OcclusionTexture_MaskMap.png deleted file mode 100644 index 2925c4bee..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/OcclusionTexture_MaskMap.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5dfb127de94b91a3ac7a90f5e0c6639cc71c0cc954c38e40a5f7db8490093ee9 -size 28085 diff --git a/Tests/Runtime/Export/Materials/HighDefinition/OcclusionTexture_MaskMap.png.meta b/Tests/Runtime/Export/Materials/HighDefinition/OcclusionTexture_MaskMap.png.meta deleted file mode 100644 index 4f9d38b93..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/OcclusionTexture_MaskMap.png.meta +++ /dev/null @@ -1,128 +0,0 @@ -fileFormatVersion: 2 -guid: f74e1c470179d44928e390560f51ab57 -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 - 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 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 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 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: WebGL - 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/Tests/Runtime/Export/Materials/HighDefinition/Red.mat b/Tests/Runtime/Export/Materials/HighDefinition/Red.mat deleted file mode 100644 index 01a06395f..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/Red.mat +++ /dev/null @@ -1,304 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-6179123345262248871 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 12 - hdPluginSubTargetMaterialVersions: - m_Keys: [] - m_Values: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Red - m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2225 - stringTagMap: {} - disabledShaderPasses: - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - - MOTIONVECTORS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AnisotropyMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoatMaskMap: - 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} - - _DetailMap: - 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} - - _EmissiveColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HeightMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceThicknessMap: - 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} - - _MaskMap: - 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} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapOS: - 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} - - _SpecularColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SubsurfaceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmittanceColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - : 0.5 - - _AORemapMax: 1 - - _AORemapMin: 0 - - _ATDistance: 1 - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.5 - - _AlphaCutoffEnable: 0 - - _AlphaCutoffPostpass: 0.5 - - _AlphaCutoffPrepass: 0.5 - - _AlphaCutoffShadow: 0.5 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _Anisotropy: 0 - - _BlendMode: 0 - - _BumpScale: 1 - - _CoatMask: 0 - - _CullMode: 2 - - _CullModeForward: 2 - - _Cutoff: 0.5 - - _DepthOffsetEnable: 0 - - _DetailAlbedoScale: 1 - - _DetailNormalMapScale: 1 - - _DetailNormalScale: 1 - - _DetailSmoothnessScale: 1 - - _DiffusionProfile: 0 - - _DiffusionProfileHash: 0 - - _DisplacementLockObjectScale: 1 - - _DisplacementLockTilingScale: 1 - - _DisplacementMode: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DoubleSidedNormalMode: 1 - - _DstBlend: 0 - - _EmissiveColorMode: 1 - - _EmissiveExposureWeight: 1 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _EnableGeometricSpecularAA: 0 - - _EnergyConservingSpecularColor: 1 - - _GlossMapScale: 1 - - _GlossyReflections: 1 - - _HeightAmplitude: 0.02 - - _HeightCenter: 0.5 - - _HeightMapParametrization: 0 - - _HeightMax: 1 - - _HeightMin: -1 - - _HeightOffset: 0 - - _HeightPoMAmplitude: 2 - - _HeightTessAmplitude: 2 - - _HeightTessCenter: 0.5 - - _InvTilingScale: 1 - - _Ior: 1.5 - - _IridescenceMask: 1 - - _IridescenceThickness: 1 - - _LinkDetailsWithBase: 0 - - _MaterialID: 1 - - _Metallic: 0 - - _MetallicRemapMax: 0 - - _MetallicRemapMin: 0 - - _Mode: 0 - - _NormalMapSpace: 0 - - _NormalScale: 1 - - _OcclusionStrength: 1 - - _OpaqueCullMode: 2 - - _PPDLodThreshold: 5 - - _PPDMaxSamples: 15 - - _PPDMinSamples: 5 - - _PPDPrimitiveLength: 1 - - _PPDPrimitiveWidth: 1 - - _Parallax: 0.02 - - _RayTracing: 0 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _Smoothness: 0.5 - - _SmoothnessRemapMax: 0.5 - - _SmoothnessRemapMin: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularAAScreenSpaceVariance: 0.1 - - _SpecularAAThreshold: 0.2 - - _SpecularHighlights: 1 - - _SpecularOcclusionMode: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SubsurfaceMask: 1 - - _SupportDecals: 1 - - _SurfaceType: 0 - - _TexWorldScale: 1 - - _TexWorldScaleEmissive: 1 - - _Thickness: 1 - - _TransmissionEnable: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UVBase: 0 - - _UVDetail: 0 - - _UVEmissive: 0 - - _UVSec: 0 - - _UseEmissiveIntensity: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 4 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 0, b: 0, a: 1} - - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 1, g: 0, b: 0, a: 1} - - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} - - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} - - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} diff --git a/Tests/Runtime/Export/Materials/HighDefinition/Red.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/Red.mat.meta deleted file mode 100644 index 2b7108937..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/Red.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 4033ff0f0d27e4a27bd71649ac26200e -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/SmoothnessTexture.mat b/Tests/Runtime/Export/Materials/HighDefinition/SmoothnessTexture.mat deleted file mode 100644 index c85a28e3d..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/SmoothnessTexture.mat +++ /dev/null @@ -1,304 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-1430222503665528796 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 12 - hdPluginSubTargetMaterialVersions: - m_Keys: [] - m_Values: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: SmoothnessTexture - m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _MASKMAP _NORMALMAP_TANGENT_SPACE - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2225 - stringTagMap: {} - disabledShaderPasses: - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - - MOTIONVECTORS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AnisotropyMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoatMaskMap: - 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} - - _DetailMap: - 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} - - _EmissiveColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HeightMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceThicknessMap: - 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} - - _MaskMap: - m_Texture: {fileID: 2800000, guid: 9ef8c2e8e893c4a85bcff8ae5f10c1a4, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 2800000, guid: be9b3838ad12d459b97a6378956ca45f, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapOS: - 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} - - _SpecularColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SubsurfaceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmittanceColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AORemapMax: 1 - - _AORemapMin: 1 - - _ATDistance: 1 - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.5 - - _AlphaCutoffEnable: 0 - - _AlphaCutoffPostpass: 0.5 - - _AlphaCutoffPrepass: 0.5 - - _AlphaCutoffShadow: 0.5 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _Anisotropy: 0 - - _BlendMode: 0 - - _BumpScale: 1 - - _CoatMask: 0 - - _CullMode: 2 - - _CullModeForward: 2 - - _Cutoff: 0.5 - - _DepthOffsetEnable: 0 - - _DetailAlbedoScale: 1 - - _DetailNormalMapScale: 1 - - _DetailNormalScale: 1 - - _DetailSmoothnessScale: 1 - - _DiffusionProfile: 0 - - _DiffusionProfileHash: 0 - - _DisplacementLockObjectScale: 1 - - _DisplacementLockTilingScale: 1 - - _DisplacementMode: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DoubleSidedNormalMode: 1 - - _DstBlend: 0 - - _EmissiveColorMode: 1 - - _EmissiveExposureWeight: 1 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _EnableGeometricSpecularAA: 0 - - _EnergyConservingSpecularColor: 1 - - _GlossMapScale: 1 - - _Glossiness: 0 - - _GlossyReflections: 1 - - _HeightAmplitude: 0.02 - - _HeightCenter: 0.5 - - _HeightMapParametrization: 0 - - _HeightMax: 1 - - _HeightMin: -1 - - _HeightOffset: 0 - - _HeightPoMAmplitude: 2 - - _HeightTessAmplitude: 2 - - _HeightTessCenter: 0.5 - - _InvTilingScale: 1 - - _Ior: 1.5 - - _IridescenceMask: 1 - - _IridescenceThickness: 1 - - _LinkDetailsWithBase: 0 - - _MaterialID: 1 - - _Metallic: 1 - - _MetallicRemapMax: 1 - - _MetallicRemapMin: 0 - - _Mode: 0 - - _NormalMapSpace: 0 - - _NormalScale: 1 - - _OcclusionStrength: 1 - - _OpaqueCullMode: 2 - - _PPDLodThreshold: 5 - - _PPDMaxSamples: 15 - - _PPDMinSamples: 5 - - _PPDPrimitiveLength: 1 - - _PPDPrimitiveWidth: 1 - - _Parallax: 0.02 - - _RayTracing: 0 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _Smoothness: 0 - - _SmoothnessRemapMax: 1 - - _SmoothnessRemapMin: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularAAScreenSpaceVariance: 0.1 - - _SpecularAAThreshold: 0.2 - - _SpecularHighlights: 1 - - _SpecularOcclusionMode: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SubsurfaceMask: 1 - - _SupportDecals: 1 - - _SurfaceType: 0 - - _TexWorldScale: 1 - - _TexWorldScaleEmissive: 1 - - _Thickness: 1 - - _TransmissionEnable: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UVBase: 0 - - _UVDetail: 0 - - _UVEmissive: 0 - - _UVSec: 0 - - _UseEmissiveIntensity: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 4 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 0.3058823, g: 1, b: 0.3892682, a: 1} - - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 0.30588228, g: 1, b: 0.38926816, a: 1} - - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} - - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} - - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} diff --git a/Tests/Runtime/Export/Materials/HighDefinition/SmoothnessTexture.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/SmoothnessTexture.mat.meta deleted file mode 100644 index 133ef1c1c..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/SmoothnessTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 5d393e41a852d422d82011b8187163b5 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/SmoothnessTexture_MaskMap.png b/Tests/Runtime/Export/Materials/HighDefinition/SmoothnessTexture_MaskMap.png deleted file mode 100644 index 866f9086a..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/SmoothnessTexture_MaskMap.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:38b1965519615711617bc4b4766d58b6751b9c0168c4387a9f69cdbd0567bb0f -size 108 diff --git a/Tests/Runtime/Export/Materials/HighDefinition/SmoothnessTexture_MaskMap.png.meta b/Tests/Runtime/Export/Materials/HighDefinition/SmoothnessTexture_MaskMap.png.meta deleted file mode 100644 index e26c8ba6a..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/SmoothnessTexture_MaskMap.png.meta +++ /dev/null @@ -1,128 +0,0 @@ -fileFormatVersion: 2 -guid: 9ef8c2e8e893c4a85bcff8ae5f10c1a4 -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 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 0 - 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 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - applyGammaDecoding: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 0 - 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: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: WebGL - 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/Tests/Runtime/Export/Materials/HighDefinition/Unlit.mat b/Tests/Runtime/Export/Materials/HighDefinition/Unlit.mat deleted file mode 100644 index 13c314ae0..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/Unlit.mat +++ /dev/null @@ -1,160 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-8134164059305759853 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 12 - hdPluginSubTargetMaterialVersions: - m_Keys: [] - m_Values: ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Unlit - m_Shader: {fileID: 4800000, guid: c4edd00ff2db5b24391a4fcb1762e459, type: 3} - m_ShaderKeywords: - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 - stringTagMap: {} - disabledShaderPasses: - - DistortionVectors - - MOTIONVECTORS - 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} - - _DistortionVectorMap: - 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} - - _EmissiveColorMap: - 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} - - _UnlitColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.5 - - _AlphaCutoffEnable: 0 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _BlendMode: 0 - - _BumpScale: 1 - - _CullMode: 2 - - _Cutoff: 0.5 - - _DetailNormalMapScale: 1 - - _DistortionBlendMode: 0 - - _DistortionBlurBlendMode: 0 - - _DistortionBlurDstBlend: 1 - - _DistortionBlurRemapMax: 1 - - _DistortionBlurRemapMin: 0 - - _DistortionBlurScale: 1 - - _DistortionBlurSrcBlend: 1 - - _DistortionDepthTest: 1 - - _DistortionDstBlend: 1 - - _DistortionEnable: 0 - - _DistortionOnly: 0 - - _DistortionScale: 1 - - _DistortionSrcBlend: 1 - - _DistortionVectorBias: -1 - - _DistortionVectorScale: 2 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DstBlend: 0 - - _EmissiveExposureWeight: 1 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableFogOnTransparent: 0 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _IncludeIndirectLighting: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _OpaqueCullMode: 2 - - _Parallax: 0.02 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 0 - - _StencilRefDistortionVec: 4 - - _StencilRefMV: 32 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskMV: 40 - - _SurfaceType: 0 - - _TransparentCullMode: 2 - - _TransparentSortPriority: 0 - - _TransparentZWrite: 0 - - _UVSec: 0 - - _UseEmissiveIntensity: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestModeDistortion: 4 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _Color: {r: 0, g: 0, b: 0, a: 1} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _UnlitColor: {r: 1, g: 0.55888855, b: 0, a: 1} - - _UnlitColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} diff --git a/Tests/Runtime/Export/Materials/HighDefinition/Unlit.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/Unlit.mat.meta deleted file mode 100644 index e36a03528..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/Unlit.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: d1c51088d30714237aa377d6deeff11c -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/UnlitTextured.mat b/Tests/Runtime/Export/Materials/HighDefinition/UnlitTextured.mat deleted file mode 100644 index ddfdc33b1..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/UnlitTextured.mat +++ /dev/null @@ -1,157 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-3091907180490354514 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 12 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: UnlitTextured - m_Shader: {fileID: 4800000, guid: c4edd00ff2db5b24391a4fcb1762e459, type: 3} - m_ShaderKeywords: - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 - stringTagMap: {} - disabledShaderPasses: - - DistortionVectors - - MOTIONVECTORS - 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} - - _DistortionVectorMap: - 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} - - _EmissiveColorMap: - 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} - - _UnlitColorMap: - m_Texture: {fileID: 2800000, guid: 767b013dd53264d2a858edf8651b320d, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.5 - - _AlphaCutoffEnable: 0 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _BlendMode: 0 - - _BumpScale: 1 - - _CullMode: 2 - - _Cutoff: 0.5 - - _DetailNormalMapScale: 1 - - _DistortionBlendMode: 0 - - _DistortionBlurBlendMode: 0 - - _DistortionBlurDstBlend: 1 - - _DistortionBlurRemapMax: 1 - - _DistortionBlurRemapMin: 0 - - _DistortionBlurScale: 1 - - _DistortionBlurSrcBlend: 1 - - _DistortionDepthTest: 1 - - _DistortionDstBlend: 1 - - _DistortionEnable: 0 - - _DistortionOnly: 0 - - _DistortionScale: 1 - - _DistortionSrcBlend: 1 - - _DistortionVectorBias: -1 - - _DistortionVectorScale: 2 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DstBlend: 0 - - _EmissiveExposureWeight: 1 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableFogOnTransparent: 0 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _IncludeIndirectLighting: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _OpaqueCullMode: 2 - - _Parallax: 0.02 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 0 - - _StencilRefDistortionVec: 4 - - _StencilRefMV: 32 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskMV: 40 - - _SurfaceType: 0 - - _TransparentCullMode: 2 - - _TransparentSortPriority: 0 - - _TransparentZWrite: 0 - - _UVSec: 0 - - _UseEmissiveIntensity: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestModeDistortion: 4 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _Color: {r: 0, g: 0, b: 0, a: 1} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _UnlitColor: {r: 1, g: 1, b: 1, a: 1} - - _UnlitColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} diff --git a/Tests/Runtime/Export/Materials/HighDefinition/UnlitTextured.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/UnlitTextured.mat.meta deleted file mode 100644 index d12a605f6..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/UnlitTextured.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: c3e90f9f6d3804a368335ab28670cbe3 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/UnlitTexturedTransform.mat b/Tests/Runtime/Export/Materials/HighDefinition/UnlitTexturedTransform.mat deleted file mode 100644 index 685486639..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/UnlitTexturedTransform.mat +++ /dev/null @@ -1,157 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-1994736491517779785 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 12 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: UnlitTexturedTransform - m_Shader: {fileID: 4800000, guid: c4edd00ff2db5b24391a4fcb1762e459, type: 3} - m_ShaderKeywords: - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 - stringTagMap: {} - disabledShaderPasses: - - DistortionVectors - - MOTIONVECTORS - 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} - - _DistortionVectorMap: - 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} - - _EmissiveColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 2, y: 1.5} - m_Offset: {x: -0.5, y: 0.5} - - _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} - - _UnlitColorMap: - m_Texture: {fileID: 2800000, guid: 767b013dd53264d2a858edf8651b320d, type: 3} - m_Scale: {x: 2, y: 1.5} - m_Offset: {x: -0.5, y: 0.5} - m_Floats: - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.5 - - _AlphaCutoffEnable: 0 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _BlendMode: 0 - - _BumpScale: 1 - - _CullMode: 2 - - _Cutoff: 0.5 - - _DetailNormalMapScale: 1 - - _DistortionBlendMode: 0 - - _DistortionBlurBlendMode: 0 - - _DistortionBlurDstBlend: 1 - - _DistortionBlurRemapMax: 1 - - _DistortionBlurRemapMin: 0 - - _DistortionBlurScale: 1 - - _DistortionBlurSrcBlend: 1 - - _DistortionDepthTest: 1 - - _DistortionDstBlend: 1 - - _DistortionEnable: 0 - - _DistortionOnly: 0 - - _DistortionScale: 1 - - _DistortionSrcBlend: 1 - - _DistortionVectorBias: -1 - - _DistortionVectorScale: 2 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DstBlend: 0 - - _EmissiveExposureWeight: 1 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableFogOnTransparent: 0 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _IncludeIndirectLighting: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _OpaqueCullMode: 2 - - _Parallax: 0.02 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 0 - - _StencilRefDistortionVec: 4 - - _StencilRefMV: 32 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskMV: 40 - - _SurfaceType: 0 - - _TransparentCullMode: 2 - - _TransparentSortPriority: 0 - - _TransparentZWrite: 0 - - _UVSec: 0 - - _UseEmissiveIntensity: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestModeDistortion: 4 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _Color: {r: 0, g: 0, b: 0, a: 1} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _UnlitColor: {r: 1, g: 1, b: 1, a: 1} - - _UnlitColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} diff --git a/Tests/Runtime/Export/Materials/HighDefinition/UnlitTexturedTransform.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/UnlitTexturedTransform.mat.meta deleted file mode 100644 index c8adbffe0..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/UnlitTexturedTransform.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 0b0619dce5cab4fcebacd058a9b4df35 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/VertexColorsUnlit.mat b/Tests/Runtime/Export/Materials/HighDefinition/VertexColorsUnlit.mat deleted file mode 100644 index 699862933..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/VertexColorsUnlit.mat +++ /dev/null @@ -1,323 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-6317916853012605852 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 2 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: VertexColorsUnlit - m_Shader: {fileID: 4800000, guid: c4edd00ff2db5b24391a4fcb1762e459, type: 3} - m_ShaderKeywords: _ALBEDOCONTRIBUTION _NORMALMAP_TANGENT_SPACE _TERRAIN_INSTANCED_PERPIXEL_NORMAL - m_LightmapFlags: 0 - m_EnableInstancingVariants: 1 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 - stringTagMap: {} - disabledShaderPasses: - - DistortionVectors - - MOTIONVECTORS - - DBufferMesh_M - - DBufferMesh_AO - - DBufferMesh_MAO - - Mesh_Emissive - - DBufferMesh_MS - - DBufferMesh_AOS - - DBufferMesh_MAOS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AnisotropyMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoatMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DetailMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _DistortionVectorMap: - 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} - - _EmissiveColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _HeightMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceThicknessMap: - 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} - - _MaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SpecularColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SubsurfaceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TerrainHolesTexture: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmittanceColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _UnlitColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AORemapMax: 1 - - _AORemapMin: 0 - - _ATDistance: 1 - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlbedoMode: 1 - - _AlphaCutoff: 0.5 - - _AlphaCutoffEnable: 0 - - _AlphaCutoffPostpass: 0.5 - - _AlphaCutoffPrepass: 0.5 - - _AlphaCutoffShadow: 0.5 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _Anisotropy: 0 - - _BlendMode: 0 - - _BlendOp: 0 - - _BumpScale: 1 - - _CameraFadingEnabled: 0 - - _CameraFarFadeDistance: 2 - - _CameraNearFadeDistance: 1 - - _CoatMask: 0 - - _ColorMode: 0 - - _Cull: 2 - - _CullMode: 2 - - _CullModeForward: 2 - - _Cutoff: 0.5 - - _DecalBlend: 0.5 - - _DecalMaskMapBlueScale: 1 - - _DecalMeshDepthBias: 0 - - _DecalStencilRef: 16 - - _DecalStencilWriteMask: 16 - - _DepthOffsetEnable: 0 - - _DetailAlbedoScale: 1 - - _DetailNormalScale: 1 - - _DetailSmoothnessScale: 1 - - _DiffusionProfile: 0 - - _DiffusionProfileHash: 0 - - _DisplacementLockObjectScale: 1 - - _DisplacementLockTilingScale: 1 - - _DisplacementMode: 0 - - _DistortionBlend: 0.5 - - _DistortionBlendMode: 0 - - _DistortionBlurBlendMode: 0 - - _DistortionBlurDstBlend: 1 - - _DistortionBlurRemapMax: 1 - - _DistortionBlurRemapMin: 0 - - _DistortionBlurScale: 1 - - _DistortionBlurSrcBlend: 1 - - _DistortionDepthTest: 1 - - _DistortionDstBlend: 1 - - _DistortionEnable: 0 - - _DistortionEnabled: 0 - - _DistortionOnly: 0 - - _DistortionScale: 1 - - _DistortionSrcBlend: 1 - - _DistortionStrength: 1 - - _DistortionStrengthScaled: 0 - - _DistortionVectorBias: -1 - - _DistortionVectorScale: 2 - - _DoubleSidedEnable: 0 - - _DoubleSidedNormalMode: 1 - - _DrawOrder: 0 - - _DstBlend: 0 - - _EmissionEnabled: 0 - - _Emissive: 0 - - _EmissiveColorMode: 1 - - _EmissiveExposureWeight: 1 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _EnableGeometricSpecularAA: 0 - - _EnableHeightBlend: 0 - - _EnableInstancedPerPixelNormal: 1 - - _EnergyConservingSpecularColor: 1 - - _FlipbookMode: 0 - - _HeightAmplitude: 0.02 - - _HeightCenter: 0.5 - - _HeightMapParametrization: 0 - - _HeightMax: 1 - - _HeightMin: -1 - - _HeightOffset: 0 - - _HeightPoMAmplitude: 2 - - _HeightTessAmplitude: 2 - - _HeightTessCenter: 0.5 - - _HeightTransition: 0 - - _IncludeIndirectLighting: 1 - - _InvTilingScale: 1 - - _Ior: 1.5 - - _IridescenceMask: 1 - - _IridescenceThickness: 1 - - _LightingEnabled: 0 - - _LinkDetailsWithBase: 1 - - _MaskBlendMode: 4 - - _MaskBlendSrc: 1 - - _MaskmapAO: 0 - - _MaskmapMetal: 0 - - _MaskmapSmoothness: 1 - - _MaterialID: 1 - - _Metallic: 0 - - _MetallicScale: 1 - - _Mode: 0 - - _NormalBlendSrc: 0 - - _NormalMapSpace: 0 - - _NormalScale: 1 - - _PPDLodThreshold: 5 - - _PPDMaxSamples: 15 - - _PPDMinSamples: 5 - - _PPDPrimitiveLength: 1 - - _PPDPrimitiveWidth: 1 - - _ReceivesSSR: 1 - - _RefractionModel: 0 - - _SSRefractionProjectionModel: 0 - - _Smoothness: 0.5 - - _SmoothnessRemapMax: 1 - - _SmoothnessRemapMin: 0 - - _SoftParticlesEnabled: 0 - - _SoftParticlesFarFadeDistance: 1 - - _SoftParticlesNearFadeDistance: 0 - - _SpecularAAScreenSpaceVariance: 0.1 - - _SpecularAAThreshold: 0.2 - - _SpecularOcclusionMode: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 0 - - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 32 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskDistortionVec: 4 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SubsurfaceMask: 1 - - _SupportDecals: 1 - - _SurfaceType: 0 - - _TexWorldScale: 1 - - _TexWorldScaleEmissive: 1 - - _Thickness: 1 - - _TransmissionEnable: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UVBase: 0 - - _UVDetail: 0 - - _UVEmissive: 0 - - _UseEmissiveIntensity: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 4 - - _ZTestModeDistortion: 4 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} - - _Color: {r: 0, g: 0, b: 0, a: 1} - - _ColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0} - - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorHDR: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} - - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} - - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} - - _UnlitColor: {r: 1, g: 1, b: 1, a: 1} - - _UnlitColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} diff --git a/Tests/Runtime/Export/Materials/HighDefinition/VertexColorsUnlit.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/VertexColorsUnlit.mat.meta deleted file mode 100644 index dc4766af0..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/VertexColorsUnlit.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 833026a11b7ad49c3ae26bd73c689d13 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/WrapModeCC.mat b/Tests/Runtime/Export/Materials/HighDefinition/WrapModeCC.mat deleted file mode 100644 index eb72f043b..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/WrapModeCC.mat +++ /dev/null @@ -1,302 +0,0 @@ -%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: WrapModeCC - m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2225 - stringTagMap: {} - disabledShaderPasses: - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - - MOTIONVECTORS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AnisotropyMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 2800000, guid: bbd3f185f05f844dd92970012dca4cf4, type: 3} - m_Scale: {x: 2, y: 3} - m_Offset: {x: -0.5, y: -1} - - _BentNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoatMaskMap: - 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} - - _DetailMap: - 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: 3, y: 3} - m_Offset: {x: -1, y: -1} - - _EmissiveColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 3, y: 3} - m_Offset: {x: -1, y: -1} - - _HeightMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: bbd3f185f05f844dd92970012dca4cf4, type: 3} - m_Scale: {x: 3, y: 3} - m_Offset: {x: -1, y: -1} - - _MaskMap: - 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} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapOS: - 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} - - _SpecularColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SubsurfaceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmittanceColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AORemapMax: 1 - - _AORemapMin: 0 - - _ATDistance: 1 - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.5 - - _AlphaCutoffEnable: 0 - - _AlphaCutoffPostpass: 0.5 - - _AlphaCutoffPrepass: 0.5 - - _AlphaCutoffShadow: 0.5 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _Anisotropy: 0 - - _BlendMode: 0 - - _BumpScale: 1 - - _CoatMask: 0 - - _CullMode: 2 - - _CullModeForward: 2 - - _Cutoff: 0.5 - - _DepthOffsetEnable: 0 - - _DetailAlbedoScale: 1 - - _DetailNormalMapScale: 1 - - _DetailNormalScale: 1 - - _DetailSmoothnessScale: 1 - - _DiffusionProfile: 0 - - _DiffusionProfileHash: 0 - - _DisplacementLockObjectScale: 1 - - _DisplacementLockTilingScale: 1 - - _DisplacementMode: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DoubleSidedNormalMode: 1 - - _DstBlend: 0 - - _EmissiveColorMode: 1 - - _EmissiveExposureWeight: 1 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _EnableGeometricSpecularAA: 0 - - _EnergyConservingSpecularColor: 1 - - _GlossMapScale: 1 - - _Glossiness: 1 - - _GlossyReflections: 1 - - _HeightAmplitude: 0.02 - - _HeightCenter: 0.5 - - _HeightMapParametrization: 0 - - _HeightMax: 1 - - _HeightMin: -1 - - _HeightOffset: 0 - - _HeightPoMAmplitude: 2 - - _HeightTessAmplitude: 2 - - _HeightTessCenter: 0.5 - - _InvTilingScale: 0.4 - - _Ior: 1.5 - - _IridescenceMask: 1 - - _IridescenceThickness: 1 - - _LinkDetailsWithBase: 0 - - _MaterialID: 1 - - _Metallic: 0 - - _MetallicRemapMax: 0 - - _MetallicRemapMin: 0 - - _Mode: 0 - - _NormalMapSpace: 0 - - _NormalScale: 1 - - _OcclusionStrength: 1 - - _OpaqueCullMode: 2 - - _PPDLodThreshold: 5 - - _PPDMaxSamples: 15 - - _PPDMinSamples: 5 - - _PPDPrimitiveLength: 1 - - _PPDPrimitiveWidth: 1 - - _Parallax: 0.02 - - _RayTracing: 0 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _Smoothness: 1 - - _SmoothnessRemapMax: 1 - - _SmoothnessRemapMin: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularAAScreenSpaceVariance: 0.1 - - _SpecularAAThreshold: 0.2 - - _SpecularHighlights: 1 - - _SpecularOcclusionMode: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SubsurfaceMask: 1 - - _SupportDecals: 1 - - _SurfaceType: 0 - - _TexWorldScale: 1 - - _TexWorldScaleEmissive: 1 - - _Thickness: 1 - - _TransmissionEnable: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UVBase: 0 - - _UVDetail: 0 - - _UVEmissive: 0 - - _UVSec: 0 - - _UseEmissiveIntensity: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 4 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} - - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} - - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] ---- !u!114 &2378040347328154431 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 12 diff --git a/Tests/Runtime/Export/Materials/HighDefinition/WrapModeCC.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/WrapModeCC.mat.meta deleted file mode 100644 index 71900cc1a..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/WrapModeCC.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 647a8f9223b6b4e6a865c5599613deb9 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/WrapModeCM.mat b/Tests/Runtime/Export/Materials/HighDefinition/WrapModeCM.mat deleted file mode 100644 index bde4e7a4e..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/WrapModeCM.mat +++ /dev/null @@ -1,302 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-7338073392192290656 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 12 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: WrapModeCM - m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2225 - stringTagMap: {} - disabledShaderPasses: - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - - MOTIONVECTORS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AnisotropyMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 2800000, guid: 8397722a4633b414e8c1fd1613e3523b, type: 3} - m_Scale: {x: 4, y: 5} - m_Offset: {x: -1.5, y: -2} - - _BentNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoatMaskMap: - 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} - - _DetailMap: - 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: 5, y: 5} - m_Offset: {x: -2, y: -2} - - _EmissiveColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 5, y: 5} - m_Offset: {x: -2, y: -2} - - _HeightMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 8397722a4633b414e8c1fd1613e3523b, type: 3} - m_Scale: {x: 5, y: 5} - m_Offset: {x: -2, y: -2} - - _MaskMap: - 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} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapOS: - 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} - - _SpecularColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SubsurfaceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmittanceColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AORemapMax: 1 - - _AORemapMin: 0 - - _ATDistance: 1 - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.5 - - _AlphaCutoffEnable: 0 - - _AlphaCutoffPostpass: 0.5 - - _AlphaCutoffPrepass: 0.5 - - _AlphaCutoffShadow: 0.5 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _Anisotropy: 0 - - _BlendMode: 0 - - _BumpScale: 1 - - _CoatMask: 0 - - _CullMode: 2 - - _CullModeForward: 2 - - _Cutoff: 0.5 - - _DepthOffsetEnable: 0 - - _DetailAlbedoScale: 1 - - _DetailNormalMapScale: 1 - - _DetailNormalScale: 1 - - _DetailSmoothnessScale: 1 - - _DiffusionProfile: 0 - - _DiffusionProfileHash: 0 - - _DisplacementLockObjectScale: 1 - - _DisplacementLockTilingScale: 1 - - _DisplacementMode: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DoubleSidedNormalMode: 1 - - _DstBlend: 0 - - _EmissiveColorMode: 1 - - _EmissiveExposureWeight: 1 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _EnableGeometricSpecularAA: 0 - - _EnergyConservingSpecularColor: 1 - - _GlossMapScale: 1 - - _Glossiness: 1 - - _GlossyReflections: 1 - - _HeightAmplitude: 0.02 - - _HeightCenter: 0.5 - - _HeightMapParametrization: 0 - - _HeightMax: 1 - - _HeightMin: -1 - - _HeightOffset: 0 - - _HeightPoMAmplitude: 2 - - _HeightTessAmplitude: 2 - - _HeightTessCenter: 0.5 - - _InvTilingScale: 0.22222222 - - _Ior: 1.5 - - _IridescenceMask: 1 - - _IridescenceThickness: 1 - - _LinkDetailsWithBase: 0 - - _MaterialID: 1 - - _Metallic: 0 - - _MetallicRemapMax: 0 - - _MetallicRemapMin: 0 - - _Mode: 0 - - _NormalMapSpace: 0 - - _NormalScale: 1 - - _OcclusionStrength: 1 - - _OpaqueCullMode: 2 - - _PPDLodThreshold: 5 - - _PPDMaxSamples: 15 - - _PPDMinSamples: 5 - - _PPDPrimitiveLength: 1 - - _PPDPrimitiveWidth: 1 - - _Parallax: 0.02 - - _RayTracing: 0 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _Smoothness: 1 - - _SmoothnessRemapMax: 1 - - _SmoothnessRemapMin: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularAAScreenSpaceVariance: 0.1 - - _SpecularAAThreshold: 0.2 - - _SpecularHighlights: 1 - - _SpecularOcclusionMode: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SubsurfaceMask: 1 - - _SupportDecals: 1 - - _SurfaceType: 0 - - _TexWorldScale: 1 - - _TexWorldScaleEmissive: 1 - - _Thickness: 1 - - _TransmissionEnable: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UVBase: 0 - - _UVDetail: 0 - - _UVEmissive: 0 - - _UVSec: 0 - - _UseEmissiveIntensity: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 4 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} - - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} - - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] diff --git a/Tests/Runtime/Export/Materials/HighDefinition/WrapModeCM.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/WrapModeCM.mat.meta deleted file mode 100644 index bb7abb296..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/WrapModeCM.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 971210cfd784741c9bfd00734bcf33c8 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/WrapModeCM1.mat b/Tests/Runtime/Export/Materials/HighDefinition/WrapModeCM1.mat deleted file mode 100644 index f908c3b39..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/WrapModeCM1.mat +++ /dev/null @@ -1,302 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-2675694125061964193 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 12 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: WrapModeCM1 - m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2225 - stringTagMap: {} - disabledShaderPasses: - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - - MOTIONVECTORS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AnisotropyMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 2800000, guid: 5d1f1dee9f31c454597e64a24efda03b, type: 3} - m_Scale: {x: 4, y: 5} - m_Offset: {x: -1.5, y: -2} - - _BentNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoatMaskMap: - 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} - - _DetailMap: - 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: 5, y: 5} - m_Offset: {x: -2, y: -2} - - _EmissiveColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 5, y: 5} - m_Offset: {x: -2, y: -2} - - _HeightMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 5d1f1dee9f31c454597e64a24efda03b, type: 3} - m_Scale: {x: 5, y: 5} - m_Offset: {x: -2, y: -2} - - _MaskMap: - 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} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapOS: - 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} - - _SpecularColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SubsurfaceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmittanceColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AORemapMax: 1 - - _AORemapMin: 0 - - _ATDistance: 1 - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.5 - - _AlphaCutoffEnable: 0 - - _AlphaCutoffPostpass: 0.5 - - _AlphaCutoffPrepass: 0.5 - - _AlphaCutoffShadow: 0.5 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _Anisotropy: 0 - - _BlendMode: 0 - - _BumpScale: 1 - - _CoatMask: 0 - - _CullMode: 2 - - _CullModeForward: 2 - - _Cutoff: 0.5 - - _DepthOffsetEnable: 0 - - _DetailAlbedoScale: 1 - - _DetailNormalMapScale: 1 - - _DetailNormalScale: 1 - - _DetailSmoothnessScale: 1 - - _DiffusionProfile: 0 - - _DiffusionProfileHash: 0 - - _DisplacementLockObjectScale: 1 - - _DisplacementLockTilingScale: 1 - - _DisplacementMode: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DoubleSidedNormalMode: 1 - - _DstBlend: 0 - - _EmissiveColorMode: 1 - - _EmissiveExposureWeight: 1 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _EnableGeometricSpecularAA: 0 - - _EnergyConservingSpecularColor: 1 - - _GlossMapScale: 1 - - _Glossiness: 1 - - _GlossyReflections: 1 - - _HeightAmplitude: 0.02 - - _HeightCenter: 0.5 - - _HeightMapParametrization: 0 - - _HeightMax: 1 - - _HeightMin: -1 - - _HeightOffset: 0 - - _HeightPoMAmplitude: 2 - - _HeightTessAmplitude: 2 - - _HeightTessCenter: 0.5 - - _InvTilingScale: 0.22222222 - - _Ior: 1.5 - - _IridescenceMask: 1 - - _IridescenceThickness: 1 - - _LinkDetailsWithBase: 0 - - _MaterialID: 1 - - _Metallic: 0 - - _MetallicRemapMax: 0 - - _MetallicRemapMin: 0 - - _Mode: 0 - - _NormalMapSpace: 0 - - _NormalScale: 1 - - _OcclusionStrength: 1 - - _OpaqueCullMode: 2 - - _PPDLodThreshold: 5 - - _PPDMaxSamples: 15 - - _PPDMinSamples: 5 - - _PPDPrimitiveLength: 1 - - _PPDPrimitiveWidth: 1 - - _Parallax: 0.02 - - _RayTracing: 0 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _Smoothness: 1 - - _SmoothnessRemapMax: 1 - - _SmoothnessRemapMin: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularAAScreenSpaceVariance: 0.1 - - _SpecularAAThreshold: 0.2 - - _SpecularHighlights: 1 - - _SpecularOcclusionMode: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SubsurfaceMask: 1 - - _SupportDecals: 1 - - _SurfaceType: 0 - - _TexWorldScale: 1 - - _TexWorldScaleEmissive: 1 - - _Thickness: 1 - - _TransmissionEnable: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UVBase: 0 - - _UVDetail: 0 - - _UVEmissive: 0 - - _UVSec: 0 - - _UseEmissiveIntensity: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 4 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} - - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} - - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] diff --git a/Tests/Runtime/Export/Materials/HighDefinition/WrapModeCM1.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/WrapModeCM1.mat.meta deleted file mode 100644 index 5b3d33318..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/WrapModeCM1.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 153f1c35da62e488d91fc8da23c92582 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/WrapModeCR.mat b/Tests/Runtime/Export/Materials/HighDefinition/WrapModeCR.mat deleted file mode 100644 index 135132866..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/WrapModeCR.mat +++ /dev/null @@ -1,302 +0,0 @@ -%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: WrapModeCR - m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2225 - stringTagMap: {} - disabledShaderPasses: - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - - MOTIONVECTORS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AnisotropyMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 2800000, guid: b674fc2c490dc4f7f9de586756a79d63, type: 3} - m_Scale: {x: 2, y: 3} - m_Offset: {x: -0.5, y: 1} - - _BentNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoatMaskMap: - 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} - - _DetailMap: - 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: 3, y: 3} - m_Offset: {x: -1, y: 1} - - _EmissiveColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 3, y: 3} - m_Offset: {x: -1, y: 1} - - _HeightMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: b674fc2c490dc4f7f9de586756a79d63, type: 3} - m_Scale: {x: 3, y: 3} - m_Offset: {x: -1, y: 1} - - _MaskMap: - 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} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapOS: - 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} - - _SpecularColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SubsurfaceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmittanceColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AORemapMax: 1 - - _AORemapMin: 0 - - _ATDistance: 1 - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.5 - - _AlphaCutoffEnable: 0 - - _AlphaCutoffPostpass: 0.5 - - _AlphaCutoffPrepass: 0.5 - - _AlphaCutoffShadow: 0.5 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _Anisotropy: 0 - - _BlendMode: 0 - - _BumpScale: 1 - - _CoatMask: 0 - - _CullMode: 2 - - _CullModeForward: 2 - - _Cutoff: 0.5 - - _DepthOffsetEnable: 0 - - _DetailAlbedoScale: 1 - - _DetailNormalMapScale: 1 - - _DetailNormalScale: 1 - - _DetailSmoothnessScale: 1 - - _DiffusionProfile: 0 - - _DiffusionProfileHash: 0 - - _DisplacementLockObjectScale: 1 - - _DisplacementLockTilingScale: 1 - - _DisplacementMode: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DoubleSidedNormalMode: 1 - - _DstBlend: 0 - - _EmissiveColorMode: 1 - - _EmissiveExposureWeight: 1 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _EnableGeometricSpecularAA: 0 - - _EnergyConservingSpecularColor: 1 - - _GlossMapScale: 1 - - _Glossiness: 1 - - _GlossyReflections: 1 - - _HeightAmplitude: 0.02 - - _HeightCenter: 0.5 - - _HeightMapParametrization: 0 - - _HeightMax: 1 - - _HeightMin: -1 - - _HeightOffset: 0 - - _HeightPoMAmplitude: 2 - - _HeightTessAmplitude: 2 - - _HeightTessCenter: 0.5 - - _InvTilingScale: 0.4 - - _Ior: 1.5 - - _IridescenceMask: 1 - - _IridescenceThickness: 1 - - _LinkDetailsWithBase: 0 - - _MaterialID: 1 - - _Metallic: 0 - - _MetallicRemapMax: 0 - - _MetallicRemapMin: 0 - - _Mode: 0 - - _NormalMapSpace: 0 - - _NormalScale: 1 - - _OcclusionStrength: 1 - - _OpaqueCullMode: 2 - - _PPDLodThreshold: 5 - - _PPDMaxSamples: 15 - - _PPDMinSamples: 5 - - _PPDPrimitiveLength: 1 - - _PPDPrimitiveWidth: 1 - - _Parallax: 0.02 - - _RayTracing: 0 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _Smoothness: 1 - - _SmoothnessRemapMax: 1 - - _SmoothnessRemapMin: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularAAScreenSpaceVariance: 0.1 - - _SpecularAAThreshold: 0.2 - - _SpecularHighlights: 1 - - _SpecularOcclusionMode: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SubsurfaceMask: 1 - - _SupportDecals: 1 - - _SurfaceType: 0 - - _TexWorldScale: 1 - - _TexWorldScaleEmissive: 1 - - _Thickness: 1 - - _TransmissionEnable: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UVBase: 0 - - _UVDetail: 0 - - _UVEmissive: 0 - - _UVSec: 0 - - _UseEmissiveIntensity: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 4 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} - - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} - - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] ---- !u!114 &7579927777049795597 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 12 diff --git a/Tests/Runtime/Export/Materials/HighDefinition/WrapModeCR.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/WrapModeCR.mat.meta deleted file mode 100644 index 056828bd5..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/WrapModeCR.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 3b57dbc43dfe441f9976437516a66057 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/WrapModeM1C.mat b/Tests/Runtime/Export/Materials/HighDefinition/WrapModeM1C.mat deleted file mode 100644 index 70f44c512..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/WrapModeM1C.mat +++ /dev/null @@ -1,302 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-7527326684561528956 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 12 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: WrapModeM1C - m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2225 - stringTagMap: {} - disabledShaderPasses: - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - - MOTIONVECTORS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AnisotropyMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 2800000, guid: e98d004f3448e4ddda4eabc19824d096, type: 3} - m_Scale: {x: 5, y: 4} - m_Offset: {x: -2, y: -1.5} - - _BentNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoatMaskMap: - 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} - - _DetailMap: - 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: 5, y: 5} - m_Offset: {x: -2, y: -2} - - _EmissiveColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 5, y: 5} - m_Offset: {x: -2, y: -2} - - _HeightMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: e98d004f3448e4ddda4eabc19824d096, type: 3} - m_Scale: {x: 5, y: 5} - m_Offset: {x: -2, y: -2} - - _MaskMap: - 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} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapOS: - 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} - - _SpecularColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SubsurfaceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmittanceColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AORemapMax: 1 - - _AORemapMin: 0 - - _ATDistance: 1 - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.5 - - _AlphaCutoffEnable: 0 - - _AlphaCutoffPostpass: 0.5 - - _AlphaCutoffPrepass: 0.5 - - _AlphaCutoffShadow: 0.5 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _Anisotropy: 0 - - _BlendMode: 0 - - _BumpScale: 1 - - _CoatMask: 0 - - _CullMode: 2 - - _CullModeForward: 2 - - _Cutoff: 0.5 - - _DepthOffsetEnable: 0 - - _DetailAlbedoScale: 1 - - _DetailNormalMapScale: 1 - - _DetailNormalScale: 1 - - _DetailSmoothnessScale: 1 - - _DiffusionProfile: 0 - - _DiffusionProfileHash: 0 - - _DisplacementLockObjectScale: 1 - - _DisplacementLockTilingScale: 1 - - _DisplacementMode: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DoubleSidedNormalMode: 1 - - _DstBlend: 0 - - _EmissiveColorMode: 1 - - _EmissiveExposureWeight: 1 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _EnableGeometricSpecularAA: 0 - - _EnergyConservingSpecularColor: 1 - - _GlossMapScale: 1 - - _Glossiness: 1 - - _GlossyReflections: 1 - - _HeightAmplitude: 0.02 - - _HeightCenter: 0.5 - - _HeightMapParametrization: 0 - - _HeightMax: 1 - - _HeightMin: -1 - - _HeightOffset: 0 - - _HeightPoMAmplitude: 2 - - _HeightTessAmplitude: 2 - - _HeightTessCenter: 0.5 - - _InvTilingScale: 0.22222222 - - _Ior: 1.5 - - _IridescenceMask: 1 - - _IridescenceThickness: 1 - - _LinkDetailsWithBase: 0 - - _MaterialID: 1 - - _Metallic: 0 - - _MetallicRemapMax: 0 - - _MetallicRemapMin: 0 - - _Mode: 0 - - _NormalMapSpace: 0 - - _NormalScale: 1 - - _OcclusionStrength: 1 - - _OpaqueCullMode: 2 - - _PPDLodThreshold: 5 - - _PPDMaxSamples: 15 - - _PPDMinSamples: 5 - - _PPDPrimitiveLength: 1 - - _PPDPrimitiveWidth: 1 - - _Parallax: 0.02 - - _RayTracing: 0 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _Smoothness: 1 - - _SmoothnessRemapMax: 1 - - _SmoothnessRemapMin: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularAAScreenSpaceVariance: 0.1 - - _SpecularAAThreshold: 0.2 - - _SpecularHighlights: 1 - - _SpecularOcclusionMode: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SubsurfaceMask: 1 - - _SupportDecals: 1 - - _SurfaceType: 0 - - _TexWorldScale: 1 - - _TexWorldScaleEmissive: 1 - - _Thickness: 1 - - _TransmissionEnable: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UVBase: 0 - - _UVDetail: 0 - - _UVEmissive: 0 - - _UVSec: 0 - - _UseEmissiveIntensity: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 4 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} - - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} - - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] diff --git a/Tests/Runtime/Export/Materials/HighDefinition/WrapModeM1C.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/WrapModeM1C.mat.meta deleted file mode 100644 index afbc0c7cd..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/WrapModeM1C.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: e92bcc9ae18394bed9500dd51fe4bd20 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/WrapModeMC.mat b/Tests/Runtime/Export/Materials/HighDefinition/WrapModeMC.mat deleted file mode 100644 index cd3d1537a..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/WrapModeMC.mat +++ /dev/null @@ -1,302 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-253644812231839531 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 12 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: WrapModeMC - m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2225 - stringTagMap: {} - disabledShaderPasses: - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - - MOTIONVECTORS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AnisotropyMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 2800000, guid: 75e499255c5264ef89148576f58a98c3, type: 3} - m_Scale: {x: 5, y: 4} - m_Offset: {x: -2, y: -1.5} - - _BentNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoatMaskMap: - 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} - - _DetailMap: - 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: 5, y: 5} - m_Offset: {x: -2, y: -2} - - _EmissiveColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 5, y: 5} - m_Offset: {x: -2, y: -2} - - _HeightMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 75e499255c5264ef89148576f58a98c3, type: 3} - m_Scale: {x: 5, y: 5} - m_Offset: {x: -2, y: -2} - - _MaskMap: - 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} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapOS: - 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} - - _SpecularColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SubsurfaceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmittanceColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AORemapMax: 1 - - _AORemapMin: 0 - - _ATDistance: 1 - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.5 - - _AlphaCutoffEnable: 0 - - _AlphaCutoffPostpass: 0.5 - - _AlphaCutoffPrepass: 0.5 - - _AlphaCutoffShadow: 0.5 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _Anisotropy: 0 - - _BlendMode: 0 - - _BumpScale: 1 - - _CoatMask: 0 - - _CullMode: 2 - - _CullModeForward: 2 - - _Cutoff: 0.5 - - _DepthOffsetEnable: 0 - - _DetailAlbedoScale: 1 - - _DetailNormalMapScale: 1 - - _DetailNormalScale: 1 - - _DetailSmoothnessScale: 1 - - _DiffusionProfile: 0 - - _DiffusionProfileHash: 0 - - _DisplacementLockObjectScale: 1 - - _DisplacementLockTilingScale: 1 - - _DisplacementMode: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DoubleSidedNormalMode: 1 - - _DstBlend: 0 - - _EmissiveColorMode: 1 - - _EmissiveExposureWeight: 1 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _EnableGeometricSpecularAA: 0 - - _EnergyConservingSpecularColor: 1 - - _GlossMapScale: 1 - - _Glossiness: 1 - - _GlossyReflections: 1 - - _HeightAmplitude: 0.02 - - _HeightCenter: 0.5 - - _HeightMapParametrization: 0 - - _HeightMax: 1 - - _HeightMin: -1 - - _HeightOffset: 0 - - _HeightPoMAmplitude: 2 - - _HeightTessAmplitude: 2 - - _HeightTessCenter: 0.5 - - _InvTilingScale: 0.22222222 - - _Ior: 1.5 - - _IridescenceMask: 1 - - _IridescenceThickness: 1 - - _LinkDetailsWithBase: 0 - - _MaterialID: 1 - - _Metallic: 0 - - _MetallicRemapMax: 0 - - _MetallicRemapMin: 0 - - _Mode: 0 - - _NormalMapSpace: 0 - - _NormalScale: 1 - - _OcclusionStrength: 1 - - _OpaqueCullMode: 2 - - _PPDLodThreshold: 5 - - _PPDMaxSamples: 15 - - _PPDMinSamples: 5 - - _PPDPrimitiveLength: 1 - - _PPDPrimitiveWidth: 1 - - _Parallax: 0.02 - - _RayTracing: 0 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _Smoothness: 1 - - _SmoothnessRemapMax: 1 - - _SmoothnessRemapMin: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularAAScreenSpaceVariance: 0.1 - - _SpecularAAThreshold: 0.2 - - _SpecularHighlights: 1 - - _SpecularOcclusionMode: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SubsurfaceMask: 1 - - _SupportDecals: 1 - - _SurfaceType: 0 - - _TexWorldScale: 1 - - _TexWorldScaleEmissive: 1 - - _Thickness: 1 - - _TransmissionEnable: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UVBase: 0 - - _UVDetail: 0 - - _UVEmissive: 0 - - _UVSec: 0 - - _UseEmissiveIntensity: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 4 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} - - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} - - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] diff --git a/Tests/Runtime/Export/Materials/HighDefinition/WrapModeMC.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/WrapModeMC.mat.meta deleted file mode 100644 index 3e4f5fd07..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/WrapModeMC.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 836064605be21413dae7a16fd04ad37d -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/HighDefinition/WrapModeRC.mat b/Tests/Runtime/Export/Materials/HighDefinition/WrapModeRC.mat deleted file mode 100644 index 2ca3b2930..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/WrapModeRC.mat +++ /dev/null @@ -1,302 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-2216148580533030715 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: da692e001514ec24dbc4cca1949ff7e8, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 12 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: WrapModeRC - m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2225 - stringTagMap: {} - disabledShaderPasses: - - TransparentDepthPrepass - - TransparentDepthPostpass - - TransparentBackface - - RayTracingPrepass - - MOTIONVECTORS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _AnisotropyMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BaseColorMap: - m_Texture: {fileID: 2800000, guid: 580c0e15a130842e28165cdc9eb717b3, type: 3} - m_Scale: {x: 3, y: 2} - m_Offset: {x: -1, y: -0.5} - - _BentNormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BentNormalMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _CoatMaskMap: - 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} - - _DetailMap: - 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: 3, y: 3} - m_Offset: {x: -1, y: -1} - - _EmissiveColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 3, y: 3} - m_Offset: {x: -1, y: -1} - - _HeightMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _IridescenceThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 580c0e15a130842e28165cdc9eb717b3, type: 3} - m_Scale: {x: 3, y: 3} - m_Offset: {x: -1, y: -1} - - _MaskMap: - 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} - - _NormalMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _NormalMapOS: - 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} - - _SpecularColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _SubsurfaceMaskMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TangentMapOS: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _ThicknessMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _TransmittanceColorMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AORemapMax: 1 - - _AORemapMin: 0 - - _ATDistance: 1 - - _AddPrecomputedVelocity: 0 - - _AlbedoAffectEmissive: 0 - - _AlphaCutoff: 0.5 - - _AlphaCutoffEnable: 0 - - _AlphaCutoffPostpass: 0.5 - - _AlphaCutoffPrepass: 0.5 - - _AlphaCutoffShadow: 0.5 - - _AlphaDstBlend: 0 - - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 - - _AlphaToMaskInspectorValue: 0 - - _Anisotropy: 0 - - _BlendMode: 0 - - _BumpScale: 1 - - _CoatMask: 0 - - _CullMode: 2 - - _CullModeForward: 2 - - _Cutoff: 0.5 - - _DepthOffsetEnable: 0 - - _DetailAlbedoScale: 1 - - _DetailNormalMapScale: 1 - - _DetailNormalScale: 1 - - _DetailSmoothnessScale: 1 - - _DiffusionProfile: 0 - - _DiffusionProfileHash: 0 - - _DisplacementLockObjectScale: 1 - - _DisplacementLockTilingScale: 1 - - _DisplacementMode: 0 - - _DoubleSidedEnable: 0 - - _DoubleSidedGIMode: 0 - - _DoubleSidedNormalMode: 1 - - _DstBlend: 0 - - _EmissiveColorMode: 1 - - _EmissiveExposureWeight: 1 - - _EmissiveIntensity: 1 - - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 - - _EnableFogOnTransparent: 1 - - _EnableGeometricSpecularAA: 0 - - _EnergyConservingSpecularColor: 1 - - _GlossMapScale: 1 - - _Glossiness: 1 - - _GlossyReflections: 1 - - _HeightAmplitude: 0.02 - - _HeightCenter: 0.5 - - _HeightMapParametrization: 0 - - _HeightMax: 1 - - _HeightMin: -1 - - _HeightOffset: 0 - - _HeightPoMAmplitude: 2 - - _HeightTessAmplitude: 2 - - _HeightTessCenter: 0.5 - - _InvTilingScale: 0.4 - - _Ior: 1.5 - - _IridescenceMask: 1 - - _IridescenceThickness: 1 - - _LinkDetailsWithBase: 0 - - _MaterialID: 1 - - _Metallic: 0 - - _MetallicRemapMax: 0 - - _MetallicRemapMin: 0 - - _Mode: 0 - - _NormalMapSpace: 0 - - _NormalScale: 1 - - _OcclusionStrength: 1 - - _OpaqueCullMode: 2 - - _PPDLodThreshold: 5 - - _PPDMaxSamples: 15 - - _PPDMinSamples: 5 - - _PPDPrimitiveLength: 1 - - _PPDPrimitiveWidth: 1 - - _Parallax: 0.02 - - _RayTracing: 0 - - _ReceivesSSR: 1 - - _ReceivesSSRTransparent: 0 - - _RefractionModel: 0 - - _Smoothness: 1 - - _SmoothnessRemapMax: 1 - - _SmoothnessRemapMin: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularAAScreenSpaceVariance: 0.1 - - _SpecularAAThreshold: 0.2 - - _SpecularHighlights: 1 - - _SpecularOcclusionMode: 1 - - _SrcBlend: 1 - - _StencilRef: 0 - - _StencilRefDepth: 8 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 - - _StencilWriteMask: 6 - - _StencilWriteMaskDepth: 8 - - _StencilWriteMaskGBuffer: 14 - - _StencilWriteMaskMV: 40 - - _SubsurfaceMask: 1 - - _SupportDecals: 1 - - _SurfaceType: 0 - - _TexWorldScale: 1 - - _TexWorldScaleEmissive: 1 - - _Thickness: 1 - - _TransmissionEnable: 1 - - _TransparentBackfaceEnable: 0 - - _TransparentCullMode: 2 - - _TransparentDepthPostpassEnable: 0 - - _TransparentDepthPrepassEnable: 0 - - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 - - _TransparentZWrite: 0 - - _UVBase: 0 - - _UVDetail: 0 - - _UVEmissive: 0 - - _UVSec: 0 - - _UseEmissiveIntensity: 0 - - _UseShadowThreshold: 0 - - _ZTestDepthEqualForOpaque: 3 - - _ZTestGBuffer: 4 - - _ZTestTransparent: 4 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} - - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} - - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} - - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} - - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} - - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} - - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} - - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] diff --git a/Tests/Runtime/Export/Materials/HighDefinition/WrapModeRC.mat.meta b/Tests/Runtime/Export/Materials/HighDefinition/WrapModeRC.mat.meta deleted file mode 100644 index 4b46a48e9..000000000 --- a/Tests/Runtime/Export/Materials/HighDefinition/WrapModeRC.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 5db95d3cded6d450c9cd847e375a2a3d -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal.meta b/Tests/Runtime/Export/Materials/Universal.meta deleted file mode 100644 index 67d9bff10..000000000 --- a/Tests/Runtime/Export/Materials/Universal.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 96170d8423f8f440ebece2834a76f593 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/BaseColorSmoothnessMetalOcclusionTexture.mat b/Tests/Runtime/Export/Materials/Universal/BaseColorSmoothnessMetalOcclusionTexture.mat deleted file mode 100644 index 39d3e9508..000000000 --- a/Tests/Runtime/Export/Materials/Universal/BaseColorSmoothnessMetalOcclusionTexture.mat +++ /dev/null @@ -1,125 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-6004385755806842239 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 5 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: BaseColorSmoothnessMetalOcclusionTexture - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_ShaderKeywords: _METALLICSPECGLOSSMAP _OCCLUSIONMAP _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 2800000, guid: 1e22bd6b46ceb4d0c99cfdb552ec8586, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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: 2800000, guid: 1e22bd6b46ceb4d0c99cfdb552ec8586, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 2800000, guid: 5ef6154092f98438eb29c2098eab2698, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OcclusionMap: - m_Texture: {fileID: 2800000, guid: 86e3dd7e20359476581017099cdcfe63, type: 3} - 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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 1 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 1 - - _SmoothnessTextureChannel: 1 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} diff --git a/Tests/Runtime/Export/Materials/Universal/BaseColorSmoothnessMetalOcclusionTexture.mat.meta b/Tests/Runtime/Export/Materials/Universal/BaseColorSmoothnessMetalOcclusionTexture.mat.meta deleted file mode 100644 index c02e96ae7..000000000 --- a/Tests/Runtime/Export/Materials/Universal/BaseColorSmoothnessMetalOcclusionTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: d704a68ccb7544514869c4babffa3a15 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/BaseColorSmoothnessMetalTexture.mat b/Tests/Runtime/Export/Materials/Universal/BaseColorSmoothnessMetalTexture.mat deleted file mode 100644 index 2a6715906..000000000 --- a/Tests/Runtime/Export/Materials/Universal/BaseColorSmoothnessMetalTexture.mat +++ /dev/null @@ -1,125 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-5308195470934059623 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 5 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: BaseColorSmoothnessMetalTexture - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_ShaderKeywords: _METALLICSPECGLOSSMAP _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 2800000, guid: 1e22bd6b46ceb4d0c99cfdb552ec8586, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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: 2800000, guid: 1e22bd6b46ceb4d0c99cfdb552ec8586, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _MetallicGlossMap: - m_Texture: {fileID: 2800000, guid: 5ef6154092f98438eb29c2098eab2698, 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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 1 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 1 - - _SmoothnessTextureChannel: 1 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} diff --git a/Tests/Runtime/Export/Materials/Universal/BaseColorSmoothnessMetalTexture.mat.meta b/Tests/Runtime/Export/Materials/Universal/BaseColorSmoothnessMetalTexture.mat.meta deleted file mode 100644 index eaa78353e..000000000 --- a/Tests/Runtime/Export/Materials/Universal/BaseColorSmoothnessMetalTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 19cea812563534bf1aa5ad640646d70f -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/BaseColorSmoothnessTexture.mat b/Tests/Runtime/Export/Materials/Universal/BaseColorSmoothnessTexture.mat deleted file mode 100644 index a776d75a5..000000000 --- a/Tests/Runtime/Export/Materials/Universal/BaseColorSmoothnessTexture.mat +++ /dev/null @@ -1,125 +0,0 @@ -%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: BaseColorSmoothnessTexture - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_ShaderKeywords: _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 2800000, guid: 1e22bd6b46ceb4d0c99cfdb552ec8586, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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: 2800000, guid: 1e22bd6b46ceb4d0c99cfdb552ec8586, type: 3} - 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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 1 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 1 - - _SmoothnessTextureChannel: 1 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} ---- !u!114 &1398761344408714802 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 5 diff --git a/Tests/Runtime/Export/Materials/Universal/BaseColorSmoothnessTexture.mat.meta b/Tests/Runtime/Export/Materials/Universal/BaseColorSmoothnessTexture.mat.meta deleted file mode 100644 index c4c4921e5..000000000 --- a/Tests/Runtime/Export/Materials/Universal/BaseColorSmoothnessTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: fdd42a21a24f643b5a6acee1e24ae167 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/BaseColorTexture.mat b/Tests/Runtime/Export/Materials/Universal/BaseColorTexture.mat deleted file mode 100644 index 1f902004c..000000000 --- a/Tests/Runtime/Export/Materials/Universal/BaseColorTexture.mat +++ /dev/null @@ -1,125 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-7469731498873269634 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 5 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: BaseColorTexture - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_ShaderKeywords: - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 2800000, guid: 767b013dd53264d2a858edf8651b320d, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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: 2800000, guid: 767b013dd53264d2a858edf8651b320d, type: 3} - 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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 1 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 1 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} diff --git a/Tests/Runtime/Export/Materials/Universal/BaseColorTexture.mat.meta b/Tests/Runtime/Export/Materials/Universal/BaseColorTexture.mat.meta deleted file mode 100644 index 3f800b24f..000000000 --- a/Tests/Runtime/Export/Materials/Universal/BaseColorTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 7f512d016ff104d1385fc16252d730a5 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/BaseColorTextureCutout.mat b/Tests/Runtime/Export/Materials/Universal/BaseColorTextureCutout.mat deleted file mode 100644 index 17ec16099..000000000 --- a/Tests/Runtime/Export/Materials/Universal/BaseColorTextureCutout.mat +++ /dev/null @@ -1,125 +0,0 @@ -%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: BaseColorTextureCutout - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_ShaderKeywords: _ALPHATEST_ON - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2450 - stringTagMap: - RenderType: TransparentCutout - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 2800000, guid: 1e22bd6b46ceb4d0c99cfdb552ec8586, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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: 2800000, guid: 1e22bd6b46ceb4d0c99cfdb552ec8586, type: 3} - 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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AlphaClip: 1 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.6 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 1 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 1 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 1 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} ---- !u!114 &6021539167131551893 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 5 diff --git a/Tests/Runtime/Export/Materials/Universal/BaseColorTextureCutout.mat.meta b/Tests/Runtime/Export/Materials/Universal/BaseColorTextureCutout.mat.meta deleted file mode 100644 index d93a6f71c..000000000 --- a/Tests/Runtime/Export/Materials/Universal/BaseColorTextureCutout.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 1bfbd706e1c884812a7b58a1a1e79d5d -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/BaseColorTextureFade.mat b/Tests/Runtime/Export/Materials/Universal/BaseColorTextureFade.mat deleted file mode 100644 index a85ed9823..000000000 --- a/Tests/Runtime/Export/Materials/Universal/BaseColorTextureFade.mat +++ /dev/null @@ -1,127 +0,0 @@ -%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: BaseColorTextureFade - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_ShaderKeywords: _SURFACE_TYPE_TRANSPARENT - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 3000 - stringTagMap: - RenderType: Transparent - disabledShaderPasses: - - DepthOnly - - SHADOWCASTER - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 2800000, guid: 1e22bd6b46ceb4d0c99cfdb552ec8586, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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: 2800000, guid: 1e22bd6b46ceb4d0c99cfdb552ec8586, type: 3} - 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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.6 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 10 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 1 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 2 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 1 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 5 - - _Surface: 1 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 0 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} ---- !u!114 &3417169372624348031 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 5 diff --git a/Tests/Runtime/Export/Materials/Universal/BaseColorTextureFade.mat.meta b/Tests/Runtime/Export/Materials/Universal/BaseColorTextureFade.mat.meta deleted file mode 100644 index 3a9557521..000000000 --- a/Tests/Runtime/Export/Materials/Universal/BaseColorTextureFade.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 479b45e70e5a7495da5c20bf951ec851 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/BaseColorTextureTransform.mat b/Tests/Runtime/Export/Materials/Universal/BaseColorTextureTransform.mat deleted file mode 100644 index 5ddccca1b..000000000 --- a/Tests/Runtime/Export/Materials/Universal/BaseColorTextureTransform.mat +++ /dev/null @@ -1,125 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-3440539231005748204 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 5 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: BaseColorTextureTransform - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_ShaderKeywords: - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 2800000, guid: 767b013dd53264d2a858edf8651b320d, type: 3} - m_Scale: {x: 1.5, y: 2} - m_Offset: {x: 0.5, y: -0.5} - - _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.5, y: 2} - m_Offset: {x: 0.5, y: -0.5} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 767b013dd53264d2a858edf8651b320d, type: 3} - m_Scale: {x: 1.5, y: 2} - m_Offset: {x: 0.5, y: -0.5} - - _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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} diff --git a/Tests/Runtime/Export/Materials/Universal/BaseColorTextureTransform.mat.meta b/Tests/Runtime/Export/Materials/Universal/BaseColorTextureTransform.mat.meta deleted file mode 100644 index 9f3abeda5..000000000 --- a/Tests/Runtime/Export/Materials/Universal/BaseColorTextureTransform.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 4138859cdfa3e40caa1f6e897456ca36 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/BaseColorTextureTransparent.mat b/Tests/Runtime/Export/Materials/Universal/BaseColorTextureTransparent.mat deleted file mode 100644 index cc94aca97..000000000 --- a/Tests/Runtime/Export/Materials/Universal/BaseColorTextureTransparent.mat +++ /dev/null @@ -1,127 +0,0 @@ -%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: BaseColorTextureTransparent - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_ShaderKeywords: _ALPHAPREMULTIPLY_ON _SURFACE_TYPE_TRANSPARENT - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 3000 - stringTagMap: - RenderType: Transparent - disabledShaderPasses: - - DepthOnly - - SHADOWCASTER - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 2800000, guid: 1e22bd6b46ceb4d0c99cfdb552ec8586, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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: 2800000, guid: 1e22bd6b46ceb4d0c99cfdb552ec8586, type: 3} - 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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AlphaClip: 0 - - _Blend: 1 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.6 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 10 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 1 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 3 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 1 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 1 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 0 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} ---- !u!114 &245373142526096269 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 5 diff --git a/Tests/Runtime/Export/Materials/Universal/BaseColorTextureTransparent.mat.meta b/Tests/Runtime/Export/Materials/Universal/BaseColorTextureTransparent.mat.meta deleted file mode 100644 index 60db420d4..000000000 --- a/Tests/Runtime/Export/Materials/Universal/BaseColorTextureTransparent.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: cdb8edde6665e4662bf6d3c55e017fb5 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/Blue.mat b/Tests/Runtime/Export/Materials/Universal/Blue.mat deleted file mode 100644 index d035a22b2..000000000 --- a/Tests/Runtime/Export/Materials/Universal/Blue.mat +++ /dev/null @@ -1,125 +0,0 @@ -%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: Blue - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_ShaderKeywords: - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0.5 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 0.09848104, g: 0.16096762, b: 0.9063317, a: 1} - - _Color: {r: 1, g: 0, b: 0, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} ---- !u!114 &2527213092197478827 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 5 diff --git a/Tests/Runtime/Export/Materials/Universal/Blue.mat.meta b/Tests/Runtime/Export/Materials/Universal/Blue.mat.meta deleted file mode 100644 index 7066cb192..000000000 --- a/Tests/Runtime/Export/Materials/Universal/Blue.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: c3c71b8e240f0479cb7ee28c8927532d -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/Dielectric 1.mat b/Tests/Runtime/Export/Materials/Universal/Dielectric 1.mat deleted file mode 100644 index e42189dbb..000000000 --- a/Tests/Runtime/Export/Materials/Universal/Dielectric 1.mat +++ /dev/null @@ -1,125 +0,0 @@ -%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: Dielectric 1 - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_ShaderKeywords: - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 1 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 1 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 0.7077749, g: 0.41981128, b: 1, a: 1} - - _Color: {r: 0.7077749, g: 0.41981125, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} ---- !u!114 &9145968103796561364 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 5 diff --git a/Tests/Runtime/Export/Materials/Universal/Dielectric 1.mat.meta b/Tests/Runtime/Export/Materials/Universal/Dielectric 1.mat.meta deleted file mode 100644 index abccebf21..000000000 --- a/Tests/Runtime/Export/Materials/Universal/Dielectric 1.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: f0517a04334384f618714051201d2ea8 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/Dielectric 2.mat b/Tests/Runtime/Export/Materials/Universal/Dielectric 2.mat deleted file mode 100644 index 3303eab17..000000000 --- a/Tests/Runtime/Export/Materials/Universal/Dielectric 2.mat +++ /dev/null @@ -1,125 +0,0 @@ -%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: Dielectric 2 - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_ShaderKeywords: - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0.75 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0.75 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 0.7077749, g: 0.41981128, b: 1, a: 1} - - _Color: {r: 0.7077749, g: 0.41981125, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} ---- !u!114 &8448435415246413029 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 5 diff --git a/Tests/Runtime/Export/Materials/Universal/Dielectric 2.mat.meta b/Tests/Runtime/Export/Materials/Universal/Dielectric 2.mat.meta deleted file mode 100644 index 52552c267..000000000 --- a/Tests/Runtime/Export/Materials/Universal/Dielectric 2.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 42be9b37b396e44c185d31c8918c9df9 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/Dielectric 3.mat b/Tests/Runtime/Export/Materials/Universal/Dielectric 3.mat deleted file mode 100644 index bfef1e037..000000000 --- a/Tests/Runtime/Export/Materials/Universal/Dielectric 3.mat +++ /dev/null @@ -1,125 +0,0 @@ -%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: Dielectric 3 - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_ShaderKeywords: - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0.5 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 0.7077749, g: 0.41981128, b: 1, a: 1} - - _Color: {r: 0.7077749, g: 0.41981125, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} ---- !u!114 &2637099967480251558 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 5 diff --git a/Tests/Runtime/Export/Materials/Universal/Dielectric 3.mat.meta b/Tests/Runtime/Export/Materials/Universal/Dielectric 3.mat.meta deleted file mode 100644 index dbcaac9f9..000000000 --- a/Tests/Runtime/Export/Materials/Universal/Dielectric 3.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: fed162dfecd5b46b48d34be99412189b -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/Dielectric 4.mat b/Tests/Runtime/Export/Materials/Universal/Dielectric 4.mat deleted file mode 100644 index f0d63affe..000000000 --- a/Tests/Runtime/Export/Materials/Universal/Dielectric 4.mat +++ /dev/null @@ -1,125 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-5356244337049342716 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 5 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Dielectric 4 - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_ShaderKeywords: - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0.25 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0.25 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 0.7077749, g: 0.41981128, b: 1, a: 1} - - _Color: {r: 0.7077749, g: 0.41981125, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} diff --git a/Tests/Runtime/Export/Materials/Universal/Dielectric 4.mat.meta b/Tests/Runtime/Export/Materials/Universal/Dielectric 4.mat.meta deleted file mode 100644 index 20acc7012..000000000 --- a/Tests/Runtime/Export/Materials/Universal/Dielectric 4.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 24abf2ec8992e4873afcb3685ef0ab34 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/Dielectric 5.mat b/Tests/Runtime/Export/Materials/Universal/Dielectric 5.mat deleted file mode 100644 index 6551995ac..000000000 --- a/Tests/Runtime/Export/Materials/Universal/Dielectric 5.mat +++ /dev/null @@ -1,125 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-6474068871453948344 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 5 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Dielectric 5 - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_ShaderKeywords: - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 0.7077749, g: 0.41981128, b: 1, a: 1} - - _Color: {r: 0.7077749, g: 0.41981125, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} diff --git a/Tests/Runtime/Export/Materials/Universal/Dielectric 5.mat.meta b/Tests/Runtime/Export/Materials/Universal/Dielectric 5.mat.meta deleted file mode 100644 index 5fa04f1f1..000000000 --- a/Tests/Runtime/Export/Materials/Universal/Dielectric 5.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 4e6e8447dc1334862b3161d93ea1702d -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/DoubleSided.mat b/Tests/Runtime/Export/Materials/Universal/DoubleSided.mat deleted file mode 100644 index 148b8705a..000000000 --- a/Tests/Runtime/Export/Materials/Universal/DoubleSided.mat +++ /dev/null @@ -1,123 +0,0 @@ -%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: DoubleSided - m_Shader: {fileID: 4800000, guid: b7839dad95683814aa64166edc107ae2, type: 3} - m_ShaderKeywords: _EMISSION - m_LightmapFlags: 0 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 1 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: - - ALWAYS - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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: - - _AlphaClip: 0 - - _Blend: 0 - - _BlendOp: 0 - - _BumpScale: 1 - - _CameraFadingEnabled: 0 - - _CameraFarFadeDistance: 2 - - _CameraNearFadeDistance: 1 - - _ColorMode: 0 - - _Cull: 0 - - _Cutoff: 0.5 - - _DetailNormalMapScale: 1 - - _DistortionBlend: 0.5 - - _DistortionEnabled: 0 - - _DistortionStrength: 1 - - _DistortionStrengthScaled: 0 - - _DstBlend: 0 - - _EmissionEnabled: 0 - - _FlipbookBlending: 0 - - _FlipbookMode: 0 - - _GlossMapScale: 1 - - _Glossiness: 0.3 - - _GlossyReflections: 1 - - _LightingEnabled: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0.3 - - _SmoothnessTextureChannel: 0 - - _SoftParticlesEnabled: 0 - - _SoftParticlesFarFadeDistance: 1 - - _SoftParticlesNearFadeDistance: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 0, g: 0.08719418, b: 1, a: 1} - - _BaseColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0} - - _CameraFadeParams: {r: 0, g: Infinity, b: 0, a: 0} - - _Color: {r: 0, g: 0.08719415, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0} ---- !u!114 &874793589373866136 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 5 diff --git a/Tests/Runtime/Export/Materials/Universal/DoubleSided.mat.meta b/Tests/Runtime/Export/Materials/Universal/DoubleSided.mat.meta deleted file mode 100644 index b83e3a0d2..000000000 --- a/Tests/Runtime/Export/Materials/Universal/DoubleSided.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 145fa7294aa6a498f9ab3fb782c4db7a -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/EmissiveFactor.mat b/Tests/Runtime/Export/Materials/Universal/EmissiveFactor.mat deleted file mode 100644 index cfad88d34..000000000 --- a/Tests/Runtime/Export/Materials/Universal/EmissiveFactor.mat +++ /dev/null @@ -1,125 +0,0 @@ -%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: EmissiveFactor - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_ShaderKeywords: _EMISSION - m_LightmapFlags: 2 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 0, g: 0, b: 0, a: 1} - - _Color: {r: 0, g: 0, b: 0, a: 1} - - _EmissionColor: {r: 1, g: 1, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} ---- !u!114 &202709836468945885 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 5 diff --git a/Tests/Runtime/Export/Materials/Universal/EmissiveFactor.mat.meta b/Tests/Runtime/Export/Materials/Universal/EmissiveFactor.mat.meta deleted file mode 100644 index 225632f13..000000000 --- a/Tests/Runtime/Export/Materials/Universal/EmissiveFactor.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: f4fddebc3bbc048e4b851aab682a3ba2 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/EmissiveTexture.mat b/Tests/Runtime/Export/Materials/Universal/EmissiveTexture.mat deleted file mode 100644 index 49c4d6a5b..000000000 --- a/Tests/Runtime/Export/Materials/Universal/EmissiveTexture.mat +++ /dev/null @@ -1,125 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-5723775323986259438 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 5 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: EmissiveTexture - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_ShaderKeywords: _EMISSION - m_LightmapFlags: 2 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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: 2800000, guid: 9c4491c9e24fa4801a5c76a13c1e44d5, type: 3} - 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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 0, g: 0, b: 0, a: 1} - - _Color: {r: 0, g: 0, b: 0, a: 1} - - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} diff --git a/Tests/Runtime/Export/Materials/Universal/EmissiveTexture.mat.meta b/Tests/Runtime/Export/Materials/Universal/EmissiveTexture.mat.meta deleted file mode 100644 index 12e42232c..000000000 --- a/Tests/Runtime/Export/Materials/Universal/EmissiveTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 64832aa2c2ca047918db9dbd6357dc0f -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/EmissiveTextureFactor.mat b/Tests/Runtime/Export/Materials/Universal/EmissiveTextureFactor.mat deleted file mode 100644 index 01682b15e..000000000 --- a/Tests/Runtime/Export/Materials/Universal/EmissiveTextureFactor.mat +++ /dev/null @@ -1,125 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-8725312173270742130 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 5 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: EmissiveTextureFactor - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_ShaderKeywords: _EMISSION - m_LightmapFlags: 2 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 2, y: 3} - m_Offset: {x: 0, y: 0} - - _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: 2800000, guid: 9c4491c9e24fa4801a5c76a13c1e44d5, type: 3} - m_Scale: {x: 2, y: 3} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 2, y: 3} - 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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 0, g: 0, b: 0, a: 1} - - _Color: {r: 0, g: 0, b: 0, a: 1} - - _EmissionColor: {r: 2, g: 1, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} diff --git a/Tests/Runtime/Export/Materials/Universal/EmissiveTextureFactor.mat.meta b/Tests/Runtime/Export/Materials/Universal/EmissiveTextureFactor.mat.meta deleted file mode 100644 index 7a8765bc2..000000000 --- a/Tests/Runtime/Export/Materials/Universal/EmissiveTextureFactor.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: ffa5efabd3e6541be8c4b17d2e3355b1 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/Green.mat b/Tests/Runtime/Export/Materials/Universal/Green.mat deleted file mode 100644 index b44ebc547..000000000 --- a/Tests/Runtime/Export/Materials/Universal/Green.mat +++ /dev/null @@ -1,125 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-4440885967809429227 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 5 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Green - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_ShaderKeywords: - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0.5 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 0, g: 1, b: 0, a: 1} - - _Color: {r: 0, g: 1, b: 0, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} diff --git a/Tests/Runtime/Export/Materials/Universal/Green.mat.meta b/Tests/Runtime/Export/Materials/Universal/Green.mat.meta deleted file mode 100644 index 5199c61c8..000000000 --- a/Tests/Runtime/Export/Materials/Universal/Green.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 13fec4340763546f99d7f0aa289eace7 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/IdenticalTextureName.mat b/Tests/Runtime/Export/Materials/Universal/IdenticalTextureName.mat deleted file mode 100644 index c67ac16b9..000000000 --- a/Tests/Runtime/Export/Materials/Universal/IdenticalTextureName.mat +++ /dev/null @@ -1,125 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-259209560840667715 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 5 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: IdenticalTextureName - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_ShaderKeywords: - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 2800000, guid: 3326e027ad30e438497b1e9501c81126, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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: 2800000, guid: 3326e027ad30e438497b1e9501c81126, type: 3} - 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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 1 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 1 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} diff --git a/Tests/Runtime/Export/Materials/Universal/IdenticalTextureName.mat.meta b/Tests/Runtime/Export/Materials/Universal/IdenticalTextureName.mat.meta deleted file mode 100644 index 21cd7e1b2..000000000 --- a/Tests/Runtime/Export/Materials/Universal/IdenticalTextureName.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 67ce2af5dc5c5495490daccfb1f066f3 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/Metallic 1.mat b/Tests/Runtime/Export/Materials/Universal/Metallic 1.mat deleted file mode 100644 index ea7b8e890..000000000 --- a/Tests/Runtime/Export/Materials/Universal/Metallic 1.mat +++ /dev/null @@ -1,125 +0,0 @@ -%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: Metallic 1 - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_ShaderKeywords: - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 1 - - _GlossyReflections: 1 - - _Metallic: 1 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 1 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} ---- !u!114 &3803719349824235544 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 5 diff --git a/Tests/Runtime/Export/Materials/Universal/Metallic 1.mat.meta b/Tests/Runtime/Export/Materials/Universal/Metallic 1.mat.meta deleted file mode 100644 index 5325f12ff..000000000 --- a/Tests/Runtime/Export/Materials/Universal/Metallic 1.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: db940ff6c08d6424c8a58bde0a583d74 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/Metallic 2.mat b/Tests/Runtime/Export/Materials/Universal/Metallic 2.mat deleted file mode 100644 index 7b630274a..000000000 --- a/Tests/Runtime/Export/Materials/Universal/Metallic 2.mat +++ /dev/null @@ -1,125 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-5848872902129635979 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 5 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Metallic 2 - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_ShaderKeywords: - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0.75 - - _GlossyReflections: 1 - - _Metallic: 1 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0.75 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} diff --git a/Tests/Runtime/Export/Materials/Universal/Metallic 2.mat.meta b/Tests/Runtime/Export/Materials/Universal/Metallic 2.mat.meta deleted file mode 100644 index 3ed1381bf..000000000 --- a/Tests/Runtime/Export/Materials/Universal/Metallic 2.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: be50ae81ad4c342ab98090ddd4a684fb -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/Metallic 3.mat b/Tests/Runtime/Export/Materials/Universal/Metallic 3.mat deleted file mode 100644 index 4a5e80d87..000000000 --- a/Tests/Runtime/Export/Materials/Universal/Metallic 3.mat +++ /dev/null @@ -1,125 +0,0 @@ -%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: Metallic 3 - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_ShaderKeywords: - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _Metallic: 1 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0.5 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} ---- !u!114 &6546204466627595198 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 5 diff --git a/Tests/Runtime/Export/Materials/Universal/Metallic 3.mat.meta b/Tests/Runtime/Export/Materials/Universal/Metallic 3.mat.meta deleted file mode 100644 index 194177d0a..000000000 --- a/Tests/Runtime/Export/Materials/Universal/Metallic 3.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 1b5a7283e05e64d78b12b3ecd9ace6aa -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/Metallic 4.mat b/Tests/Runtime/Export/Materials/Universal/Metallic 4.mat deleted file mode 100644 index 8a828cb0d..000000000 --- a/Tests/Runtime/Export/Materials/Universal/Metallic 4.mat +++ /dev/null @@ -1,125 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-4032553703830109850 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 5 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Metallic 4 - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_ShaderKeywords: - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0.25 - - _GlossyReflections: 1 - - _Metallic: 1 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0.25 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} diff --git a/Tests/Runtime/Export/Materials/Universal/Metallic 4.mat.meta b/Tests/Runtime/Export/Materials/Universal/Metallic 4.mat.meta deleted file mode 100644 index 79d3c970b..000000000 --- a/Tests/Runtime/Export/Materials/Universal/Metallic 4.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: d983e71bfed9b489dbfc061ffea67e4b -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/Metallic 5.mat b/Tests/Runtime/Export/Materials/Universal/Metallic 5.mat deleted file mode 100644 index cf8695ca5..000000000 --- a/Tests/Runtime/Export/Materials/Universal/Metallic 5.mat +++ /dev/null @@ -1,125 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-5956692381571434646 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 5 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Metallic 5 - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_ShaderKeywords: - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0 - - _GlossyReflections: 1 - - _Metallic: 1 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} diff --git a/Tests/Runtime/Export/Materials/Universal/Metallic 5.mat.meta b/Tests/Runtime/Export/Materials/Universal/Metallic 5.mat.meta deleted file mode 100644 index ebbbcf3f5..000000000 --- a/Tests/Runtime/Export/Materials/Universal/Metallic 5.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: f0dbcb6bb7e17494281577f4846f1f42 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/MetallicSmoothnessOcclusionTexture.mat b/Tests/Runtime/Export/Materials/Universal/MetallicSmoothnessOcclusionTexture.mat deleted file mode 100644 index 366779ea6..000000000 --- a/Tests/Runtime/Export/Materials/Universal/MetallicSmoothnessOcclusionTexture.mat +++ /dev/null @@ -1,125 +0,0 @@ -%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: MetallicSmoothnessOcclusionTexture - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_ShaderKeywords: _METALLICSPECGLOSSMAP _OCCLUSIONMAP - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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: 2800000, guid: 079386c5a28dd4ab09a087add2d047af, type: 3} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _OcclusionMap: - m_Texture: {fileID: 2800000, guid: 86e3dd7e20359476581017099cdcfe63, type: 3} - 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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 1 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 0.3058823, g: 0.9437239, b: 1, a: 1} - - _Color: {r: 0.30588228, g: 0.9437239, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} ---- !u!114 &5427804956108353554 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 5 diff --git a/Tests/Runtime/Export/Materials/Universal/MetallicSmoothnessOcclusionTexture.mat.meta b/Tests/Runtime/Export/Materials/Universal/MetallicSmoothnessOcclusionTexture.mat.meta deleted file mode 100644 index a0883a692..000000000 --- a/Tests/Runtime/Export/Materials/Universal/MetallicSmoothnessOcclusionTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: bd7fc9897bd6743eabac410e69f8f003 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/MetallicSmoothnessTexture.mat b/Tests/Runtime/Export/Materials/Universal/MetallicSmoothnessTexture.mat deleted file mode 100644 index 522a20fba..000000000 --- a/Tests/Runtime/Export/Materials/Universal/MetallicSmoothnessTexture.mat +++ /dev/null @@ -1,125 +0,0 @@ -%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: MetallicSmoothnessTexture - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_ShaderKeywords: _METALLICSPECGLOSSMAP - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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: 2800000, guid: 079386c5a28dd4ab09a087add2d047af, 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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 1 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 0.3058823, g: 1, b: 0.3892682, a: 1} - - _Color: {r: 0.30588228, g: 1, b: 0.38926816, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} ---- !u!114 &7458802490512862535 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 5 diff --git a/Tests/Runtime/Export/Materials/Universal/MetallicSmoothnessTexture.mat.meta b/Tests/Runtime/Export/Materials/Universal/MetallicSmoothnessTexture.mat.meta deleted file mode 100644 index caa99cd7b..000000000 --- a/Tests/Runtime/Export/Materials/Universal/MetallicSmoothnessTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 6804dcfc3cc1b415f8245ded14fe0d31 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/MetallicTexture.mat b/Tests/Runtime/Export/Materials/Universal/MetallicTexture.mat deleted file mode 100644 index 62adcbf55..000000000 --- a/Tests/Runtime/Export/Materials/Universal/MetallicTexture.mat +++ /dev/null @@ -1,125 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-6717092089560715115 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 5 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: MetallicTexture - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_ShaderKeywords: _METALLICSPECGLOSSMAP - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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: 2800000, guid: 5ef6154092f98438eb29c2098eab2698, 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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 1 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 0.3058823, g: 1, b: 0.3892682, a: 1} - - _Color: {r: 0.30588228, g: 1, b: 0.38926816, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} diff --git a/Tests/Runtime/Export/Materials/Universal/MetallicTexture.mat.meta b/Tests/Runtime/Export/Materials/Universal/MetallicTexture.mat.meta deleted file mode 100644 index ba19904b0..000000000 --- a/Tests/Runtime/Export/Materials/Universal/MetallicTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: ea021e53b78ac4b978fd67f579f874c3 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/Neutral.mat b/Tests/Runtime/Export/Materials/Universal/Neutral.mat deleted file mode 100644 index fdd3ccc6f..000000000 --- a/Tests/Runtime/Export/Materials/Universal/Neutral.mat +++ /dev/null @@ -1,110 +0,0 @@ -%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: Neutral - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_ShaderKeywords: - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} ---- !u!114 &3028040747024439798 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 2 diff --git a/Tests/Runtime/Export/Materials/Universal/Neutral.mat.meta b/Tests/Runtime/Export/Materials/Universal/Neutral.mat.meta deleted file mode 100644 index 54ddb4fde..000000000 --- a/Tests/Runtime/Export/Materials/Universal/Neutral.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: c77d9fa6390394eafb6cc4d990aaedb1 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/NormalTexture.mat b/Tests/Runtime/Export/Materials/Universal/NormalTexture.mat deleted file mode 100644 index 729f3f4d8..000000000 --- a/Tests/Runtime/Export/Materials/Universal/NormalTexture.mat +++ /dev/null @@ -1,125 +0,0 @@ -%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: NormalTexture - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_ShaderKeywords: _NORMALMAP - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _BumpMap: - m_Texture: {fileID: 2800000, guid: 3cdc0355bec344d4a9dee2cdad1e7cf3, 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: 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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1.1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0.5 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} ---- !u!114 &1341808450443349822 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 5 diff --git a/Tests/Runtime/Export/Materials/Universal/NormalTexture.mat.meta b/Tests/Runtime/Export/Materials/Universal/NormalTexture.mat.meta deleted file mode 100644 index f9b2e50dc..000000000 --- a/Tests/Runtime/Export/Materials/Universal/NormalTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: c639d1785bf0143698e8aa37c225a178 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/OcclusionTexture.mat b/Tests/Runtime/Export/Materials/Universal/OcclusionTexture.mat deleted file mode 100644 index 94287f248..000000000 --- a/Tests/Runtime/Export/Materials/Universal/OcclusionTexture.mat +++ /dev/null @@ -1,125 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-3981059382091312706 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 5 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: OcclusionTexture - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_ShaderKeywords: _OCCLUSIONMAP - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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: 2800000, guid: 86e3dd7e20359476581017099cdcfe63, type: 3} - 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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0.3 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 0.70448077, b: 0.30660376, a: 1} - - _Color: {r: 1, g: 0.70448077, b: 0.30660373, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} diff --git a/Tests/Runtime/Export/Materials/Universal/OcclusionTexture.mat.meta b/Tests/Runtime/Export/Materials/Universal/OcclusionTexture.mat.meta deleted file mode 100644 index 9bcc5e155..000000000 --- a/Tests/Runtime/Export/Materials/Universal/OcclusionTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 0a63204fdb39e4f0bbe41f3d29f7d40b -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/OcclusionTextureStrength.mat b/Tests/Runtime/Export/Materials/Universal/OcclusionTextureStrength.mat deleted file mode 100644 index e8f83f222..000000000 --- a/Tests/Runtime/Export/Materials/Universal/OcclusionTextureStrength.mat +++ /dev/null @@ -1,125 +0,0 @@ -%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: OcclusionTextureStrength - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_ShaderKeywords: _OCCLUSIONMAP - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 2, y: 1.5} - m_Offset: {x: 0, y: 0} - - _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: 2, y: 1.5} - m_Offset: {x: 0, y: 0} - - _MainTex: - m_Texture: {fileID: 0} - m_Scale: {x: 2, y: 1.5} - 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: 2800000, guid: 86e3dd7e20359476581017099cdcfe63, type: 3} - 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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 0.23 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 0.70448077, b: 0.30660376, a: 1} - - _Color: {r: 1, g: 0.70448077, b: 0.30660373, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} ---- !u!114 &7239009386135895257 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 5 diff --git a/Tests/Runtime/Export/Materials/Universal/OcclusionTextureStrength.mat.meta b/Tests/Runtime/Export/Materials/Universal/OcclusionTextureStrength.mat.meta deleted file mode 100644 index e97e3eb38..000000000 --- a/Tests/Runtime/Export/Materials/Universal/OcclusionTextureStrength.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 113955e35f8b84ae995a1acf92522ed6 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/Red.mat b/Tests/Runtime/Export/Materials/Universal/Red.mat deleted file mode 100644 index 317d8f2ef..000000000 --- a/Tests/Runtime/Export/Materials/Universal/Red.mat +++ /dev/null @@ -1,125 +0,0 @@ -%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: Red - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_ShaderKeywords: - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0.5 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 0, b: 0, a: 1} - - _Color: {r: 1, g: 0, b: 0, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} ---- !u!114 &2527213092197478827 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 5 diff --git a/Tests/Runtime/Export/Materials/Universal/Red.mat.meta b/Tests/Runtime/Export/Materials/Universal/Red.mat.meta deleted file mode 100644 index bb622c780..000000000 --- a/Tests/Runtime/Export/Materials/Universal/Red.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: af98d753eae734d93a0fe4e9132abe49 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/SmoothnessTexture.mat b/Tests/Runtime/Export/Materials/Universal/SmoothnessTexture.mat deleted file mode 100644 index 598bcc0be..000000000 --- a/Tests/Runtime/Export/Materials/Universal/SmoothnessTexture.mat +++ /dev/null @@ -1,125 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-6683662857547094187 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 5 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: SmoothnessTexture - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_ShaderKeywords: _METALLICSPECGLOSSMAP - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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: 2800000, guid: be9b3838ad12d459b97a6378956ca45f, 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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 0 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 1 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 0.3058823, g: 1, b: 0.3892682, a: 1} - - _Color: {r: 0.30588228, g: 1, b: 0.38926816, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} diff --git a/Tests/Runtime/Export/Materials/Universal/SmoothnessTexture.mat.meta b/Tests/Runtime/Export/Materials/Universal/SmoothnessTexture.mat.meta deleted file mode 100644 index 12961f339..000000000 --- a/Tests/Runtime/Export/Materials/Universal/SmoothnessTexture.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 5456568e96a8d4e079231a31d4be769a -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/Unlit.mat b/Tests/Runtime/Export/Materials/Universal/Unlit.mat deleted file mode 100644 index 8b26ecc45..000000000 --- a/Tests/Runtime/Export/Materials/Universal/Unlit.mat +++ /dev/null @@ -1,77 +0,0 @@ -%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: Unlit - m_Shader: {fileID: 10755, 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: 1, g: 0.5588886, b: 0, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Tests/Runtime/Export/Materials/Universal/Unlit.mat.meta b/Tests/Runtime/Export/Materials/Universal/Unlit.mat.meta deleted file mode 100644 index 6dcaaa015..000000000 --- a/Tests/Runtime/Export/Materials/Universal/Unlit.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: cd17093d646eb4685aecd5a9ac3cf8bb -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/UnlitTextured.mat b/Tests/Runtime/Export/Materials/Universal/UnlitTextured.mat deleted file mode 100644 index 9c3877ff0..000000000 --- a/Tests/Runtime/Export/Materials/Universal/UnlitTextured.mat +++ /dev/null @@ -1,77 +0,0 @@ -%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: UnlitTextured - m_Shader: {fileID: 10752, 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: 2800000, guid: 767b013dd53264d2a858edf8651b320d, type: 3} - 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: 1, g: 0.5588886, b: 0, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Tests/Runtime/Export/Materials/Universal/UnlitTextured.mat.meta b/Tests/Runtime/Export/Materials/Universal/UnlitTextured.mat.meta deleted file mode 100644 index 1b4d8efe0..000000000 --- a/Tests/Runtime/Export/Materials/Universal/UnlitTextured.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 48fee5ce19a0949a4b7713e670e2f973 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/UnlitTexturedTransform.mat b/Tests/Runtime/Export/Materials/Universal/UnlitTexturedTransform.mat deleted file mode 100644 index dca664b78..000000000 --- a/Tests/Runtime/Export/Materials/Universal/UnlitTexturedTransform.mat +++ /dev/null @@ -1,77 +0,0 @@ -%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: UnlitTexturedTransform - m_Shader: {fileID: 10752, 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: 2800000, guid: 767b013dd53264d2a858edf8651b320d, type: 3} - m_Scale: {x: 2, y: 1.5} - m_Offset: {x: -0.5, y: 0.5} - - _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: 1, g: 0.5588886, b: 0, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/Tests/Runtime/Export/Materials/Universal/UnlitTexturedTransform.mat.meta b/Tests/Runtime/Export/Materials/Universal/UnlitTexturedTransform.mat.meta deleted file mode 100644 index c802bbbee..000000000 --- a/Tests/Runtime/Export/Materials/Universal/UnlitTexturedTransform.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: c79b9ced2fb5b4c4f86d9b002a7854ae -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/VertexColorsUnlit.mat b/Tests/Runtime/Export/Materials/Universal/VertexColorsUnlit.mat deleted file mode 100644 index afaaec065..000000000 --- a/Tests/Runtime/Export/Materials/Universal/VertexColorsUnlit.mat +++ /dev/null @@ -1,150 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!21 &2100000 -Material: - serializedVersion: 8 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: VertexColorsUnlit - m_Shader: {fileID: 4800000, guid: 0406db5a14f94604a8c57ccfbc9f3b46, type: 3} - m_Parent: {fileID: 0} - m_ModifiedSerializedProperties: 0 - m_ValidKeywords: - - _COLORCOLOR_ON - m_InvalidKeywords: [] - m_LightmapFlags: 6 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_LockedProperties: - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - _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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Ints: [] - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BlendOp: 0 - - _BumpScale: 1 - - _CameraFadingEnabled: 0 - - _CameraFarFadeDistance: 2 - - _CameraNearFadeDistance: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _ColorMode: 4 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DistortionBlend: 0.5 - - _DistortionEnabled: 0 - - _DistortionStrength: 1 - - _DistortionStrengthScaled: 0 - - _DstBlend: 0 - - _EmissionEnabled: 0 - - _EnvironmentReflections: 1 - - _FlipbookBlending: 0 - - _FlipbookMode: 0 - - _GlossMapScale: 1 - - _Glossiness: 0.5 - - _GlossyReflections: 1 - - _LightingEnabled: 0 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 0.5 - - _SmoothnessTextureChannel: 0 - - _SoftParticlesEnabled: 0 - - _SoftParticlesFarFadeDistance: 1 - - _SoftParticlesNearFadeDistance: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _BaseColorAddSubDiff: {r: 0, g: 0, b: 0, a: 0} - - _CameraFadeParams: {r: 0, g: 0, b: 0, a: 0} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SoftParticleFadeParams: {r: 0, g: 0, b: 0, a: 0} - m_BuildTextureStacks: [] ---- !u!114 &2527213092197478827 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 6 diff --git a/Tests/Runtime/Export/Materials/Universal/VertexColorsUnlit.mat.meta b/Tests/Runtime/Export/Materials/Universal/VertexColorsUnlit.mat.meta deleted file mode 100644 index 97d11e08c..000000000 --- a/Tests/Runtime/Export/Materials/Universal/VertexColorsUnlit.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 0e4e3c6171e5f44e2a96c50c0e5430b1 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/WrapModeCC.mat b/Tests/Runtime/Export/Materials/Universal/WrapModeCC.mat deleted file mode 100644 index 7b7b601e4..000000000 --- a/Tests/Runtime/Export/Materials/Universal/WrapModeCC.mat +++ /dev/null @@ -1,126 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-9008930909091372228 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 5 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: WrapModeCC - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_ShaderKeywords: - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 2800000, guid: bbd3f185f05f844dd92970012dca4cf4, type: 3} - m_Scale: {x: 2, y: 3} - m_Offset: {x: -0.5, y: -1} - - _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: 3, y: 3} - m_Offset: {x: -1, y: -1} - - _MainTex: - m_Texture: {fileID: 2800000, guid: bbd3f185f05f844dd92970012dca4cf4, type: 3} - m_Scale: {x: 2, y: 3} - m_Offset: {x: -0.5, y: -1} - - _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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 1 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 1 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - m_BuildTextureStacks: [] diff --git a/Tests/Runtime/Export/Materials/Universal/WrapModeCC.mat.meta b/Tests/Runtime/Export/Materials/Universal/WrapModeCC.mat.meta deleted file mode 100644 index b97b1d9a1..000000000 --- a/Tests/Runtime/Export/Materials/Universal/WrapModeCC.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 38991c0aa1a5844648616aed0dc8e764 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/WrapModeCM.mat b/Tests/Runtime/Export/Materials/Universal/WrapModeCM.mat deleted file mode 100644 index 3259567a1..000000000 --- a/Tests/Runtime/Export/Materials/Universal/WrapModeCM.mat +++ /dev/null @@ -1,126 +0,0 @@ -%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: WrapModeCM - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_ShaderKeywords: - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 2800000, guid: 8397722a4633b414e8c1fd1613e3523b, type: 3} - m_Scale: {x: 4, y: 5} - m_Offset: {x: -1.5, y: -2} - - _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: 5, y: 5} - m_Offset: {x: -2, y: -2} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 8397722a4633b414e8c1fd1613e3523b, type: 3} - m_Scale: {x: 4, y: 5} - m_Offset: {x: -1.5, y: -2} - - _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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 1 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 1 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - m_BuildTextureStacks: [] ---- !u!114 &2911103509869548366 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 5 diff --git a/Tests/Runtime/Export/Materials/Universal/WrapModeCM.mat.meta b/Tests/Runtime/Export/Materials/Universal/WrapModeCM.mat.meta deleted file mode 100644 index 9b2bc82d8..000000000 --- a/Tests/Runtime/Export/Materials/Universal/WrapModeCM.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: af851d5a419ed45e5acb7c8f3dbc84c6 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/WrapModeCM1.mat b/Tests/Runtime/Export/Materials/Universal/WrapModeCM1.mat deleted file mode 100644 index 1b780f596..000000000 --- a/Tests/Runtime/Export/Materials/Universal/WrapModeCM1.mat +++ /dev/null @@ -1,126 +0,0 @@ -%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: WrapModeCM1 - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_ShaderKeywords: - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 2800000, guid: 5d1f1dee9f31c454597e64a24efda03b, type: 3} - m_Scale: {x: 4, y: 5} - m_Offset: {x: -1.5, y: -2} - - _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: 5, y: 5} - m_Offset: {x: -2, y: -2} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 5d1f1dee9f31c454597e64a24efda03b, type: 3} - m_Scale: {x: 4, y: 5} - m_Offset: {x: -1.5, y: -2} - - _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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 1 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 1 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - m_BuildTextureStacks: [] ---- !u!114 &4745830720778053344 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 5 diff --git a/Tests/Runtime/Export/Materials/Universal/WrapModeCM1.mat.meta b/Tests/Runtime/Export/Materials/Universal/WrapModeCM1.mat.meta deleted file mode 100644 index e768daf22..000000000 --- a/Tests/Runtime/Export/Materials/Universal/WrapModeCM1.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: f560134b41db542a18a3474fcf00e7d3 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/WrapModeCR.mat b/Tests/Runtime/Export/Materials/Universal/WrapModeCR.mat deleted file mode 100644 index b6a38b91a..000000000 --- a/Tests/Runtime/Export/Materials/Universal/WrapModeCR.mat +++ /dev/null @@ -1,126 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-7602023783785868385 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 5 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: WrapModeCR - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_ShaderKeywords: - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 2800000, guid: b674fc2c490dc4f7f9de586756a79d63, type: 3} - m_Scale: {x: 2, y: 3} - m_Offset: {x: -0.5, y: 1} - - _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: 3, y: 3} - m_Offset: {x: -1, y: 1} - - _MainTex: - m_Texture: {fileID: 2800000, guid: b674fc2c490dc4f7f9de586756a79d63, type: 3} - m_Scale: {x: 2, y: 3} - m_Offset: {x: -0.5, y: 1} - - _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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 1 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 1 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - m_BuildTextureStacks: [] diff --git a/Tests/Runtime/Export/Materials/Universal/WrapModeCR.mat.meta b/Tests/Runtime/Export/Materials/Universal/WrapModeCR.mat.meta deleted file mode 100644 index e85dcf968..000000000 --- a/Tests/Runtime/Export/Materials/Universal/WrapModeCR.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 21f911120c4ce47baaa6fc691b988d88 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/WrapModeM1C.mat b/Tests/Runtime/Export/Materials/Universal/WrapModeM1C.mat deleted file mode 100644 index f8b38f559..000000000 --- a/Tests/Runtime/Export/Materials/Universal/WrapModeM1C.mat +++ /dev/null @@ -1,126 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-7572838053959633093 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 5 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: WrapModeM1C - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_ShaderKeywords: - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 2800000, guid: e98d004f3448e4ddda4eabc19824d096, type: 3} - m_Scale: {x: 5, y: 4} - m_Offset: {x: -2, y: -1.5} - - _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: 5, y: 5} - m_Offset: {x: -2, y: -2} - - _MainTex: - m_Texture: {fileID: 2800000, guid: e98d004f3448e4ddda4eabc19824d096, type: 3} - m_Scale: {x: 5, y: 4} - m_Offset: {x: -2, y: -1.5} - - _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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 1 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 1 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - m_BuildTextureStacks: [] diff --git a/Tests/Runtime/Export/Materials/Universal/WrapModeM1C.mat.meta b/Tests/Runtime/Export/Materials/Universal/WrapModeM1C.mat.meta deleted file mode 100644 index 1a00f5f4a..000000000 --- a/Tests/Runtime/Export/Materials/Universal/WrapModeM1C.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: c047993339e4f48d886689b78a2692fc -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/WrapModeMC.mat b/Tests/Runtime/Export/Materials/Universal/WrapModeMC.mat deleted file mode 100644 index 60bf987fe..000000000 --- a/Tests/Runtime/Export/Materials/Universal/WrapModeMC.mat +++ /dev/null @@ -1,126 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!114 &-8976129564129456699 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 5 ---- !u!21 &2100000 -Material: - serializedVersion: 6 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: WrapModeMC - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_ShaderKeywords: - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 2800000, guid: 75e499255c5264ef89148576f58a98c3, type: 3} - m_Scale: {x: 5, y: 4} - m_Offset: {x: -2, y: -1.5} - - _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: 5, y: 5} - m_Offset: {x: -2, y: -2} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 75e499255c5264ef89148576f58a98c3, type: 3} - m_Scale: {x: 5, y: 4} - m_Offset: {x: -2, y: -1.5} - - _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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 1 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 1 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - m_BuildTextureStacks: [] diff --git a/Tests/Runtime/Export/Materials/Universal/WrapModeMC.mat.meta b/Tests/Runtime/Export/Materials/Universal/WrapModeMC.mat.meta deleted file mode 100644 index 1336a07d4..000000000 --- a/Tests/Runtime/Export/Materials/Universal/WrapModeMC.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 25ed749be2bff4d42893af0064755063 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Materials/Universal/WrapModeRC.mat b/Tests/Runtime/Export/Materials/Universal/WrapModeRC.mat deleted file mode 100644 index dab76e4cc..000000000 --- a/Tests/Runtime/Export/Materials/Universal/WrapModeRC.mat +++ /dev/null @@ -1,126 +0,0 @@ -%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: WrapModeRC - m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3} - m_ShaderKeywords: - m_LightmapFlags: 4 - m_EnableInstancingVariants: 0 - m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 - stringTagMap: - RenderType: Opaque - disabledShaderPasses: [] - m_SavedProperties: - serializedVersion: 3 - m_TexEnvs: - - _BaseMap: - m_Texture: {fileID: 2800000, guid: 580c0e15a130842e28165cdc9eb717b3, type: 3} - m_Scale: {x: 3, y: 2} - m_Offset: {x: -1, y: -0.5} - - _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: 3, y: 3} - m_Offset: {x: -1, y: -1} - - _MainTex: - m_Texture: {fileID: 2800000, guid: 580c0e15a130842e28165cdc9eb717b3, type: 3} - m_Scale: {x: 3, y: 2} - m_Offset: {x: -1, y: -0.5} - - _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} - - _SpecGlossMap: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_Lightmaps: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_LightmapsInd: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - - unity_ShadowMasks: - m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} - m_Offset: {x: 0, y: 0} - m_Floats: - - _AlphaClip: 0 - - _Blend: 0 - - _BumpScale: 1 - - _ClearCoatMask: 0 - - _ClearCoatSmoothness: 0 - - _Cull: 2 - - _Cutoff: 0.5 - - _DetailAlbedoMapScale: 1 - - _DetailNormalMapScale: 1 - - _DstBlend: 0 - - _EnvironmentReflections: 1 - - _GlossMapScale: 1 - - _Glossiness: 1 - - _GlossyReflections: 1 - - _Metallic: 0 - - _Mode: 0 - - _OcclusionStrength: 1 - - _Parallax: 0.02 - - _QueueOffset: 0 - - _ReceiveShadows: 1 - - _Smoothness: 1 - - _SmoothnessTextureChannel: 0 - - _SpecularHighlights: 1 - - _SrcBlend: 1 - - _Surface: 0 - - _UVSec: 0 - - _WorkflowMode: 1 - - _ZWrite: 1 - m_Colors: - - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - - _Color: {r: 1, g: 1, b: 1, a: 1} - - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - m_BuildTextureStacks: [] ---- !u!114 &5869603457252517233 -MonoBehaviour: - m_ObjectHideFlags: 11 - 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: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} - m_Name: - m_EditorClassIdentifier: - version: 5 diff --git a/Tests/Runtime/Export/Materials/Universal/WrapModeRC.mat.meta b/Tests/Runtime/Export/Materials/Universal/WrapModeRC.mat.meta deleted file mode 100644 index e87d8bfc2..000000000 --- a/Tests/Runtime/Export/Materials/Universal/WrapModeRC.mat.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 3cd4d5a95ba684cbfb309278a96a0553 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 2100000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Models.meta b/Tests/Runtime/Export/Models.meta deleted file mode 100644 index e0c9612cf..000000000 --- a/Tests/Runtime/Export/Models.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 4cbf4fe20c748428d9697cccb202670a -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Models/AsymBoundsCube.mesh b/Tests/Runtime/Export/Models/AsymBoundsCube.mesh deleted file mode 100644 index d59544082..000000000 --- a/Tests/Runtime/Export/Models/AsymBoundsCube.mesh +++ /dev/null @@ -1,166 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!43 &4300000 -Mesh: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: AsymBoundsCube - serializedVersion: 10 - m_SubMeshes: - - serializedVersion: 2 - firstByte: 0 - indexCount: 36 - topology: 0 - baseVertex: 0 - firstVertex: 0 - vertexCount: 24 - localAABB: - m_Center: {x: 0.10000001, y: 0.050000012, z: 0.100000024} - m_Extent: {x: 0.2, y: 0.55, z: 0.3} - m_Shapes: - vertices: [] - shapes: [] - channels: [] - fullWeights: [] - m_BindPose: [] - m_BoneNameHashes: - m_RootBoneNameHash: 0 - m_BonesAABB: [] - m_VariableBoneCountWeights: - m_Data: - m_MeshCompression: 0 - m_IsReadable: 1 - m_KeepVertices: 0 - m_KeepIndices: 0 - m_IndexFormat: 1 - m_IndexBuffer: 00000000090000000300000000000000060000000900000008000000150000000a000000080000001300000015000000140000001100000017000000140000000e000000110000000d000000040000000f0000000d0000000200000004000000070000000c0000001200000007000000010000000c00000016000000050000000b000000160000001000000005000000 - m_VertexData: - serializedVersion: 3 - m_VertexCount: 24 - m_Channels: - - stream: 0 - offset: 0 - format: 0 - dimension: 3 - - stream: 0 - offset: 12 - format: 0 - dimension: 3 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 1 - offset: 0 - format: 0 - dimension: 2 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - m_DataSize: 768 - _typelessdata: 9a99993e000000bfcdcccc3e0000803f00000000000000009a99993e000000bfcdcccc3e00000080000080bf000000809a99993e000000bfcdcccc3e0000008000000000ffff7f3f9a99993e9a99193fcdcccc3e0000803f00000000000000009a99993e9a99193fcdcccc3e0000008000000000ffff7f3f9a99993e9a99193fcdcccc3e000000800000803f000000009a99993e000000bfcccc4cbe0000803f00000000000000009a99993e000000bfcccc4cbe00000080000080bf000000809a99993e000000bfcccc4cbe0000008000000000ffff7fbf9a99993e9a99193fcccc4cbe0000803f00000000000000009a99993e9a99193fcccc4cbe0000008000000000ffff7fbf9a99993e9a99193fcccc4cbe000000800000803f00000000ccccccbd000000bfcdcccc3e00000080000080bf00000080ccccccbd000000bfcdcccc3e0000008000000000ffff7f3fccccccbd000000bfcdcccc3e000080bf0000000000000000ccccccbd9a99193fcdcccc3e0000008000000000ffff7f3fccccccbd9a99193fcdcccc3e000000800000803f00000000ccccccbd9a99193fcdcccc3e000080bf0000000000000000ccccccbd000000bfcccc4cbe00000080000080bf00000080ccccccbd000000bfcccc4cbe0000008000000000ffff7fbfccccccbd000000bfcccc4cbe000080bf0000000000000000ccccccbd9a99193fcccc4cbe0000008000000000ffff7fbfccccccbd9a99193fcccc4cbe000000800000803f00000000ccccccbd9a99193fcccc4cbe000080bf00000000000000000000c03e000000000000003e0000403f0000c03e0000803f0000203f000000000000203f0000803f0000603f0000403f0000c03e0000803e0000003e0000003f0000c03e0000803e0000203f0000803e0000203f0000803e0000603f0000003f0000c03e0000403f0000c03e0000403f0000c03e0000403f0000203f0000403f0000203f0000403f0000203f0000403f0000c03e0000003f0000c03e0000003f0000c03e0000003f0000203f0000003f0000203f0000003f0000203f0000003f - m_CompressedMesh: - m_Vertices: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_UV: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_Normals: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_Tangents: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_Weights: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_NormalSigns: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_TangentSigns: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_FloatColors: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_BoneIndices: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_Triangles: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_UVInfo: 0 - m_LocalAABB: - m_Center: {x: 0.10000001, y: 0.050000012, z: 0.100000024} - m_Extent: {x: 0.2, y: 0.55, z: 0.3} - m_MeshUsageFlags: 0 - m_BakedConvexCollisionMesh: - m_BakedTriangleCollisionMesh: - m_MeshMetrics[0]: 1 - m_MeshMetrics[1]: 1 - m_MeshOptimizationFlags: 1 - m_StreamData: - serializedVersion: 2 - offset: 0 - size: 0 - path: diff --git a/Tests/Runtime/Export/Models/AsymBoundsCube.mesh.meta b/Tests/Runtime/Export/Models/AsymBoundsCube.mesh.meta deleted file mode 100644 index a5a8bb71f..000000000 --- a/Tests/Runtime/Export/Models/AsymBoundsCube.mesh.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: af6bfba6721934ddea534920da04894f -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 4300000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Models/Cube.mesh b/Tests/Runtime/Export/Models/Cube.mesh deleted file mode 100644 index fbe75ab3f..000000000 --- a/Tests/Runtime/Export/Models/Cube.mesh +++ /dev/null @@ -1,166 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!43 &4300000 -Mesh: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Cube - serializedVersion: 10 - m_SubMeshes: - - serializedVersion: 2 - firstByte: 0 - indexCount: 36 - topology: 0 - baseVertex: 0 - firstVertex: 0 - vertexCount: 24 - localAABB: - m_Center: {x: 0, y: 0, z: 0} - m_Extent: {x: 0.5, y: 0.5, z: 0.5} - m_Shapes: - vertices: [] - shapes: [] - channels: [] - fullWeights: [] - m_BindPose: [] - m_BoneNameHashes: - m_RootBoneNameHash: 0 - m_BonesAABB: [] - m_VariableBoneCountWeights: - m_Data: - m_MeshCompression: 0 - m_IsReadable: 1 - m_KeepVertices: 0 - m_KeepIndices: 0 - m_IndexFormat: 1 - m_IndexBuffer: 000000000200000001000000010000000300000000000000040000000600000005000000070000000600000004000000080000000a000000090000000b00000008000000090000000c0000000e0000000d0000000d0000000f0000000c000000100000001200000011000000100000001300000012000000140000001600000015000000140000001700000016000000 - m_VertexData: - serializedVersion: 3 - m_VertexCount: 24 - m_Channels: - - stream: 0 - offset: 0 - format: 0 - dimension: 3 - - stream: 0 - offset: 12 - format: 0 - dimension: 3 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 1 - offset: 0 - format: 0 - dimension: 4 - - stream: 2 - offset: 0 - format: 0 - dimension: 2 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - m_DataSize: 1152 - _typelessdata: 0000003f0000003f000000bf000000800000803f00000000000000bf0000003f0000003f000000800000803f00000000000000bf0000003f000000bf000000800000803f000000000000003f0000003f0000003f000000800000803f000000000000003f0000003f0000003f0000803f00000000000000000000003f0000003f000000bf0000803f00000000000000000000003f000000bf000000bf0000803f00000000000000000000003f000000bf0000003f0000803f0000000000000000000000bf0000003f0000003f00000080000000000000803f0000003f000000bf0000003f00000080000000000000803f000000bf000000bf0000003f00000080000000000000803f0000003f0000003f0000003f00000080000000000000803f000000bf0000003f000000bf000080bf0000000000000000000000bf000000bf0000003f000080bf0000000000000000000000bf000000bf000000bf000080bf0000000000000000000000bf0000003f0000003f000080bf0000000000000000000000bf000000bf000000bf0000008000000000000080bf0000003f000000bf000000bf0000008000000000000080bf0000003f0000003f000000bf0000008000000000000080bf000000bf0000003f000000bf0000008000000000000080bf000000bf000000bf0000003f00000080000080bf000000000000003f000000bf0000003f00000080000080bf000000000000003f000000bf000000bf00000080000080bf00000000000000bf000000bf000000bf00000080000080bf000000001de906307a7a253cfeff7f3f51d2273011ed7f3f52359b3aad31ca3c9b13c13aefcb4d3f5cca4d3f41cb4d3f0000803fdecb023f8cff7f3fa017ee37c2161438decb023f8cff7f3fa017ee37c21614381de906307a7a253cfeff7f3f51d22730eaf47f3f08c3353a8d4ac63cd31b623aefcb4d3f5cca4d3f41cb4d3f0000803f11ed7f3f52359b3aad31ca3c9b13c13aefcb4d3f5cca4d3f41cb4d3f0000803fa6e6233bab96063e04d87f3f4ce24b3bdecb023f8cff7f3fa017ee37c2161438efcb4d3f5cca4d3f41cb4d3f0000803fa6e6233bab96063e04d87f3f4ce24b3b12008f3ce4e87e3f1760b93e7be2b13c11ed7f3f52359b3aad31ca3c9b13c13a12008f3ce4e87e3f1760b93e7be2b13ceaf47f3f08c3353a8d4ac63cd31b623a1de906307a7a253cfeff7f3f51d22730efcb4d3f5cca4d3f41cb4d3f0000803fa6e6233bab96063e04d87f3f4ce24b3befcb4d3f5cca4d3f41cb4d3f0000803feaf47f3f08c3353a8d4ac63cd31b623a12008f3ce4e87e3f1760b93e7be2b13c0000803e0000803f0000003fabaa2a3f0000003f0000803f0000803eabaa2a3f0000803eabaa2a3f00000000abaa2a3f00000000acaaaa3e0000803eacaaaa3e0000003fabaa2a3f0000803eacaaaa3e0000003facaaaa3e0000803eabaa2a3f0000403fabaa2a3f0000003facaaaa3e0000403facaaaa3e0000003fabaa2a3f0000403facaaaa3e0000803facaaaa3e0000803fabaa2a3f0000403fabaa2a3f0000003facaaaa3e0000803eacaaaa3e0000803e000000000000003f00000000 - m_CompressedMesh: - m_Vertices: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_UV: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_Normals: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_Tangents: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_Weights: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_NormalSigns: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_TangentSigns: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_FloatColors: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_BoneIndices: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_Triangles: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_UVInfo: 0 - m_LocalAABB: - m_Center: {x: 0, y: 0, z: 0} - m_Extent: {x: 0.5, y: 0.5, z: 0.5} - m_MeshUsageFlags: 0 - m_BakedConvexCollisionMesh: - m_BakedTriangleCollisionMesh: - m_MeshMetrics[0]: 1 - m_MeshMetrics[1]: 1 - m_MeshOptimizationFlags: 1 - m_StreamData: - serializedVersion: 2 - offset: 0 - size: 0 - path: diff --git a/Tests/Runtime/Export/Models/Cube.mesh.meta b/Tests/Runtime/Export/Models/Cube.mesh.meta deleted file mode 100644 index 51cd6a76b..000000000 --- a/Tests/Runtime/Export/Models/Cube.mesh.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 00a1677cb89154244900d5fd23969c83 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 4300000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Models/Plane.mesh b/Tests/Runtime/Export/Models/Plane.mesh deleted file mode 100644 index 97d21cd8a..000000000 --- a/Tests/Runtime/Export/Models/Plane.mesh +++ /dev/null @@ -1,166 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!43 &4300000 -Mesh: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Plane - serializedVersion: 10 - m_SubMeshes: - - serializedVersion: 2 - firstByte: 0 - indexCount: 6 - topology: 0 - baseVertex: 0 - firstVertex: 0 - vertexCount: 4 - localAABB: - m_Center: {x: 0, y: 0, z: 0} - m_Extent: {x: 0.5, y: 0, z: 0.5} - m_Shapes: - vertices: [] - shapes: [] - channels: [] - fullWeights: [] - m_BindPose: [] - m_BoneNameHashes: - m_RootBoneNameHash: 0 - m_BonesAABB: [] - m_VariableBoneCountWeights: - m_Data: - m_MeshCompression: 0 - m_IsReadable: 1 - m_KeepVertices: 0 - m_KeepIndices: 0 - m_IndexFormat: 1 - m_IndexBuffer: 030000000000000002000000030000000100000000000000 - m_VertexData: - serializedVersion: 3 - m_VertexCount: 4 - m_Channels: - - stream: 0 - offset: 0 - format: 0 - dimension: 3 - - stream: 0 - offset: 12 - format: 0 - dimension: 3 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 1 - offset: 0 - format: 0 - dimension: 2 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - m_DataSize: 128 - _typelessdata: 000000bf00000000000000bf000000800000803f000000800000003f00000000000000bf000000800000803f00000080000000bf000000000000003f000000800000803f000000800000003f000000000000003f000000800000803f0000008000000000000000000000803f00000000000000000000803f0000803f0000803f - m_CompressedMesh: - m_Vertices: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_UV: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_Normals: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_Tangents: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_Weights: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_NormalSigns: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_TangentSigns: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_FloatColors: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_BoneIndices: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_Triangles: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_UVInfo: 0 - m_LocalAABB: - m_Center: {x: 0, y: 0, z: 0} - m_Extent: {x: 0.5, y: 0, z: 0.5} - m_MeshUsageFlags: 0 - m_BakedConvexCollisionMesh: - m_BakedTriangleCollisionMesh: - m_MeshMetrics[0]: 1 - m_MeshMetrics[1]: 1 - m_MeshOptimizationFlags: 1 - m_StreamData: - serializedVersion: 2 - offset: 0 - size: 0 - path: diff --git a/Tests/Runtime/Export/Models/Plane.mesh.meta b/Tests/Runtime/Export/Models/Plane.mesh.meta deleted file mode 100644 index 47e8237e7..000000000 --- a/Tests/Runtime/Export/Models/Plane.mesh.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 8d3a3f6dd59ab419baf067a12c03d313 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 4300000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Models/PointCloud.mesh b/Tests/Runtime/Export/Models/PointCloud.mesh deleted file mode 100644 index 30d821ea4..000000000 --- a/Tests/Runtime/Export/Models/PointCloud.mesh +++ /dev/null @@ -1,166 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!43 &4300000 -Mesh: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: PointCloud - serializedVersion: 10 - m_SubMeshes: - - serializedVersion: 2 - firstByte: 0 - indexCount: 114 - topology: 5 - baseVertex: 0 - firstVertex: 0 - vertexCount: 114 - localAABB: - m_Center: {x: 0, y: 0, z: 0.00000017881393} - m_Extent: {x: 1, y: 1, z: 1} - m_Shapes: - vertices: [] - shapes: [] - channels: [] - fullWeights: [] - m_BindPose: [] - m_BoneNameHashes: - m_RootBoneNameHash: 0 - m_BonesAABB: [] - m_VariableBoneCountWeights: - m_Data: - m_MeshCompression: 0 - m_IsReadable: 1 - m_KeepVertices: 0 - m_KeepIndices: 0 - m_IndexFormat: 1 - m_IndexBuffer: 000000000100000002000000030000000400000005000000060000000700000008000000090000000a0000000b0000000c0000000d0000000e0000000f000000100000001100000012000000130000001400000015000000160000001700000018000000190000001a0000001b0000001c0000001d0000001e0000001f000000200000002100000022000000230000002400000025000000260000002700000028000000290000002a0000002b0000002c0000002d0000002e0000002f000000300000003100000032000000330000003400000035000000360000003700000038000000390000003a0000003b0000003c0000003d0000003e0000003f000000400000004100000042000000430000004400000045000000460000004700000048000000490000004a0000004b0000004c0000004d0000004e0000004f000000500000005100000052000000530000005400000055000000560000005700000058000000590000005a0000005b0000005c0000005d0000005e0000005f000000600000006100000062000000630000006400000065000000660000006700000068000000690000006a0000006b0000006c0000006d0000006e0000006f0000007000000071000000 - m_VertexData: - serializedVersion: 3 - m_VertexCount: 114 - m_Channels: - - stream: 0 - offset: 0 - format: 0 - dimension: 3 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - m_DataSize: 1368 - _typelessdata: 00000080f304353ff30435bf0000008015efc33e5e836cbf0000008014efc3be5f836cbf000000805e836cbf17efc3be1df615be5e836c3ff404b5bed58b8abef304353f743d27bff504b5be15efc33e79825abf17efc3be2ebd3bb35e836cbff504b5be14efc3be7a825abfd58b8abef30435bf743d27bf1ef615be5e836cbff404b5bed78b8abe5e836c3fd48b8abe010000bff304353ffeffffbe773d27bf15efc33e743d27bff50435bf2ebd3bb3f20435bf773d27bf14efc3be743d27bf010000bff30435bffeffffbed78b8abe5e836cbfd38b8abef704b5be5e836c3f17f615be763d27bff304353fd08b8abe7d825abf15efc33ef004b5be61836cbf2ebd3bb310efc3be7d825abf14efc3bef004b5be763d27bff30435bfd08b8abef704b5be5e836cbf15f615be19efc3be5e836c3f714ace33f50435bff304353f3825473461836cbf15efc33e38256734000080bf2ebd3bb39c92833461836cbf14efc3be38256734f50435bff30435bf3825473419efc3be5e836cbf38250734f604b5be5e836c3f23f6153e763d27bff304353fdc8b8a3e7b825abf15efc33efd04b53e5d836cbf2ebd3bb31eefc33e7b825abf14efc3befd04b53e763d27bff30435bfdc8b8a3ef504b5be5e836cbf25f6153ed58b8abe5e836c3fda8b8a3e010000bff304353f0400003f743d27bf15efc33e7a3d273ff10435bf2ebd3bb3f704353f743d27bf14efc3be7a3d273f010000bff30435bf0400003fd48b8abe5e836cbfda8b8a3e18f615be5e836c3ff904b53ed38b8abef304353f783d273fee04b5be15efc33e7e825a3f0eefc3be2ebd3bb362836c3fee04b5be14efc3be7e825a3fd38b8abef30435bf783d273f16f615be5e836cbff804b53e000020290000803f2ebd3b34c82798335e836c3f1aefc33ec827b833f304353ff604353ff2098e3415efc33e61836c3ff2099e342ebd3bb30100803ff2098e3414efc3be61836c3fc827b833f30435bff604353fc827b8335e836cbf19efc33e20f6153e5e836c3ff604b53ed98b8a3ef304353f763d273ffd04b53e15efc33e79825a3f20efc33e2ebd3bb35e836c3ffd04b53e14efc3be79825a3fd98b8a3ef30435bf763d273f20f6153e5e836cbff504b53ed78b8a3e5e836c3fd58b8a3e0200003ff304353f0000003f783d273f15efc33e723d273ff704353f2ebd3bb3f004353f783d273f14efc3be723d273f0200003ff30435bf0000003fd78b8a3e5e836cbfd48b8a3e00000080000080bf2ebdbb33f604b53e5e836c3f19f6153e753d273ff304353fd28b8a3e7a825a3f15efc33eeb04b53e60836c3f2ebd3bb30befc33e7a825a3f14efc3beeb04b53e753d273ff30435bfd28b8a3ef504b53e5e836cbf17f6153e17efc33e5e836c3f1e6b63b3f204353ff304353f8fb5b1b35b836c3f15efc33e646d8cb4ffff7f3f2ebd3bb3646dbcb45b836c3f14efc3be646d8cb4f204353ff30435bf8fb5b1b315efc33e5e836cbf8fb591b3f204b53e5e836c3f1ff615be713d273ff304353fd78b8abe73825a3f15efc33ef904b5be5a836c3f2ebd3bb320efc3be73825a3f14efc3bef904b5be713d273ff30435bfd78b8abef104b53e5e836cbf1ef615bed08b8a3e5e836c3fd68b8abef7ffff3ef304353f000000bf6c3d273f15efc33e753d27bfeb04353f2ebd3bb3f70435bf6c3d273f14efc3be753d27bff7ffff3ef30435bf000000bfcf8b8a3e5e836cbfd68b8abe0ef6153e5e836c3ff404b5beca8b8a3ef304353f733d27bfe004b53e15efc33e77825abf02efc33e2ebd3bb35f836cbfe004b53e14efc3be77825abfca8b8a3ef30435bf733d27bf0cf6153e5e836cbff404b5be1cec63b45e836c3f14efc3be07fb20b52ebd3bb3fdff7fbf0ef6a1b4f30435bff00435bf - m_CompressedMesh: - m_Vertices: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_UV: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_Normals: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_Tangents: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_Weights: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_NormalSigns: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_TangentSigns: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_FloatColors: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_BoneIndices: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_Triangles: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_UVInfo: 0 - m_LocalAABB: - m_Center: {x: 0, y: 0, z: 0.00000017881393} - m_Extent: {x: 1, y: 1, z: 1} - m_MeshUsageFlags: 0 - m_BakedConvexCollisionMesh: - m_BakedTriangleCollisionMesh: - m_MeshMetrics[0]: 1 - m_MeshMetrics[1]: 1 - m_MeshOptimizationFlags: 1 - m_StreamData: - serializedVersion: 2 - offset: 0 - size: 0 - path: diff --git a/Tests/Runtime/Export/Models/PointCloud.mesh.meta b/Tests/Runtime/Export/Models/PointCloud.mesh.meta deleted file mode 100644 index 81a4cc789..000000000 --- a/Tests/Runtime/Export/Models/PointCloud.mesh.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 8e18b33640fbb46a59129a6c565c14f1 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 4300000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Models/QuadCube.fbx b/Tests/Runtime/Export/Models/QuadCube.fbx deleted file mode 100644 index 64d6e30812eb9a35cf578c2b5cb4cb5fe522944f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18108 zcmc&+Yj7mhb#B3GCG9Q?EQFUA5U*Vp*p>Fh@>*7-*RF!J5*kT70)f^{OKKQR4?R7* z5>UqAA|Yk6u5v<%AtVki2M4mTDHl!!Lz&>1cLF#RBz8zbU@6unHc&-)`H}Ct_w>vi z&2-O5`jK1oPIupXzI*OD=bm%=bc;*u*|hE3t-YO>w|2T&+n;T1wN9|!S#4PZO;)k3 zLjNwuPCI_jOyFemu9v+Eoeek|aU4zl_WkTo%bGDpEW?PfkKli5^sVg4ru^Al z0J@RcoYRLc>sCTbJF?4nY}M;dJITPF&b^49aPFoeET%kQbS$~TvHiXSSj8`myNv^0 zHkj&LhFeDhB1Ac~+n((^95>e*H<#@43cg}zhjDl5fSWA@PTx9=zRbLzbW&b6-A920 z#{K03ZYJaAbthRVYd?^Y8*sNtE!6Xqgzn5ZS;)Kf%zR*vXB?%WzQJ{^>svQ%IDhko zEjZb-Vbi7!?HyR*As|?bqa~SgvQA%i!b|=ZE_Y_UaXZ6HtD)4>jGocF<9FMEeG(|a zfpr*;C6s>B?A<24TvAcaXZu;$T&$7-(}oxN*2bib5eoo z*l%t>Ydu*95K$fh+L=(VBk-4kN^h5Lh=5WU&~V%xMP6aN&Io+VH9H4Jln}!kB_Srs zY5T@D{I~J^ZSAe??H8#3Hng|5?-OWI?vW;RubXjV)=zsf%;X<{gk@W2;DA6|@Y8SS zgQUI3Nk?dRHI`_si()F0EKzVz@BI6w0{XZ`HEr@!#z_n-OpS$}=@FW-Mq#&OLn z%7Po^Mf+Ocz7hYmZWJqnt+l@^L<}lccu2_BYchsmA#*3Q@uUZY z^c+pf&C%;4n8!~F_ivqsvE;Q~Q!>_-C~MApwNM-Lc6o?A@$+I1>)y(FOO!R|{jpGQ z)Lb)WgdVGwq<@2UB4o=&Z`I`V;B&}pa*z^;^E3q0qtUDzBvW?A>9tb!Dmv2Xem!mNb*+ROILZUW=)HjC|#@*xm zfxw-Cek_?hF}@6VX(vhl?qmzorP$KPDDa$+Y}O>?fF#MBokhy)2Wl;ss9Qu(C-_xS zoxj#Hh=NPlgadO@FeLyl7fJu^*WP)8+i*ze4P|!~@_{$q>q7*?2$8jweO?EEBHI02 zlC+jE^U2?hSwqLu*oDj@P;TNb3}!xc8jj|0aDVGjA9Adv1bS(~PInc?b;256TxU#D z=B`$wgK}GgL!^^La-VVrb=pZg_DUJ3QqI+&p+rR`N8vP~)SJk<(@;w4`k2Uv!R74^ zppkp*YO8tJ^Mc*5hW_#~)vlg0mb7fxnQ(k3n{x7HLtordx?B#!b+NCI0OvoFIk}3W zTTkO+CA`TTu~Pz9$!#umnU;)tCZO*r4;X`$07^9&SZwzr_VFecV4`t5>~y?oC-7(Q zu8wn;kkX2ekbHc0#F@@zXouYYz2h?jPJZeR##d=&3O^IxisKSEpm0i{wu89mt852% zbXT0*C~(~xj>w&z-V7cEl`)QC-+TV%ZnZ`9MG`~eT+Ry-i1y4v5nCV&uComXmQ0U7 z+rXRxt(YTv&gIVQ&#ywA-Q!vI-J1!x_XK7;UtP81UzBM^zr@g)TD7u@3?i@{r zMOnj6%7GKCMTwF1w4T$o712kTR>YOkp=N#z4(8Z0FV7RYSQFwNJR1YUR%Sw1A(Q7U z;!&B^!OsMapJjyunT?;*P==HSFc-U$|}=)<5| z0{^xKrmjNZA$O0rU|gpXm$4oR;^O#yOmO=&zto7}E{ffc0ZaXC(6D^&8u9IH9y)=D zwX3dXwist!3Kus=HwNt@w)KPYzzg5qZvmLAH8xr~$CpQ~^(3Szv6NRtQC?n)^2#X6 zuf$W@Gm+fBP>V8>+ojl{G3&HvBDuX-C=KTqZm2;YML4y}Dm(l(p*t6P!4BsWa!7~7 zE#>rje!n~I27}p5RmY3**7JgKp~iqsmoNf%Vj}D0^Ox67y)5f!Jo0k+aX?qp19WvA zKv&iSbguxl>!oqO@u8{T$=0Smz2kjQlSDFoCdos-QpXiY1HO%PrW2QB20TosL+tNGA8jl0`DPU&zkXlB8|-Wv3k94OG4zkx(2ED#J}l z9F4cJ3sCc=HSE;0F_RLyMVQ!^qe1Jlu=jR!gAp|2eRksnf z(#W|YH8&Ye6=PlZ#Zg6a_%Cr(ksNM9S&`bl6bD=p!fE)l<)(~`VWG+AK7rq@;hA;G z!GqKU0PQEU5L4b7Yx#@~&XiNkhw(y1%L-Vl#b zS8#nK9;2?f`biZGduD!X*?v-`JPeGw)^ck+MqO)pMljAVsa*7e*J@67GMK7MHHV+9 zmlF+B*NVn!!ql~>`>Mcb;m&JOZ`FjUYf)#nR?4QFo4OX26PRsUQ+%97KE`@fI+2~s z)VGBmsR2^gf_&(p&Z2dv%BB%W*cI4CpY9e;qb3|`h3aybvRVZv3Z z>6~_|o>Wlqpb=KJ69L{?kMk=Ad}A;Z{oaKy5=I1twOFvuI$^KxI5+B2_MB^;7_lUzu!hv1%Cwrns@gr0CMm6ic=>AewryaW*pgo}XC-zqQdQi* zfZC{E64YJ{hD?~h5jBiabFV8ft3{~ifk_kDq%oPL8D+aUmsJo?I$hKEXnH(78T74^ zUfQS~Cu6!4F8@(QL7vpnzK5qC>VZMkEYUUNdVmEp*Uo$a+;I$7XcYSYR!EtpR2F)v zbrgD&1%Coh(?e5UcJePl5Vo>vUCS97d?R|H66%$uOBAnEl`!HB4%tz-7Yq4XO-^wS z;PsE&Z_mo}e-%sL2O=6*rzYb1d#2rd9@|tGn+acf0aepj|5=z26QEBD@r?Iv#!I#` z#P@cbxJL7n(ELyaWiQ97vZHI=&xS>BU!xY-WPQdd1VU?23{%E9Dpq#5$^u&R78P_;@Yb1NW8A~_{XHzml_Y#nS_ z)}w+!vj$t_a1f;N;&)jtM&^W5U5tEyG|4_$lHZD zAb0A{gsz{*uLFpBNNOOIbEGU~!Yzi=4}?=u3aTPiCa9m^&a*VXhR;gkwRIt5`!PN% z+DY67JPOkASs|XmRJ0vGF7)fQ{AkC?DZIdB-7|IzZ0TUNjZ<&cq%@BrY0pf~%Q8=j z+eKSCh5YfGT(wHW`eR{g3;M;+;H|A7)+G^vuJ!XY%Bqa0 z^zvrZ<#I-xnV{f1AA%PSp^%KA`>0UjjY5^6%cz5(%kP&2W8m^U; zLc%f@zA;r9UzNi7ej&vECgF1YBr>@vTfdX9Ms)~=yf0MZZyAqdx>j3JQ`a?I$~mwz zibKqeVE|7t(+u^w%&caDes4~+rxde7Dw^d^?<)9=9>RtCLNe+j4S&GD)LTpOG-1jnl>JRp_SeNhj&tP~gX4QS6-po25`BULM8y zOgfS6p}1f5gI(OWY{4)DJC6?n@eQod8^*xz)9Ww>&OYDv8XdH>Cj9|h{z;_xTq3tx zbNJm^f7fe&#d?^ff^hixpw$reE0OX8vz<&XrIqdb@TU5m!l=-_93EnXf0%SLhWwoj zxB%zP=m=bFK)z2^WZYyk4XJCbTbus(+GUAf{Qd{_mj08DJ$cQ(Fa6%Zoe$VQeffv> z&B5$(C-?s3Q0vskS`T(XrJQdX$EqPOGdt;JiR#R#f}TrYwrg>4?HtSYE7bGoE4U+Q zt)JqWeH_F4yk@4w#{N%m%|6~E&BwULPjRiE;rc7W%XZvv>`6~Ld3OcJpuy>?#wiFv zD8kYx3CAh9RT)6I8xF_u0P4#e&oQf1^`$4Hp7!+9Z69u1FUpi0Q~a*c!NmciV~P4Y zlfzdF4!M3mdyz`?2O{?F2;+4a;-(p#J zynLz)no=9UdyP;iD@~z{jwylsmm#z=fqW(%^xs+_l-cMQq_7EPVPeixDz1>N0%^2V zs7+;xBc2w{_l0aHIu02fODjieoMMKcw-|r%pZfpPoPY z!r9k<_qF@?-T6Ncyzup3{o~II-+l9zSN>w^7ytS9kKf{3AN~5+{T(6~?t>=Cg4OIY z$&{AoY4E4MYHwG;;+z8Y^&ErTM^r6I~;Eupi)-J+gLMnT`^csYX2$4a1yibga!-R_rX_jGE;ZK{&oR3-_2gODN%c>zxbq5$)gM zcWJ?EaNv(y@j-0=+XuEX+*+!fQHpJ~+6N`BCHAwbmELp6CvdizlxNYAs87X9Rg*Xti}?!%i(i~$v`iE&Qb4+ zFHl&+f}&iN=B&m?I^lL9wQ4s3BHSX&O79bt#r}!W*P{AH?CbSkKmUz%(E~NfTa2!T z7v(N}QBzj|e^iXjluk>|kqA*iXKDVh#2R0s zj1bS(4!xdD8jmh8#H*t~`O=P@&@-ojwpvJEyJU;pGSTrJA!Sw#Qihu%Y3-7&f@p*h z(N?(a0m0o+DzGj{9y@_Z{o+xDh>Ytc#5yE`@saI9U%n1k?Y$Z>?QNisa|; z&$yj;u1WEa*RDbS&a$o55Y}oq=vi>rfM0qs9ka-wj8L_Su8f=eZyCjP6u0bixHth; zL-JM}%Y{m1#x>?n2py+w9B|UEtpuY4ywi8nR)d=Rb{W=&Va>(Ac0LPNZ7A;e`8L~b zo6H0gZGn>y@Q+$xzO4weA(x$e*}ynr*x~p4dmLhA`IqDK!&(n{hpo)Tw4#H;F}!(= zniZuM-JXN}G48I#(WpexpZ((Rs3)GPf>ME(n)*X9LTGLqt& zm(A)II{9O8pGsq9*3gwa1V4j=#eAthB-&neSXeSBj!#z|76#bjus_2vs*FkrCmkyK zfKou78})ur6+SewB0$Kr`fX+!C9RS9ME*0Ng!)9*px#%gARi8^{QdN?hgx2G=9P(u p_k8xn)gP_-yfK3R@0S0s_VJZ>UiTj#{@dr@J-Fh{!k5=A|33r8TyX#Z diff --git a/Tests/Runtime/Export/Models/QuadCube.fbx.meta b/Tests/Runtime/Export/Models/QuadCube.fbx.meta deleted file mode 100644 index d5047c6ab..000000000 --- a/Tests/Runtime/Export/Models/QuadCube.fbx.meta +++ /dev/null @@ -1,97 +0,0 @@ -fileFormatVersion: 2 -guid: 9ce902852b8194c92b813c97d31ea3ea -ModelImporter: - serializedVersion: 19301 - internalIDToNameTable: [] - 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.5 - animationPositionError: 0.5 - animationScaleError: 0.5 - animationWrapMode: 0 - extraExposedTransformPaths: [] - extraUserProperties: [] - clipAnimations: [] - isReadable: 1 - 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: 1 - weldVertices: 1 - preserveHierarchy: 0 - skinWeightsMode: 0 - maxBonesPerVertex: 4 - minBoneWeight: 0.001 - meshOptimizationFlags: -1 - indexFormat: 0 - secondaryUVAngleDistortion: 8 - secondaryUVAreaDistortion: 15.000001 - secondaryUVHardAngle: 88 - 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: [] - skeleton: [] - armTwist: 0.5 - foreArmTwist: 0.5 - upperLegTwist: 0.5 - legTwist: 0.5 - armStretch: 0.05 - legStretch: 0.05 - feetSpacing: 0 - globalScale: 1 - rootMotionBoneName: - hasTranslationDoF: 0 - hasExtraRoot: 0 - skeletonHasParents: 1 - lastHumanDescriptionAvatarSource: {instanceID: 0} - autoGenerateAvatarMappingIfUnspecified: 1 - animationType: 2 - humanoidOversampling: 1 - avatarSetup: 0 - additionalBone: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Models/SimpleSkin.meta b/Tests/Runtime/Export/Models/SimpleSkin.meta deleted file mode 100644 index 32928cbfd..000000000 --- a/Tests/Runtime/Export/Models/SimpleSkin.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 00d6f40089e144eb0a6712944ecdbe85 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Models/SimpleSkin/Clip_0.anim b/Tests/Runtime/Export/Models/SimpleSkin/Clip_0.anim deleted file mode 100644 index c2c90698c..000000000 --- a/Tests/Runtime/Export/Models/SimpleSkin/Clip_0.anim +++ /dev/null @@ -1,168 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!74 &7400000 -AnimationClip: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Clip_0 - serializedVersion: 6 - m_Legacy: 1 - m_Compressed: 0 - m_UseHighQualityCurve: 1 - m_RotationCurves: - - curve: - serializedVersion: 2 - m_Curve: - - serializedVersion: 3 - time: 0 - value: {x: 0, y: -0, z: -0, w: 1} - inSlope: {x: 0, y: 0, z: 0, w: 0} - outSlope: {x: 0, y: 0, z: -0.766, w: -0.15199995} - tangentMode: 0 - weightedMode: 0 - inWeight: {x: 0, y: 0, z: 0, w: 0} - outWeight: {x: 0, y: 0, z: 0, w: 0} - - serializedVersion: 3 - time: 0.5 - value: {x: 0, y: -0, z: -0.383, w: 0.924} - inSlope: {x: 0, y: 0, z: -0.766, w: -0.15199995} - outSlope: {x: 0, y: 0, z: -0.64800006, w: -0.43400002} - tangentMode: 0 - weightedMode: 0 - inWeight: {x: 0, y: 0, z: 0, w: 0} - outWeight: {x: 0, y: 0, z: 0, w: 0} - - serializedVersion: 3 - time: 1 - value: {x: 0, y: -0, z: -0.707, w: 0.707} - inSlope: {x: 0, y: 0, z: -0.64800006, w: -0.43400002} - outSlope: {x: 0, y: 0, z: 0, w: 0} - tangentMode: 0 - weightedMode: 0 - inWeight: {x: 0, y: 0, z: 0, w: 0} - outWeight: {x: 0, y: 0, z: 0, w: 0} - - serializedVersion: 3 - time: 1.5 - value: {x: 0, y: -0, z: -0.707, w: 0.707} - inSlope: {x: 0, y: 0, z: 0, w: 0} - outSlope: {x: 0, y: 0, z: 0.64800006, w: 0.43400002} - tangentMode: 0 - weightedMode: 0 - inWeight: {x: 0, y: 0, z: 0, w: 0} - outWeight: {x: 0, y: 0, z: 0, w: 0} - - serializedVersion: 3 - time: 2 - value: {x: 0, y: -0, z: -0.383, w: 0.924} - inSlope: {x: 0, y: 0, z: 0.64800006, w: 0.43400002} - outSlope: {x: 0, y: 0, z: 0.766, w: 0.15199995} - tangentMode: 0 - weightedMode: 0 - inWeight: {x: 0, y: 0, z: 0, w: 0} - outWeight: {x: 0, y: 0, z: 0, w: 0} - - serializedVersion: 3 - time: 2.5 - value: {x: 0, y: -0, z: -0, w: 1} - inSlope: {x: 0, y: 0, z: 0.766, w: 0.15199995} - outSlope: {x: 0, y: 0, z: 0, w: 0} - tangentMode: 0 - weightedMode: 0 - inWeight: {x: 0, y: 0, z: 0, w: 0} - outWeight: {x: 0, y: 0, z: 0, w: 0} - - serializedVersion: 3 - time: 3 - value: {x: 0, y: -0, z: -0, w: 1} - inSlope: {x: 0, y: 0, z: 0, w: 0} - outSlope: {x: 0, y: 0, z: 0.766, w: -0.15199995} - tangentMode: 0 - weightedMode: 0 - inWeight: {x: 0, y: 0, z: 0, w: 0} - outWeight: {x: 0, y: 0, z: 0, w: 0} - - serializedVersion: 3 - time: 3.5 - value: {x: 0, y: -0, z: 0.383, w: 0.924} - inSlope: {x: 0, y: 0, z: 0.766, w: -0.15199995} - outSlope: {x: 0, y: 0, z: 0.64800006, w: -0.43400002} - tangentMode: 0 - weightedMode: 0 - inWeight: {x: 0, y: 0, z: 0, w: 0} - outWeight: {x: 0, y: 0, z: 0, w: 0} - - serializedVersion: 3 - time: 4 - value: {x: 0, y: -0, z: 0.707, w: 0.707} - inSlope: {x: 0, y: 0, z: 0.64800006, w: -0.43400002} - outSlope: {x: 0, y: 0, z: 0, w: 0} - tangentMode: 0 - weightedMode: 0 - inWeight: {x: 0, y: 0, z: 0, w: 0} - outWeight: {x: 0, y: 0, z: 0, w: 0} - - serializedVersion: 3 - time: 4.5 - value: {x: 0, y: -0, z: 0.707, w: 0.707} - inSlope: {x: 0, y: 0, z: 0, w: 0} - outSlope: {x: 0, y: 0, z: -0.64800006, w: 0.43400002} - tangentMode: 0 - weightedMode: 0 - inWeight: {x: 0, y: 0, z: 0, w: 0} - outWeight: {x: 0, y: 0, z: 0, w: 0} - - serializedVersion: 3 - time: 5 - value: {x: 0, y: -0, z: 0.383, w: 0.924} - inSlope: {x: 0, y: 0, z: -0.64800006, w: 0.43400002} - outSlope: {x: 0, y: 0, z: -0.766, w: 0.15199995} - tangentMode: 0 - weightedMode: 0 - inWeight: {x: 0, y: 0, z: 0, w: 0} - outWeight: {x: 0, y: 0, z: 0, w: 0} - - serializedVersion: 3 - time: 5.5 - value: {x: 0, y: -0, z: -0, w: 1} - inSlope: {x: 0, y: 0, z: -0.766, w: 0.15199995} - outSlope: {x: 0, y: 0, z: 0, w: 0} - tangentMode: 0 - weightedMode: 0 - inWeight: {x: 0, y: 0, z: 0, w: 0} - outWeight: {x: 0, y: 0, z: 0, w: 0} - m_PreInfinity: 2 - m_PostInfinity: 2 - m_RotationOrder: 4 - path: Node-1/Node-2 - m_CompressedRotationCurves: [] - m_EulerCurves: [] - m_PositionCurves: [] - m_ScaleCurves: [] - m_FloatCurves: [] - m_PPtrCurves: [] - m_SampleRate: 60 - m_WrapMode: 2 - m_Bounds: - m_Center: {x: 0, y: 0, z: 0} - m_Extent: {x: 0, y: 0, z: 0} - m_ClipBindingConstant: - genericBindings: [] - pptrCurveMapping: [] - m_AnimationClipSettings: - serializedVersion: 2 - m_AdditiveReferencePoseClip: {fileID: 0} - m_AdditiveReferencePoseTime: 0 - m_StartTime: 0 - m_StopTime: 5.5 - m_OrientationOffsetY: 0 - m_Level: 0 - m_CycleOffset: 0 - m_HasAdditiveReferencePose: 0 - m_LoopTime: 0 - m_LoopBlend: 0 - m_LoopBlendOrientation: 0 - m_LoopBlendPositionY: 0 - m_LoopBlendPositionXZ: 0 - m_KeepOriginalOrientation: 0 - m_KeepOriginalPositionY: 1 - m_KeepOriginalPositionXZ: 0 - m_HeightFromFeet: 0 - m_Mirror: 0 - m_EditorCurves: [] - m_EulerEditorCurves: [] - m_HasGenericRootTransform: 0 - m_HasMotionFloatCurves: 0 - m_Events: [] diff --git a/Tests/Runtime/Export/Models/SimpleSkin/Clip_0.anim.meta b/Tests/Runtime/Export/Models/SimpleSkin/Clip_0.anim.meta deleted file mode 100644 index f8031457d..000000000 --- a/Tests/Runtime/Export/Models/SimpleSkin/Clip_0.anim.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 30e8156cd3a2045bcba82b14e7ca0961 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 7400000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Models/SimpleSkin/SkinnedMesh.mesh b/Tests/Runtime/Export/Models/SimpleSkin/SkinnedMesh.mesh deleted file mode 100644 index c9012f932..000000000 --- a/Tests/Runtime/Export/Models/SimpleSkin/SkinnedMesh.mesh +++ /dev/null @@ -1,202 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!43 &4300000 -Mesh: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: SkinnedMesh - serializedVersion: 10 - m_SubMeshes: - - serializedVersion: 2 - firstByte: 0 - indexCount: 24 - topology: 0 - baseVertex: 0 - firstVertex: 0 - vertexCount: 10 - localAABB: - m_Center: {x: 0, y: 1, z: 0} - m_Extent: {x: 0.5, y: 1, z: 0} - m_Shapes: - vertices: [] - shapes: [] - channels: [] - fullWeights: [] - m_BindPose: - - 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 - - e00: 1 - e01: -0 - e02: -0 - e03: -0 - e10: -0 - e11: 1 - e12: 0 - e13: -1 - e20: -0 - e21: 0 - e22: 1 - e23: 0 - e30: 0 - e31: 0 - e32: 0 - e33: 1 - m_BoneNameHashes: - m_RootBoneNameHash: 0 - m_BonesAABB: - - m_Min: {x: -0.5, y: 0, z: 0} - m_Max: {x: 0.5, y: 1.5, z: 0} - - m_Min: {x: -0.5, y: -0.5, z: 0} - m_Max: {x: 0.5, y: 1, z: 0} - m_VariableBoneCountWeights: - m_Data: - m_MeshCompression: 0 - m_IsReadable: 1 - m_KeepVertices: 0 - m_KeepIndices: 0 - m_IndexFormat: 1 - m_IndexBuffer: 000000000300000001000000000000000200000003000000020000000500000003000000020000000400000005000000040000000700000005000000040000000600000007000000060000000900000007000000060000000800000009000000 - m_VertexData: - serializedVersion: 3 - m_VertexCount: 10 - m_Channels: - - stream: 0 - offset: 0 - format: 0 - dimension: 3 - - stream: 0 - offset: 12 - format: 0 - dimension: 3 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 1 - offset: 0 - format: 0 - dimension: 4 - - stream: 1 - offset: 16 - format: 10 - dimension: 4 - m_DataSize: 560 - _typelessdata: 0000003f000000000000000000000000000000000000803f000000bf000000000000000000000000000000000000803f0000003f0000003f0000000000000000000000000000803f000000bf0000003f0000000000000000000000000000803f0000003f0000803f0000000000000000000000000000803f000000bf0000803f0000000000000000000000000000803f0000003f0000c03f0000000000000000000000000000803f000000bf0000c03f0000000000000000000000000000803f0000003f000000400000000000000000000000000000803f000000bf000000400000000000000000000000000000803f0000803f000000000000000000000000000000000000000000000000000000000000803f000000000000000000000000000000000000000000000000000000000000403f0000803e0000000000000000000000000100000000000000000000000000403f0000803e0000000000000000000000000100000000000000000000000000003f0000003f0000000000000000000000000100000000000000000000000000003f0000003f0000000000000000000000000100000000000000000000000000403f0000803e0000000000000000010000000000000000000000000000000000403f0000803e0000000000000000010000000000000000000000000000000000803f000000000000000000000000010000000000000000000000000000000000803f00000000000000000000000001000000000000000000000000000000 - m_CompressedMesh: - m_Vertices: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_UV: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_Normals: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_Tangents: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_Weights: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_NormalSigns: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_TangentSigns: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_FloatColors: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_BoneIndices: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_Triangles: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_UVInfo: 0 - m_LocalAABB: - m_Center: {x: 0, y: 1, z: 0} - m_Extent: {x: 0.5, y: 1, z: 0} - m_MeshUsageFlags: 0 - m_BakedConvexCollisionMesh: - m_BakedTriangleCollisionMesh: - m_MeshMetrics[0]: 1 - m_MeshMetrics[1]: 1 - m_MeshOptimizationFlags: 1 - m_StreamData: - serializedVersion: 2 - offset: 0 - size: 0 - path: diff --git a/Tests/Runtime/Export/Models/SimpleSkin/SkinnedMesh.mesh.meta b/Tests/Runtime/Export/Models/SimpleSkin/SkinnedMesh.mesh.meta deleted file mode 100644 index f5e4e11c6..000000000 --- a/Tests/Runtime/Export/Models/SimpleSkin/SkinnedMesh.mesh.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: d01c6a251a6a34acabcc9b87446abf46 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Models/Sphere.mesh b/Tests/Runtime/Export/Models/Sphere.mesh deleted file mode 100644 index 8507a13a2..000000000 --- a/Tests/Runtime/Export/Models/Sphere.mesh +++ /dev/null @@ -1,166 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!43 &4300000 -Mesh: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: Sphere - serializedVersion: 10 - m_SubMeshes: - - serializedVersion: 2 - firstByte: 0 - indexCount: 2304 - topology: 0 - baseVertex: 0 - firstVertex: 0 - vertexCount: 480 - localAABB: - m_Center: {x: 0, y: 0, z: 0} - m_Extent: {x: 0.5, y: 0.5, z: 0.5} - m_Shapes: - vertices: [] - shapes: [] - channels: [] - fullWeights: [] - m_BindPose: [] - m_BoneNameHashes: - m_RootBoneNameHash: 0 - m_BonesAABB: [] - m_VariableBoneCountWeights: - m_Data: - m_MeshCompression: 0 - m_IsReadable: 1 - m_KeepVertices: 0 - m_KeepIndices: 0 - m_IndexFormat: 1 - m_IndexBuffer: ba000000c2000000bb000000ba000000c1000000c2000000bb000000c3000000bc000000bb000000c2000000c3000000bc000000c4000000bd000000bc000000c3000000c4000000bd000000c5000000be000000bd000000c4000000c5000000be000000c6000000bf000000be000000c5000000c6000000bf000000c7000000c0000000bf000000c6000000c7000000c1000000c9000000c2000000c1000000c8000000c9000000c2000000ca000000c3000000c2000000c9000000ca000000c3000000cb000000c4000000c3000000ca000000cb000000c4000000cc000000c5000000c4000000cb000000cc000000c5000000cd000000c6000000c5000000cc000000cd000000c6000000ce000000c7000000c6000000cd000000ce000000c8000000d0000000c9000000c8000000cf000000d0000000c9000000d1000000ca000000c9000000d0000000d1000000ca000000d2000000cb000000ca000000d1000000d2000000cb000000d3000000cc000000cb000000d2000000d3000000cc000000d4000000cd000000cc000000d3000000d4000000cd000000d5000000ce000000cd000000d4000000d5000000cf000000d7000000d0000000cf000000d6000000d7000000d0000000d8000000d1000000d0000000d7000000d8000000d1000000d9000000d2000000d1000000d8000000d9000000d2000000da000000d3000000d2000000d9000000da000000d3000000db000000d4000000d3000000da000000db000000d4000000dc000000d5000000d4000000db000000dc000000d6000000de000000d7000000d6000000dd000000de000000d7000000df000000d8000000d7000000de000000df000000d8000000e0000000d9000000d8000000df000000e0000000d9000000e1000000da000000d9000000e0000000e1000000da000000e2000000db000000da000000e1000000e2000000db000000e3000000dc000000db000000e2000000e3000000dd000000e5000000de000000dd000000e4000000e5000000de000000e6000000df000000de000000e5000000e6000000df000000e7000000e0000000df000000e6000000e7000000e0000000e8000000e1000000e0000000e7000000e8000000e1000000e9000000e2000000e1000000e8000000e9000000e2000000ea000000e3000000e2000000e9000000ea00000001000000ba000000220000000100000020000000ba00000022000000bb0000002400000022000000ba000000bb00000024000000bc0000002600000024000000bb000000bc00000026000000bd0000002800000026000000bc000000bd00000028000000be0000002a00000028000000bd000000be0000002a000000bf0000002c0000002a000000be000000bf0000002c000000c00000002e0000002c000000bf000000c00000002e00000030000000030000002e000000c000000030000000c00000003200000030000000c0000000c700000032000000c70000003400000032000000c7000000ce00000034000000ce0000003500000034000000ce000000d500000035000000d50000003600000035000000d5000000dc00000036000000dc0000003800000036000000dc000000e300000038000000e30000003a00000038000000e3000000ea0000003a000000ea000000060000003a000000ea0000003c00000006000000e90000003c000000ea000000e90000003e0000003c000000e80000003e000000e9000000e8000000400000003e000000e700000040000000e8000000e70000004200000040000000e600000042000000e7000000e60000004400000042000000e500000044000000e6000000e50000004600000044000000e400000046000000e5000000e400000048000000460000001400000048000000e400000014000000040000004800000016000000e4000000dd0000001600000014000000e400000018000000dd000000d60000001800000016000000dd0000001a000000d6000000cf0000001a00000018000000d60000001c000000cf000000c80000001c0000001a000000cf0000001e000000c8000000c10000001e0000001c000000c800000020000000c1000000ba000000200000001e000000c1000000eb000000f3000000ec000000eb000000f2000000f3000000ec000000f4000000ed000000ec000000f3000000f4000000ed000000f5000000ee000000ed000000f4000000f5000000ee000000f6000000ef000000ee000000f5000000f6000000ef000000f7000000f0000000ef000000f6000000f7000000f0000000f8000000f1000000f0000000f7000000f8000000f2000000fa000000f3000000f2000000f9000000fa000000f3000000fb000000f4000000f3000000fa000000fb000000f4000000fc000000f5000000f4000000fb000000fc000000f5000000fd000000f6000000f5000000fc000000fd000000f6000000fe000000f7000000f6000000fd000000fe000000f7000000ff000000f8000000f7000000fe000000ff000000f900000001010000fa000000f90000000001000001010000fa00000002010000fb000000fa0000000101000002010000fb00000003010000fc000000fb0000000201000003010000fc00000004010000fd000000fc0000000301000004010000fd00000005010000fe000000fd0000000401000005010000fe00000006010000ff000000fe0000000501000006010000000100000801000001010000000100000701000008010000010100000901000002010000010100000801000009010000020100000a0100000301000002010000090100000a010000030100000b01000004010000030100000a0100000b010000040100000c01000005010000040100000b0100000c010000050100000d01000006010000050100000c0100000d010000070100000f01000008010000070100000e0100000f010000080100001001000009010000080100000f0100001001000009010000110100000a0100000901000010010000110100000a010000120100000b0100000a01000011010000120100000b010000130100000c0100000b01000012010000130100000c010000140100000d0100000c01000013010000140100000e010000160100000f0100000e01000015010000160100000f01000017010000100100000f0100001601000017010000100100001801000011010000100100001701000018010000110100001901000012010000110100001801000019010000120100001a0100001301000012010000190100001a010000130100001b01000014010000130100001a0100001b01000005000000eb000000490000000500000056000000eb00000049000000ec0000004700000049000000eb000000ec00000047000000ed0000004500000047000000ec000000ed00000045000000ee0000004300000045000000ed000000ee00000043000000ef0000004100000043000000ee000000ef00000041000000f00000003f00000041000000ef000000f00000003f000000f10000003d0000003f000000f0000000f10000003d00000058000000070000003d000000f100000058000000f10000005a00000058000000f1000000f80000005a000000f80000005c0000005a000000f8000000ff0000005c000000ff0000005e0000005c000000ff000000060100005e00000006010000600000005e000000060100000d010000600000000d01000062000000600000000d0100001401000062000000140100006400000062000000140100001b010000640000001b01000011000000640000001b01000066000000110000001a010000660000001b0100001a010000680000006600000019010000680000001a010000190100006a00000068000000180100006a00000019010000180100006c0000006a000000170100006c00000018010000170100006e0000006c000000160100006e0000001701000016010000700000006e0000001501000070000000160100001501000072000000700000004a00000072000000150100004a0000000e000000720000004c000000150100000e0100004c0000004a000000150100004e0000000e010000070100004e0000004c0000000e010000500000000701000000010000500000004e000000070100005200000000010000f900000052000000500000000001000054000000f9000000f20000005400000052000000f900000056000000f2000000eb0000005600000054000000f20000001c010000240100001d0100001c01000023010000240100001d010000250100001e0100001d01000024010000250100001e010000260100001f0100001e01000025010000260100001f01000027010000200100001f0100002601000027010000200100002801000021010000200100002701000028010000210100002901000022010000210100002801000029010000230100002b01000024010000230100002a0100002b010000240100002c01000025010000240100002b0100002c010000250100002d01000026010000250100002c0100002d010000260100002e01000027010000260100002d0100002e010000270100002f01000028010000270100002e0100002f010000280100003001000029010000280100002f010000300100002a010000320100002b0100002a01000031010000320100002b010000330100002c0100002b01000032010000330100002c010000340100002d0100002c01000033010000340100002d010000350100002e0100002d01000034010000350100002e010000360100002f0100002e01000035010000360100002f01000037010000300100002f0100003601000037010000310100003901000032010000310100003801000039010000320100003a0100003301000032010000390100003a010000330100003b01000034010000330100003a0100003b010000340100003c01000035010000340100003b0100003c010000350100003d01000036010000350100003c0100003d010000360100003e01000037010000360100003d0100003e010000380100004001000039010000380100003f0100004001000039010000410100003a0100003901000040010000410100003a010000420100003b0100003a01000041010000420100003b010000430100003c0100003b01000042010000430100003c010000440100003d0100003c01000043010000440100003d010000450100003e0100003d01000044010000450100003f01000047010000400100003f0100004601000047010000400100004801000041010000400100004701000048010000410100004901000042010000410100004801000049010000420100004a0100004301000042010000490100004a010000430100004b01000044010000430100004a0100004b010000440100004c01000045010000440100004b0100004c010000100000001c0100007300000010000000810000001c010000730000001d01000071000000730000001c0100001d010000710000001e0100006f000000710000001d0100001e0100006f0000001f0100006d0000006f0000001e0100001f0100006d000000200100006b0000006d0000001f010000200100006b00000021010000690000006b0000002001000021010000690000002201000067000000690000002101000022010000670000008200000012000000670000002201000082000000220100008400000082000000220100002901000084000000290100008600000084000000290100003001000086000000300100008800000086000000300100003701000088000000370100008a00000088000000370100003e0100008a0000003e0100008c0000008a0000003e010000450100008c000000450100008e0000008c000000450100004c0100008e0000004c0100000b0000008e0000004c010000900000000b0000004b010000900000004c0100004b01000092000000900000004a010000920000004b0100004a010000940000009200000049010000940000004a010000490100009600000094000000480100009600000049010000480100009800000096000000470100009800000048010000470100009a00000098000000460100009a00000047010000460100009c0000009a000000750000009c0000004601000075000000090000009c00000077000000460100003f010000770000007500000046010000790000003f0100003801000079000000770000003f0100007b00000038010000310100007b00000079000000380100007d000000310100002a0100007d0000007b000000310100007f0000002a010000230100007f0000007d0000002a01000081000000230100001c010000810000007f000000230100004d010000550100004e0100004d01000054010000550100004e010000560100004f0100004e01000055010000560100004f01000057010000500100004f0100005601000057010000500100005801000051010000500100005701000058010000510100005901000052010000510100005801000059010000520100005a0100005301000052010000590100005a010000540100005c01000055010000540100005b0100005c010000550100005d01000056010000550100005c0100005d010000560100005e01000057010000560100005d0100005e010000570100005f01000058010000570100005e0100005f010000580100006001000059010000580100005f0100006001000059010000610100005a0100005901000060010000610100005b010000630100005c0100005b01000062010000630100005c010000640100005d0100005c01000063010000640100005d010000650100005e0100005d01000064010000650100005e010000660100005f0100005e01000065010000660100005f01000067010000600100005f0100006601000067010000600100006801000061010000600100006701000068010000620100006a0100006301000062010000690100006a010000630100006b01000064010000630100006a0100006b010000640100006c01000065010000640100006b0100006c010000650100006d01000066010000650100006c0100006d010000660100006e01000067010000660100006d0100006e010000670100006f01000068010000670100006e0100006f01000069010000710100006a0100006901000070010000710100006a010000720100006b0100006a01000071010000720100006b010000730100006c0100006b01000072010000730100006c010000740100006d0100006c01000073010000740100006d010000750100006e0100006d01000074010000750100006e010000760100006f0100006e0100007501000076010000700100007801000071010000700100007701000078010000710100007901000072010000710100007801000079010000720100007a0100007301000072010000790100007a010000730100007b01000074010000730100007a0100007b010000740100007c01000075010000740100007b0100007c010000750100007d01000076010000750100007c0100007d0100000a0000004d0100009d0000000a000000ab0000004d0100009d0000004e0100009b0000009d0000004d0100004e0100009b0000004f010000990000009b0000004e0100004f010000990000005001000097000000990000004f0100005001000097000000510100009500000097000000500100005101000095000000520100009300000095000000510100005201000093000000530100009100000093000000520100005301000091000000ad0000000d0000009100000053010000ad00000053010000af000000ad000000530100005a010000af0000005a010000b1000000af0000005a01000061010000b100000061010000b3000000b10000006101000068010000b300000068010000b5000000b3000000680100006f010000b50000006f010000b7000000b50000006f01000076010000b700000076010000b9000000b7000000760100007d010000b90000007d01000002000000b90000007d0100002d000000020000007c0100002d0000007d0100007c0100002b0000002d0000007b0100002b0000007c0100007b010000290000002b0000007a010000290000007b0100007a010000270000002900000079010000270000007a0100007901000025000000270000007801000025000000790100007801000023000000250000007701000023000000780100007701000021000000230000009f00000021000000770100009f0000000000000021000000a10000007701000070010000a10000009f00000077010000a30000007001000069010000a3000000a100000070010000a50000006901000062010000a5000000a300000069010000a7000000620100005b010000a7000000a500000062010000a90000005b01000054010000a9000000a70000005b010000ab000000540100004d010000ab000000a9000000540100007e010000860100007f0100007e01000085010000860100007f01000087010000800100007f0100008601000087010000800100008801000081010000800100008701000088010000810100008901000082010000810100008801000089010000820100008a0100008301000082010000890100008a010000830100008b01000084010000830100008a0100008b010000850100008d01000086010000850100008c0100008d010000860100008e01000087010000860100008d0100008e010000870100008f01000088010000870100008e0100008f010000880100009001000089010000880100008f0100009001000089010000910100008a0100008901000090010000910100008a010000920100008b0100008a01000091010000920100008c010000940100008d0100008c01000093010000940100008d010000950100008e0100008d01000094010000950100008e010000960100008f0100008e01000095010000960100008f01000097010000900100008f0100009601000097010000900100009801000091010000900100009701000098010000910100009901000092010000910100009801000099010000930100009b01000094010000930100009a0100009b010000940100009c01000095010000940100009b0100009c010000950100009d01000096010000950100009c0100009d010000960100009e01000097010000960100009d0100009e010000970100009f01000098010000970100009e0100009f01000098010000a001000099010000980100009f010000a00100009a010000a20100009b0100009a010000a1010000a20100009b010000a30100009c0100009b010000a2010000a30100009c010000a40100009d0100009c010000a3010000a40100009d010000a50100009e0100009d010000a4010000a50100009e010000a60100009f0100009e010000a5010000a60100009f010000a7010000a00100009f010000a6010000a7010000a1010000a9010000a2010000a1010000a8010000a9010000a2010000aa010000a3010000a2010000a9010000aa010000a3010000ab010000a4010000a3010000aa010000ab010000a4010000ac010000a5010000a4010000ab010000ac010000a5010000ad010000a6010000a5010000ac010000ad010000a6010000ae010000a7010000a6010000ad010000ae010000050000007e0100005700000005000000150000007e010000570000007f01000055000000570000007e0100007f010000550000008001000053000000550000007f0100008001000053000000810100005100000053000000800100008101000051000000820100004f0000005100000081010000820100004f000000830100004d0000004f00000082010000830100004d000000840100004b0000004d00000083010000840100004b000000800000000f0000004b0000008401000080000000840100007e00000080000000840100008b0100007e0000008b0100007c0000007e0000008b010000920100007c000000920100007a0000007c00000092010000990100007a00000099010000780000007a00000099010000a001000078000000a00100007600000078000000a0010000a701000076000000a70100007400000076000000a7010000ae01000074000000ae0100000800000074000000ae010000aa00000008000000ad010000aa000000ae010000ad010000a8000000aa000000ac010000a8000000ad010000ac010000a6000000a8000000ab010000a6000000ac010000ab010000a4000000a6000000aa010000a4000000ab010000aa010000a2000000a4000000a9010000a2000000aa010000a9010000a0000000a2000000a8010000a0000000a9010000a80100009e000000a00000001f0000009e000000a80100001f000000000000009e0000001d000000a8010000a10100001d0000001f000000a80100001b000000a10100009a0100001b0000001d000000a10100001a0000009a010000930100001a0000001b0000009a01000019000000930100008c010000190000001a00000093010000170000008c0100008501000017000000190000008c01000015000000850100007e010000150000001700000085010000af010000b7010000b0010000af010000b6010000b7010000b0010000b8010000b1010000b0010000b7010000b8010000b1010000b9010000b2010000b1010000b8010000b9010000b2010000ba010000b3010000b2010000b9010000ba010000b3010000bb010000b4010000b3010000ba010000bb010000b4010000bc010000b5010000b4010000bb010000bc010000b6010000be010000b7010000b6010000bd010000be010000b7010000bf010000b8010000b7010000be010000bf010000b8010000c0010000b9010000b8010000bf010000c0010000b9010000c1010000ba010000b9010000c0010000c1010000ba010000c2010000bb010000ba010000c1010000c2010000bb010000c3010000bc010000bb010000c2010000c3010000bd010000c5010000be010000bd010000c4010000c5010000be010000c6010000bf010000be010000c5010000c6010000bf010000c7010000c0010000bf010000c6010000c7010000c0010000c8010000c1010000c0010000c7010000c8010000c1010000c9010000c2010000c1010000c8010000c9010000c2010000ca010000c3010000c2010000c9010000ca010000c4010000cc010000c5010000c4010000cb010000cc010000c5010000cd010000c6010000c5010000cc010000cd010000c6010000ce010000c7010000c6010000cd010000ce010000c7010000cf010000c8010000c7010000ce010000cf010000c8010000d0010000c9010000c8010000cf010000d0010000c9010000d1010000ca010000c9010000d0010000d1010000cb010000d3010000cc010000cb010000d2010000d3010000cc010000d4010000cd010000cc010000d3010000d4010000cd010000d5010000ce010000cd010000d4010000d5010000ce010000d6010000cf010000ce010000d5010000d6010000cf010000d7010000d0010000cf010000d6010000d7010000d0010000d8010000d1010000d0010000d7010000d8010000d2010000da010000d3010000d2010000d9010000da010000d3010000db010000d4010000d3010000da010000db010000d4010000dc010000d5010000d4010000db010000dc010000d5010000dd010000d6010000d5010000dc010000dd010000d6010000de010000d7010000d6010000dd010000de010000d7010000df010000d8010000d7010000de010000df01000013000000af010000650000001300000083000000af01000065000000b00100006300000065000000af010000b001000063000000b10100006100000063000000b0010000b101000061000000b20100005f00000061000000b1010000b20100005f000000b30100005d0000005f000000b2010000b30100005d000000b40100005b0000005d000000b3010000b40100005b000000b5010000590000005b000000b4010000b5010000590000003b0000000700000059000000b50100003b000000b5010000390000003b000000b5010000bc01000039000000bc0100003700000039000000bc010000c301000037000000c30100003500000037000000c3010000ca01000035000000ca0100003300000035000000ca010000d101000033000000d10100003100000033000000d1010000d801000031000000d80100002f00000031000000d8010000df0100002f000000df010000020000002f000000df010000b800000002000000de010000b8000000df010000de010000b6000000b8000000dd010000b6000000de010000dd010000b4000000b6000000dc010000b4000000dd010000dc010000b2000000b4000000db010000b2000000dc010000db010000b0000000b2000000da010000b0000000db010000da010000ae000000b0000000d9010000ae000000da010000d9010000ac000000ae0000008f000000ac000000d90100008f0000000c000000ac0000008d000000d9010000d20100008d0000008f000000d90100008b000000d2010000cb0100008b0000008d000000d201000089000000cb010000c4010000890000008b000000cb01000087000000c4010000bd0100008700000089000000c401000085000000bd010000b60100008500000087000000bd01000083000000b6010000af0100008300000085000000b6010000 - m_VertexData: - serializedVersion: 3 - m_VertexCount: 480 - m_Channels: - - stream: 0 - offset: 0 - format: 0 - dimension: 3 - - stream: 0 - offset: 12 - format: 0 - dimension: 3 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 1 - offset: 0 - format: 0 - dimension: 2 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - - stream: 0 - offset: 0 - format: 0 - dimension: 0 - m_DataSize: 15360 - _typelessdata: ed1c963eed1c96beed1c963e28cd133f28cd13bf28cd133fed1c963eed1c96beed1c963e28cd133f28cd13bf28cd133fed1c963eed1c963eed1c963e28cd133f28cd133f28cd133fed1c963eed1c963eed1c963e28cd133f28cd133f28cd133fed1c963eed1c96beed1c96be28cd133f28cd13bf28cd13bfed1c963eed1c96beed1c96be28cd133f28cd13bf28cd13bfed1c963eed1c963eed1c96be28cd133f28cd133f28cd13bfed1c963eed1c963eed1c96be28cd133f28cd133f28cd13bfed1c96beed1c96beed1c963e28cd13bf28cd13bf28cd133fed1c96beed1c96beed1c963e28cd13bf28cd13bf28cd133fed1c96beed1c96beed1c963e28cd13bf28cd13bf28cd133fed1c96beed1c963eed1c963e28cd13bf28cd133f28cd133fed1c96beed1c963eed1c963e28cd13bf28cd133f28cd133fed1c96beed1c963eed1c963e28cd13bf28cd133f28cd133fed1c96beed1c96beed1c96be28cd13bf28cd13bf28cd13bfed1c96beed1c96beed1c96be28cd13bf28cd13bf28cd13bfed1c96beed1c96beed1c96be28cd13bf28cd13bf28cd13bfed1c96beed1c963eed1c96be28cd13bf28cd133f28cd13bfed1c96beed1c963eed1c96be28cd13bf28cd133f28cd13bfed1c96beed1c963eed1c96be28cd13bf28cd133f28cd13bf72c1a03e72c1a0be97a77bbe40db1f3f40db1fbfe039f0be72c1a03e72c1a0be97a77bbe40db1f3f40db1fbfe039f0be0753ac3e0653acbe447332be55bb2a3f55bb2abf5415aabe0753ac3e0653acbe447332be55bb2a3f55bb2abf5415aabeb277b43eb277b4bed1abb8bd6543323f654332bf64c131beb277b43eb277b4bed1abb8bd6543323f654332bf64c131be416db73e406db7be000000806a03353f6a0335bf00000080b277b43eb177b4bed1abb83d6543323f654332bf64c1313eb277b43eb177b4bed1abb83d6543323f654332bf64c1313e0753ac3e0653acbe4473323e55bb2a3f55bb2abf5415aa3e0753ac3e0653acbe4473323e55bb2a3f55bb2abf5415aa3e73c1a03e73c1a0be95a77b3e40db1f3f40db1fbfe039f03e73c1a03e73c1a0be95a77b3e40db1f3f40db1fbfe039f03e73c1a03e95a77bbe72c1a03e40db1f3fe039f0be40db1f3f73c1a03e95a77bbe72c1a03e40db1f3fe039f0be40db1f3f0753ac3e437332be0753ac3e55bb2a3f5415aabe55bb2a3f0753ac3e437332be0753ac3e55bb2a3f5415aabe55bb2a3fb177b43ed1abb8bdb277b43e6543323f64c131be6543323fb177b43ed1abb8bdb277b43e6543323f64c131be6543323f406db73ebe0575b0416db73e6a03353f000000006a03353f406db73ebe0575b0416db73e6a03353f000000006a03353fb177b43ed1abb83db377b43e6543323f64c1313e6543323fb177b43ed1abb83db377b43e6543323f64c1313e6543323f0753ac3e4373323e0653ac3e55bb2a3f5415aa3e55bb2a3f0753ac3e4373323e0653ac3e55bb2a3f5415aa3e55bb2a3f72c1a03e93a77b3e72c1a03e40d91f3fe039f03e40db1f3f72c1a03e93a77b3e72c1a03e40d91f3fe039f03e40db1f3f73c1a03e73c1a03e95a77b3e40d91f3f40db1f3fe039f03e73c1a03e73c1a03e95a77b3e40d91f3f40db1f3fe039f03e0653ac3e0753ac3e4473323e55bb2a3f55bb2a3f5415aa3e0653ac3e0753ac3e4473323e55bb2a3f55bb2a3f5415aa3eb277b43eb277b43ed2abb83d6543323f6543323f64c1313eb277b43eb277b43ed2abb83d6543323f6543323f64c1313e406db73e416db73ebe0575b06a03353f6a03353f00000080b377b43eb177b43ed1abb8bd6543323f6543323f64c131beb377b43eb177b43ed1abb8bd6543323f6543323f64c131be0653ac3e0653ac3e437332be55bb2a3f55bb2a3f5415aabe0653ac3e0653ac3e437332be55bb2a3f55bb2a3f5415aabe72c1a03e72c1a03e97a77bbe40db1f3f40db1f3fe039f0be72c1a03e72c1a03e97a77bbe40db1f3f40db1f3fe039f0be72c1a03e93a77b3e72c1a0be40db1f3fe039f03e40d91fbf72c1a03e93a77b3e72c1a0be40db1f3fe039f03e40d91fbf0653ac3e4473323e0753acbe55bb2a3f5415aa3e55bb2abf0653ac3e4473323e0753acbe55bb2a3f5415aa3e55bb2abfb377b43ed1abb83db177b4be6543323f64c1313e654332bfb377b43ed1abb83db177b4be6543323f64c1313e654332bf416db73ebe0575b0406db7be6a03353f000000006a0335bf416db73ebe0575b0406db7be6a03353f000000006a0335bfb277b43ed1abb8bdb177b4be6543323f64c131be654332bfb277b43ed1abb8bdb177b4be6543323f64c131be654332bf0753ac3e437332be0753acbe55bb2a3f5415aabe55bb2abf0753ac3e437332be0753acbe55bb2a3f5415aabe55bb2abf72c1a03e95a77bbe73c1a0be40db1f3fe039f0be40db1fbf72c1a03e95a77bbe73c1a0be40db1f3fe039f0be40db1fbf93a77bbe72c1a0be72c1a0bee039f0be40db1fbf40db1fbf93a77bbe72c1a0be72c1a0bee039f0be40db1fbf40db1fbf447332be0653acbe0753acbe5415aabe55bb2abf55bb2abf447332be0653acbe0753acbe5415aabe55bb2abf55bb2abfd1abb8bdb277b4beb277b4be64c131be654332bf654332bfd1abb8bdb277b4beb277b4be64c131be654332bf654332bf00000080406db7be416db7be000000806a0335bf6a0335bf00000080406db7be416db7be000000806a0335bf6a0335bfd2abb83db277b4beb277b4be64c1313e654332bf654332bfd2abb83db277b4beb277b4be64c1313e654332bf654332bf4473323e0753acbe0753acbe5415aa3e55bb2abf55bb2abf4473323e0753acbe0753acbe5415aa3e55bb2abf55bb2abf95a77b3e73c1a0be73c1a0bee039f03e40db1fbf40db1fbf95a77b3e73c1a0be73c1a0bee039f03e40db1fbf40db1fbf97a77b3e72c1a03e72c1a0bee039f03e40db1f3f40db1fbf97a77b3e72c1a03e72c1a0bee039f03e40db1f3f40db1fbf4473323e0653ac3e0653acbe5415aa3e55bb2a3f55bb2abf4473323e0653ac3e0653acbe5415aa3e55bb2a3f55bb2abfd2abb83db277b43eb277b4be64c1313e6543323f654332bfd2abb83db277b43eb277b4be64c1313e6543323f654332bfbe057531416db73e406db7be000000806a03353f6a0335bfbe057531416db73e406db7be000000806a03353f6a0335bfd1abb8bdb177b43eb277b4be64c131be6543323f654332bfd1abb8bdb177b43eb277b4be64c131be6543323f654332bf447332be0753ac3e0653acbe5415aabe55bb2a3f55bb2abf447332be0753ac3e0653acbe5415aabe55bb2a3f55bb2abf97a77bbe72c1a03e72c1a0bee039f0be40db1f3f40db1fbf97a77bbe72c1a03e72c1a0bee039f0be40db1f3f40db1fbf72c1a0be93a77b3e72c1a0be40db1fbfe039f03e40db1fbf72c1a0be93a77b3e72c1a0be40db1fbfe039f03e40db1fbf0753acbe4473323e0653acbe55bb2abf5415aa3e55bb2abf0753acbe4473323e0653acbe55bb2abf5415aa3e55bb2abfb177b4bed1abb83db377b4be654332bf64c1313e654332bfb177b4bed1abb83db377b4be654332bf64c1313e654332bf406db7bebe0575b0416db7be6a0335bf000000006a0335bf406db7bebe0575b0416db7be6a0335bf000000006a0335bfb177b4bed1abb8bdb277b4be654332bf64c131be654332bfb177b4bed1abb8bdb277b4be654332bf64c131be654332bf0753acbe437332be0753acbe55bb2abf5415aabe55bb2abf0753acbe437332be0753acbe55bb2abf5415aabe55bb2abf73c1a0be95a77bbe72c1a0be40db1fbfe039f0be40db1fbf73c1a0be95a77bbe72c1a0be40db1fbfe039f0be40db1fbf72c1a0be72c1a0be93a77b3e40db1fbf40db1fbfe039f03e72c1a0be72c1a0be93a77b3e40db1fbf40db1fbfe039f03e0753acbe0653acbe4473323e55bb2abf55bb2abf5415aa3e0753acbe0653acbe4473323e55bb2abf55bb2abf5415aa3eb277b4beb277b4bed1abb83d654332bf654332bf64c1313eb277b4beb277b4bed1abb83d654332bf654332bf64c1313e416db7be406db7bebe0575b16a0335bf6a0335bf00000080416db7be406db7bebe0575b16a0335bf6a0335bf00000080b277b4beb177b4bed1abb8bd654332bf654332bf64c131beb277b4beb177b4bed1abb8bd654332bf654332bf64c131be0753acbe0653acbe447332be55bb2abf55bb2abf5415aabe0753acbe0653acbe447332be55bb2abf55bb2abf5415aabe73c1a0be73c1a0be95a77bbe40d91fbf40db1fbfe039f0be73c1a0be73c1a0be95a77bbe40d91fbf40db1fbfe039f0be72c1a0be72c1a03e97a77bbe40db1fbf40db1f3fe039f0be72c1a0be72c1a03e97a77bbe40db1fbf40db1f3fe039f0be0653acbe0653ac3e437332be55bb2abf55bb2a3f5415aabe0653acbe0653ac3e437332be55bb2abf55bb2a3f5415aabeb277b4beb277b43ed3abb8bd654332bf6543323f64c131beb277b4beb277b43ed3abb8bd654332bf6543323f64c131be406db7be416db73ebe0575b16a0335bf6a03353f00000080406db7be416db73ebe0575b16a0335bf6a03353f00000080b277b4beb177b43ed1abb83d654332bf6543323f64c1313eb277b4beb177b43ed1abb83d654332bf6543323f64c1313e0653acbe0753ac3e4473323e55bb2abf55bb2a3f5415aa3e0653acbe0753ac3e4473323e55bb2abf55bb2a3f5415aa3e72c1a0be72c1a03e97a77b3e40db1fbf40d91f3fe039f03e72c1a0be72c1a03e97a77b3e40db1fbf40d91f3fe039f03e72c1a0be93a77b3e72c1a03e40db1fbfe039f03e40d91f3f72c1a0be93a77b3e72c1a03e40db1fbfe039f03e40d91f3f0653acbe4473323e0753ac3e55bb2abf5415aa3e55bb2a3f0653acbe4473323e0753ac3e55bb2abf5415aa3e55bb2a3fb377b4bed1abb83db177b43e654332bf64c1313e6543323fb377b4bed1abb83db177b43e654332bf64c1313e6543323f416db7bebe0575b0406db73e6a0335bf000000006a03353f416db7bebe0575b0406db73e6a0335bf000000006a03353fb277b4bed1abb8bdb177b43e654332bf64c131be6543323fb277b4bed1abb8bdb177b43e654332bf64c131be6543323f0753acbe437332be0753ac3e55bb2abf5415aabe55bb2a3f0753acbe437332be0753ac3e55bb2abf5415aabe55bb2a3f72c1a0be95a77bbe73c1a03e40db1fbfe039f0be40db1f3f72c1a0be95a77bbe73c1a03e40db1fbfe039f0be40db1f3f93a77b3e72c1a0be72c1a03ee039f03e40db1fbf40db1f3f93a77b3e72c1a0be72c1a03ee039f03e40db1fbf40db1f3f4473323e0653acbe0753ac3e5415aa3e55bb2abf55bb2a3f4473323e0653acbe0753ac3e5415aa3e55bb2abf55bb2a3fd1abb83db277b4beb277b43e64c1313e654332bf6543323fd1abb83db277b4beb277b43e64c1313e654332bf6543323f00000080406db7be416db73e000000806a0335bf6a03353f00000080406db7be416db73e000000806a0335bf6a03353fd2abb8bdb277b4beb277b43e64c131be654332bf6543323fd2abb8bdb277b4beb277b43e64c131be654332bf6543323f447332be0653acbe0753ac3e5415aabe55bb2abf55bb2a3f447332be0653acbe0753ac3e5415aabe55bb2abf55bb2a3f95a77bbe73c1a0be73c1a03ee039f0be40db1fbf40d91f3f95a77bbe73c1a0be73c1a03ee039f0be40db1fbf40d91f3f97a77bbe72c1a03e72c1a03ee039f0be40d91f3f40db1f3f97a77bbe72c1a03e72c1a03ee039f0be40d91f3f40db1f3f437332be0653ac3e0653ac3e5415aabe55bb2a3f55bb2a3f437332be0653ac3e0653ac3e5415aabe55bb2a3f55bb2a3fd3abb8bdb277b43eb277b43e64c131be6543323f6543323fd3abb8bdb277b43eb277b43e64c131be6543323f6543323fbe0575b1416db73e406db73e000000806a03353f6a03353fbe0575b1416db73e406db73e000000806a03353f6a03353fd1abb83db177b43eb277b43e64c1313e6543323f6543323fd1abb83db177b43eb277b43e64c1313e6543323f6543323f4473323e0753ac3e0653ac3e5415aa3e55bb2a3f55bb2a3f4473323e0753ac3e0653ac3e5415aa3e55bb2a3f55bb2a3f97a77b3e72c1a03e72c1a03ee039f03e40db1f3f40db1f3f97a77b3e72c1a03e72c1a03ee039f03e40db1f3f40db1f3f1e8db73ed7d181bed7d1813e736d393ff399f9bef399f93ec60bc83e6a8636beb024893e9223493f5bb5adbe0967043f3181d23e5f4abcbdc5108f3ea61f533f680134be1399093fa21fd63ec789c7b09b5e913eada3563f0000000017830b3f2f81d23e5f4abc3dc6108f3ea61f533f6801343e1399093fc60bc83e6c86363eaf24893e9223493f5bb5ad3e0967043f1e8db73ed7d1813ed6d1813e736d393ff399f93ef399f93ec60bc83eb12489be6a86363e9223493f096704bf5bb5ad3ecb3ddc3eaa083fbeab083f3ebcc35d3f6ad9b4be6ad9b43e33b8e83e4824c4bd8bb5463ed4e3693f71a138be7589ba3e70f2ec3ef1c676b09eed493edcf76d3f0000000079b9bc3e33b8e83e4724c43d8bb5463ed4e3693f71a1383e7589ba3ecb3ddc3eab083f3eab083f3ebcc35d3f6ad9b43e6ad9b43ec60bc83eb124893e6a86363e9223493f0967043f5bb5ad3e3181d23ec4108fbe5e4abc3da61f533f139909bf6801343e34b8e83e8cb546be4824c43dd4e3693f7589babe71a1383e1a7cf63ef6c3cbbdf8c3cb3dee25773f79b13cbe79b13c3e1028fb3e8bdef7314e23cf3df7877b3f000000007d513e3e1a7cf63ef8c3cb3df7c3cb3dee25773f79b13c3e79b13c3e33b8e83e8bb5463e4824c43dd4e3693f7589ba3e71a1383e3181d23ec4108f3e5e4abc3da61f533f1399093f6801343ea21fd63e9b5e91bef74d06b1ada3563f17830bbf0000008070f2ec3e9fed49be835ae7b1dcf76d3f79b9bcbe000000801228fb3e4b23cfbd3aae83b1f7877b3f7d513ebe000000800000003f6c301b32784df83000fe7f3f00000000000000801028fb3e4e23cf3d8bde77aff7877b3f7d513e3e0000008070f2ec3e9fed493ef1c676b1dcf76d3f79b9bc3e00000080a31fd63e9b5e913e75364fb1ada3563f17830b3f000000803081d23ec5108fbe604abcbda61f533f139909bf680134be35b8e83e8ab546be4824c4bdd4e3693f7589babe71a138be1a7cf63ef6c3cbbdf7c3cbbdee25773f79b13cbe79b13cbe1028fb3e17eb1a324c23cfbdf7877b3f000000007d513ebe1a7cf63ef9c3cb3df7c3cbbdee25773f79b13c3e79b13cbe35b8e83e8ab5463e4724c4bdd4e3693f7589ba3e71a138be3081d23ec6108f3e5f4abcbda61f533f1399093f680134bec60bc83eaf2489be688636be9223493f096704bf5bb5adbecb3ddc3eaa083fbeaa083fbebcc35d3f6ad9b4be6ad9b4be35b8e83e4724c4bd8ab546bed4e3693f71a138be7589babe70f2ec3ef1c676319eed49bedcf76d3f0000000079b9bcbe35b8e83e4924c43d8bb546bed4e3693f71a1383e7589babecb3ddc3eab083f3eab083fbebcc35d3f6ad9b43e6ad9b4bec70bc83eb024893e698636be9223493f0967043f5bb5adbe1e8db73ed7d181bed7d181be736d393ff399f9bef399f9bec60bc83e6a8636beb02489be9223493f5bb5adbe096704bf3081d23e5f4abcbdc5108fbea61f533f680134be139909bfa31fd63ee095f5ae995e91beada3563f0000000017830bbf3081d23e5f4abc3dc5108fbea61f533f6801343e139909bfc60bc83e6986363eaf2489be9223493f5bb5ad3e096704bf1e8db73ed5d1813ed5d181be736d393ff399f93ef399f9bed7d1813ed7d181be1e8db7bef399f93ef399f9be736d39bfb024893e6a8636bec60bc8be0967043f5bb5adbe922349bfc6108f3e5f4abcbd3081d2be1399093f680134bea61f53bf9b5e913ec789c7b0a21fd6be17830b3f00000000ada356bfc7108f3e5f4abc3d2f81d2be1399093f6801343ea61f53bfaf24893e6c86363ec60bc8be0967043f5bb5ad3e922349bfd6d1813ed6d1813e1e8db7bef399f93ef399f93e736d39bf6a86363eb02489bec50bc8be5bb5ad3e096704bf922349bfab083f3eab083fbecb3ddcbe6ad9b43e6ad9b4bebcc35dbf8bb5463e4824c4bd33b8e8be7589ba3e71a138bed4e369bf9fed493ef1c676b070f2ecbe79b9bc3e00000000dcf76dbf8cb5463e4724c43d33b8e8be7589ba3e71a1383ed4e369bfab083f3eab083f3ecb3ddcbe6ad9b43e6ad9b43ebcc35dbf6a86363eb024893ec50bc8be5bb5ad3e0967043f922349bf5e4abc3dc5108fbe3181d2be6801343e139909bfa61f53bf4824c43d8cb546be34b8e8be71a1383e7589babed4e369bff8c3cb3df6c3cbbd1a7cf6be79b13c3e79b13cbeee2577bf4f23cf3d8ddef7311028fbbe7d513e3e00000000f7877bbff8c3cb3df8c3cb3d1a7cf6be79b13c3e79b13c3eee2577bf4a24c43d8bb5463e33b8e8be71a1383e7589ba3ed4e369bf604abc3dc4108f3e3181d2be6801343e1399093fa61f53bff74d06b19b5e91bea21fd6be0000008017830bbfada356bf835ae7b19fed49be70f2ecbe0000008079b9bcbedcf76dbf3aae83b14c23cfbd1028fbbe000000807d513ebef7877bbf7a4df8306d301b32000000bf0000008000000000000080bf8dde77af4f23cf3d1028fbbe000000807d513e3ef7877bbf00000080a1ed493e70f2ecbe0000008079b9bc3edcf76dbf683038309b5e913ea31fd6be0000008017830b3fada356bf604abcbdc5108fbe3081d2be680134be139909bfa61f53bf4824c4bd8ab546be35b8e8be71a138be7589babed4e369bff8c3cbbdf8c3cbbd1a7cf6be79b13cbe79b13cbeee2577bf4c23cfbd17eb1a321028fbbe7d513ebe00000000f7877bbff8c3cbbdfac3cb3d1a7cf6be79b13cbe79b13c3eee2577bf4824c4bd8bb5463e33b8e8be71a138be7589ba3ed4e369bf5f4abcbdc6108f3e3081d2be680134be1399093fa61f53bf688636beaf2489bec60bc8be5bb5adbe096704bf922349bfaa083fbeaa083fbecb3ddcbe6ad9b4be6ad9b4bebcc35dbf8ab546be4724c4bd35b8e8be7589babe71a138bed4e369bf9fed49bef3c6763170f2ecbe79b9bcbe00000000dcf76dbf8bb546be4924c43d35b8e8be7589babe71a1383ed4e369bfab083fbeab083f3ecb3ddcbe6ad9b4be6ad9b43ebcc35dbf6a8636beaf24893ec60bc8be5bb5adbe0967043f922349bfd7d181bed7d181be1e8db7bef399f9bef399f9be736d39bfb02489be6a8636bec60bc8be096704bf5bb5adbe922349bfc5108fbe5f4abcbd3081d2be139909bf680134bea61f53bf995e91bee095f5aea31fd6be17830bbf00000000ada356bfc5108fbe5f4abc3d3081d2be139909bf6801343ea61f53bfb02489be6986363ec60bc8be096704bf5bb5ad3e922349bfd5d181bed5d1813e1e8db7bef399f9bef399f93e736d39bf1e8db7bed7d181bed7d181be736d39bff399f9bef399f9bec60bc8be6a8636beb02489be922349bf5bb5adbe096704bf3081d2be5f4abcbdc6108fbea61f53bf680134be139909bfa21fd6bec789c7b09b5e91beada356bf0000000017830bbf2f81d2be5f4abc3dc7108fbea61f53bf6801343e139909bfc60bc8be6c86363eaf2489be922349bf5bb5ad3e096704bf1e8db7bed6d1813ed6d181be736d39bff399f93ef399f9bec50bc8beb02489be6a8636be922349bf096704bf5bb5adbecb3ddcbeab083fbeab083fbebcc35dbf6ad9b4be6ad9b4be33b8e8be4824c4bd8bb546bed4e369bf71a138be7589babe70f2ecbef1c676b09fed49bedcf76dbf0000000079b9bcbe33b8e8be4724c43d8cb546bed4e369bf71a1383e7589babecb3ddcbeab083f3eab083fbebcc35dbf6ad9b43e6ad9b4bec50bc8beb024893e6a8636be922349bf0967043f5bb5adbe3181d2bec5108fbe5e4abcbda61f53bf139909bf680134be34b8e8be8cb546be4824c4bdd4e369bf7589babe71a138be1a7cf6bef6c3cbbdf8c3cbbdee2577bf79b13cbe79b13cbe1028fbbe8ddef7314f23cfbdf7877bbf000000007d513ebe1a7cf6bef8c3cb3df8c3cbbdee2577bf79b13c3e79b13cbe33b8e8be8bb5463e4a24c4bdd4e369bf7589ba3e71a138be3181d2bec4108f3e604abcbda61f53bf1399093f680134bea21fd6be9b5e91bef74d0631ada356bf17830bbf0000008070f2ecbe9fed49be835ae731dcf76dbf79b9bcbe000000801028fbbe4c23cfbd3aae8331f7877bbf7d513ebe00000080000000bf6d301b327a4df8b0000080bf00000000000000801028fbbe4f23cf3d8dde772ff7877bbf7d513e3e0000008070f2ecbea1ed493e00000080dcf76dbf79b9bc3e00000080a31fd6be9b5e913e683038b0ada356bf17830b3f000000803081d2bec5108fbe614abc3da61f53bf139909bf6801343e35b8e8be8ab546be4824c43dd4e369bf7589babe71a1383e1a7cf6bef8c3cbbdf8c3cb3dee2577bf79b13cbe79b13c3e1028fbbe17eb1a324c23cf3df7877bbf000000007d513e3e1a7cf6befac3cb3df8c3cb3dee2577bf79b13c3e79b13c3e33b8e8be8bb5463e4824c43dd4e369bf7589ba3e71a1383e3081d2bec6108f3e5f4abc3da61f53bf1399093f6801343ec60bc8beaf2489be6886363e922349bf096704bf5bb5ad3ecb3ddcbeaa083fbeaa083f3ebcc35dbf6ad9b4be6ad9b43e35b8e8be4724c4bd8ab5463ed4e369bf71a138be7589ba3e70f2ecbef3c676319fed493edcf76dbf0000000079b9bc3e35b8e8be4924c43d8bb5463ed4e369bf71a1383e7589ba3ecb3ddcbeab083f3eab083f3ebcc35dbf6ad9b43e6ad9b43ec60bc8beaf24893e6a86363e922349bf0967043f5bb5ad3e1e8db7bed7d181bed7d1813e736d39bff399f9bef399f93ec60bc8be6a8636beb024893e922349bf5bb5adbe0967043f3081d2be5f4abcbdc5108f3ea61f53bf680134be1399093fa31fd6bee095f5ae995e913eada356bf0000000017830b3f3081d2be5f4abc3dc5108f3ea61f53bf6801343e1399093fc60bc8be6986363eb024893e922349bf5bb5ad3e0967043f1e8db7bed5d1813ed5d1813e736d39bff399f93ef399f93ed7d181bed7d181be1e8db73ef399f9bef399f9be736d393fb02489be6a8636bec60bc83e096704bf5bb5adbe9223493fc5108fbe5f4abcbd3081d23e139909bf680134bea61f533f9b5e91bec789c7b0a21fd63e17830bbf00000000ada3563fc7108fbe5f4abc3d2f81d23e139909bf6801343ea61f533faf2489be6c86363ec60bc83e096704bf5bb5ad3e9223493fd6d181bed6d1813e1e8db73ef399f9bef399f93e736d393f6a8636beb12489bec60bc83e5bb5adbe096704bf9223493fab083fbeab083fbecb3ddc3e6ad9b4be6ad9b4bebcc35d3f8bb546be4824c4bd33b8e83e7589babe71a138bed4e3693f9fed49bef1c676b070f2ec3e79b9bcbe00000000dcf76d3f8cb546be4724c43d33b8e83e7589babe71a1383ed4e3693fab083fbeab083f3ecb3ddc3e6ad9b4be6ad9b43ebcc35d3f6a8636beb024893ec50bc83e5bb5adbe0967043f9223493f5e4abcbdc5108fbe3181d23e680134be139909bfa61f533f4824c4bd8cb546be34b8e83e71a138be7589babed4e3693ff8c3cbbdf6c3cbbd1a7cf63e79b13cbe79b13cbeee25773f4f23cfbd8ddef7311028fb3e7d513ebe00000000f7877b3ff8c3cbbdf8c3cb3d1a7cf63e79b13cbe79b13c3eee25773f4a24c4bd8bb5463e33b8e83e71a138be7589ba3ed4e3693f604abcbdc4108f3e3181d23e680134be1399093fa61f533ff74d06319b5e91bea21fd63e0000008017830bbfada3563f835ae7319fed49be70f2ec3e0000008079b9bcbedcf76d3f3aae83314c23cfbd1028fb3e000000807d513ebef7877b3f7a4df8b06d301b320000003f00000080000000000000803f8dde772f4f23cf3d1028fb3e000000807d513e3ef7877b3f00000080a1ed493e70f2ec3e0000008079b9bc3edcf76d3f683038b09b5e913ea31fd63e0000008017830b3fada3563f614abc3dc5108fbe3081d23e6801343e139909bfa61f533f4824c43d8ab546be35b8e83e71a1383e7589babed4e3693ff8c3cb3df8c3cbbd1a7cf63e79b13c3e79b13cbeee25773f4c23cf3d17eb1a321028fb3e7d513e3e00000000f7877b3ff8c3cb3dfac3cb3d1a7cf63e79b13c3e79b13c3eee25773f4824c43d8bb5463e33b8e83e71a1383e7589ba3ed4e3693f5f4abc3dc6108f3e3081d23e6801343e1399093fa61f533f6886363eaf2489bec60bc83e5bb5ad3e096704bf9223493faa083f3eaa083fbecb3ddc3e6ad9b43e6ad9b4bebcc35d3f8bb5463e4724c4bd35b8e83e7589ba3e71a138bed4e3693f9fed493ef3c6763170f2ec3e79b9bc3e00000000dcf76d3f8bb5463e4924c43d35b8e83e7589ba3e71a1383ed4e3693fab083f3eab083f3ecb3ddc3e6ad9b43e6ad9b43ebcc35d3f6a86363eaf24893ec60bc83e5bb5ad3e0967043f9223493fd7d1813ed7d181be1e8db73ef399f93ef399f9be736d393fb024893e6a8636bec60bc83e0967043f5bb5adbe9223493fc5108f3e5f4abcbd3081d23e1399093f680134bea61f533f995e913ee095f5aea31fd63e17830b3f00000000ada3563fc5108f3e604abc3d3081d23e1399093f6801343ea61f533fb024893e6886363ec60bc83e0967043f5bb5ad3e9223493fd5d1813ed5d1813e1e8db73ef399f93ef399f93e736d393fd7d1813e1e8db7bed7d181bef399f93e736d39bff399f9be6986363ec70bc8beb02489be5bb5ad3e922349bf096704bf5e4abc3d3081d2bec5108fbe6801343ea61f53bf139909bf6830b8afa21fd6be9b5e91be00000080ada356bf17830bbf5f4abcbd2f81d2bec7108fbe680134bea61f53bf139909bf6a8636bec60bc8beaf2489be5bb5adbe922349bf096704bfd6d181be1e8db7bed6d181bef399f9be736d39bff399f9beaf24893ec60bc8be698636be0967043f922349bf5bb5adbeaa083f3ecb3ddcbeab083fbe6ad9b43ebcc35dbf6ad9b4be4724c43d35b8e8be8bb546be71a1383ed4e369bf7589babef1c676b070f2ecbe9fed49be00000080dcf76dbf79b9bcbe4724c4bd33b8e8be8cb546be71a138bed4e369bf7589babeab083fbecb3ddcbeab083fbe6ad9b4bebcc35dbf6ad9b4beb02489bec50bc8be6a8636be096704bf922349bf5bb5adbec5108f3e3181d2be5f4abcbd1399093fa61f53bf680134be8bb5463e35b8e8be4724c4bd7589ba3ed4e369bf71a138bef6c3cb3d1a7cf6bef8c3cbbd79b13c3eee2577bf79b13cbe3af319b21028fbbe4f23cfbd00000080f7877bbf7d513ebef8c3cbbd1a7cf6bef8c3cbbd79b13cbeee2577bf79b13cbe8cb546be33b8e8be4a24c4bd7589babed4e369bf71a138bec5108fbe3181d2be604abcbd139909bfa61f53bf680134be9b5e913ea21fd6bef74d063117830b3fada356bf000000809fed493e70f2ecbe835ae73179b9bc3edcf76dbf000000804c23cf3d1028fbbe8bde772f7d513e3ef7877bbf00000080b07732b2000000bf6d301bb200000080000080bf000000804f23cfbd1028fbbea36068b17d513ebef7877bbf00000080a1ed49be70f2ecbe0000008079b9bcbedcf76dbf000000809b5e91bea31fd6be683038b017830bbfada356bf00000080c6108f3e3081d2be614abc3d1399093fa61f53bf6801343e8bb5463e35b8e8be4824c43d7589ba3ed4e369bf71a1383ef8c3cb3d1a7cf6bef6c3cb3d79b13c3eee2577bf79b13c3e8bdef7b11028fbbe4c23cf3d00000080f7877bbf7d513e3efac3cbbd1a7cf6bef8c3cb3d79b13cbeee2577bf79b13c3e8bb546be33b8e8be4824c43d7589babed4e369bf71a1383ec6108fbe3081d2be5f4abc3d139909bfa61f53bf6801343eaf24893ec60bc8be6886363e0967043f922349bf5bb5ad3eab083f3ecb3ddcbeab083f3e6ad9b43ebcc35dbf6ad9b43e4824c43d35b8e8be8bb5463e71a1383ed4e369bf7589ba3e0000008070f2ecbe9fed493e00000080dcf76dbf79b9bc3e4924c4bd35b8e8be8bb5463e71a138bed4e369bf7589ba3eab083fbecb3ddcbeab083f3e6ad9b4bebcc35dbf6ad9b43eaf2489bec60bc8be6a86363e096704bf922349bf5bb5ad3ed7d1813e1e8db7bed7d1813ef399f93e736d39bff399f93e6a86363ec60bc8beb024893e5bb5ad3e922349bf0967043f604abc3d3081d2bec5108f3e6801343ea61f53bf1399093f4e240a31a31fd6be995e913e00000080ada356bf17830b3f604abcbd3081d2bec5108f3e680134bea61f53bf1399093f688636bec60bc8beb024893e5bb5adbe922349bf0967043fd5d181be1e8db7bed5d1813ef399f9be736d39bff399f93ed7d181be1e8db73ed7d181bef399f9be736d393ff399f9be6a8636bec60bc83eb02489be5bb5adbe9223493f096704bf5e4abcbd3081d23ec6108fbe680134bea61f533f139909bfc789c7b0a21fd63e9b5e91be00000080ada3563f17830bbf604abc3d2f81d23ec7108fbe6801343ea61f533f139909bf6a86363ec60bc83eaf2489be5bb5ad3e9223493f096704bfd7d1813e1e8db73ed6d181bef399f93e736d393ff399f9beb02489bec50bc83e6a8636be096704bf9223493f5bb5adbeaa083fbecb3ddc3eab083fbe6ad9b4bebcc35d3f6ad9b4be4824c4bd33b8e83e8bb546be71a138bed4e3693f7589babef1c676b070f2ec3e9fed49be00000080dcf76d3f79b9bcbe4724c43d33b8e83e8cb546be71a1383ed4e3693f7589babeab083f3ecb3ddc3eab083fbe6ad9b43ebcc35d3f6ad9b4beb024893ec50bc83e6a8636be0967043f9223493f5bb5adbec6108fbe3181d23e604abcbd139909bfa61f533f680134be8bb546be33b8e83e4824c4bd7589babed4e3693f71a138bef6c3cbbd1a7cf63ef8c3cbbd79b13cbeee25773f79b13cbecdeef5311028fb3e4f23cfbd00000080f7877b3f7d513ebef8c3cb3d1a7cf63ef9c3cbbd79b13c3eee25773f79b13cbe8cb5463e33b8e83e4a24c4bd7589ba3ed4e3693f71a138bec6108f3e3081d23e604abcbd1399093fa61f533f680134be9b5e91bea21fd63ef74d063117830bbfada3563f000000809fed49be70f2ec3ef3c6f6af79b9bcbedcf76d3f000000804b23cfbd1228fb3e6e0736b27d513ebef7877b3f00000080006e13320000003f94ab8bb2000000800000803f000000804e23cf3d1028fb3e6f0736b27d513e3ef7877b3f000000809fed493e70f2ec3ef1c676b179b9bc3edcf76d3f000000809b5e913ea21fd63e683038b017830b3fada3563f00000080c6108fbe3081d23e5f4abc3d139909bfa61f533f6801343e8bb546be35b8e83e4824c43d7589babed4e3693f71a1383ef7c3cbbd1a7cf63ef6c3cb3d79b13cbeee25773f79b13c3ecdeef5311028fb3e4c23cf3d00000080f7877b3f7d513e3ef9c3cb3d1a7cf63ef6c3cb3d79b13c3eee25773f79b13c3e8bb5463e33b8e83e4824c43d7589ba3ed4e3693f71a1383ec6108f3e2f81d23e5f4abc3d1399093fa61f533f6801343eaf2489bec60bc83e6986363e096704bf9223493f5bb5ad3eab083fbecb3ddc3eab083f3e6ad9b4bebcc35d3f6ad9b43e4824c4bd35b8e83e8bb5463e71a138bed4e3693f7589ba3ef3c6f6af70f2ec3e9fed493e00000080dcf76d3f79b9bc3e4924c43d35b8e83e8bb5463e71a1383ed4e3693f7589ba3eab083f3ecb3ddc3eab083f3e6ad9b43ebcc35d3f6ad9b43eb024893ec70bc83e6986363e0967043f9223493f5bb5ad3ed7d181be1e8db73ed7d1813ef399f9be736d393ff399f93e6a8636bec60bc83eb024893e5bb5adbe9223493f0967043f604abcbd3081d23ec5108f3e680134bea61f533f1399093f683038b1a31fd63e995e913e00000080ada3563f17830b3f604abc3d3081d23ec5108f3e6801343ea61f533f1399093f6986363ec60bc83eaf24893e5bb5ad3e9223493f0967043fd5d1813e1e8db73ed5d1813ef399f93e736d393ff399f93e00000000000000000100803f00000000000000000100803f0100803f0100803f00000000000000000100803f00000000000000000100803f0100803f0100803f000000000100803f00000000000000000100803f00000000000000000100803f00000000000000000100803f0100803f00000000000000000100803f0100803f0100803f00000000000000000100803f0100803f0100803f0100803f000000000100003e000000000100603f000000000100803e000000000200403f000000000200c03e000000000100203f000000000100003f000000000200c03e000000000100203f000000000100803e000000000200403f000000000100003e000000000100603f00000000000000000000003e0100803f0000003e000000000000803e0100803f0000803e000000000000c03e0100803f0000c03e000000000100003f0100803f0100003f000000000100203f0100803f0100203f000000000200403f0100803f0200403f000000000100603f0100803f0100603f0100003e0100803f0100603f0100803f0100803e0100803f0200403f0100803f0200c03e0100803f0100203f0100803f0100003f0100803f0200c03e0100803f0100203f0100803f0100803e0100803f0200403f0100803f0100003e0100803f0100603f0100803f000000000100603f0100803f0100603f000000000200403f0100803f0200403f000000000100203f0100803f0100203f000000000100003f0100803f0100003f000000000000c03e0100803f0000c03e000000000000803e0100803f0000803e000000000000003e0100803f0000003e0100003e000000000100803f0100603f0100803e000000000100803f0200403f0200c03e000000000100803f0100203f0100003f000000000100803f0100003f0100203f000000000100803f0000c03e0200403f000000000100803f0000803e0100603f000000000100803f0000003e0100603f0100803f0100803f0100603f0200403f0100803f0100803f0200403f0100203f0100803f0100803f0100203f0100003f0100803f0100803f0100003f0200c03e0100803f0100803f0000c03e0100803e0100803f0100803f0000803e0100003e0100803f0100803f0000003e000000000100603f0100803f0100603f000000000200403f0100803f0200403f000000000100203f0100803f0100203f000000000100003f0100803f0100003f000000000000c03e0100803f0000c03e000000000000803e0100803f0000803e000000000000003e0100803f0000003e0100003e0100803f0100003e000000000100803e0100803f0100803e000000000200c03e0100803f0200c03e000000000100003f0100803f0100003f000000000100203f0100803f0100203f000000000200403f0100803f0200403f000000000100603f0100803f0100603f000000000100603f0100803f0100603f000000000200403f0100803f0200403f000000000100203f0100803f0100203f000000000100003f0100803f0100003f000000000200c03e0100803f0200c03e000000000100803e0100803f0100803e000000000100003e0100803f0100003e00000000000000000100603f0100803f0100603f000000000200403f0100803f0200403f000000000100203f0100803f0100203f000000000100003f0100803f0100003f000000000000c03e0100803f0000c03e000000000000803e0100803f0000803e000000000000003e0100803f0000003e000000000000003e0100003e00000000000000000000803e0100803e00000000000000000000c03e0200c03e00000000000000000100003f0100003f00000000000000000100203f0100203f00000000000000000200403f0200403f00000000000000000100603f0100603f00000000000000000000003e0100603f0100803f000000000000803e0200403f0100803f000000000000c03e0100203f0100803f000000000100003f0100003f0100803f000000000100203f0200c03e0100803f000000000200403f0100803e0100803f000000000100603f0100003e0100803fffff5f3f0000003e0200603f0000803e0000603f0000c03e0200603f0100003f0000603f0000203fffff5f3f0200403fffff5f3f0000603f0100403f0000003e0200403f0000803e0200403f0000c03e0200403f0100003f0200403f0100203f0200403f0200403f0200403f0200603f0000203f0000003e0200203f0000803efeff1f3f0000c03e0200203f0100003ffeff1f3f0000203f0200203f0100403f0100203f0000603f0200003f0000003e0100003f0000803e0100003f0000c03e0100003f0100003f0100003f0100203f0100003f0200403f0100003f0200603f0000c03e0000003e0200c03e0000803e0000c03e0000c03e0200c03e0100003f0000c03e0000203f0200c03e0100403f0100c03e0000603f0100803e0000003e0100803e0000803e0100803e0000c03e0100803e0100003f0100803e0100203f0100803e0200403f0100803e0000603f0100003e0000003e0100003e0000803e0000003e0000c03e0100003e0100003f0000003e0000203f0100003e0200403f0100003e0000603fffff5f3f0000003e0200603f0000803e0000603f0000c03e0200603f0100003f0000603f0000203fffff5f3f0200403fffff5f3f0000603f0100403f0000003e0200403f0000803e0200403f0000c03e0200403f0100003f0200403f0100203f0200403f0200403f0200403f0200603f0000203f0000003e0200203f0000803efeff1f3f0000c03e0200203f0100003ffeff1f3f0000203f0200203f0100403f0100203f0000603f0200003f0000003e0100003f0000803e0100003f0000c03e0100003f0100003f0100003f0100203f0100003f0200403f0100003f0200603f0000c03e0000003e0200c03e0000803e0000c03e0000c03e0200c03e0100003f0000c03e0000203f0200c03e0100403f0100c03e0000603f0100803e0000003e0100803e0000803e0100803e0000c03e0100803e0100003f0100803e0100203f0100803e0200403f0100803e0000603f0100003e0000003e0100003e0000803e0000003e0000c03e0100003e0100003f0000003e0000203f0100003e0200403f0100003e0000603fffff5f3f0000003e0200603f0000803e0000603f0000c03e0200603f0100003f0000603f0000203fffff5f3f0200403fffff5f3f0000603f0100403f0000003e0200403f0000803e0200403f0000c03e0200403f0100003f0200403f0100203f0200403f0200403f0200403f0200603f0000203f0000003e0200203f0000803efeff1f3f0000c03e0200203f0100003ffeff1f3f0000203f0200203f0100403f0100203f0000603f0200003f0000003e0100003f0000803e0100003f0000c03e0100003f0100003f0100003f0100203f0100003f0200403f0100003f0200603f0000c03e0000003e0200c03e0000803e0000c03e0000c03e0200c03e0100003f0000c03e0000203f0200c03e0100403f0100c03e0000603f0100803e0000003e0100803e0000803e0100803e0000c03e0100803e0100003f0100803e0100203f0100803e0200403f0100803e0000603f0100003e0000003e0100003e0000803e0000003e0000c03e0100003e0100003f0000003e0000203f0100003e0200403f0100003e0000603fffff5f3f0000003e0200603f0000803e0000603f0000c03e0200603f0100003f0000603f0000203fffff5f3f0200403fffff5f3f0000603f0100403f0000003e0200403f0000803e0200403f0000c03e0200403f0100003f0200403f0100203f0200403f0200403f0200403f0200603f0000203f0000003e0200203f0000803efeff1f3f0000c03e0200203f0100003ffeff1f3f0000203f0200203f0100403f0100203f0000603f0200003f0000003e0100003f0000803e0100003f0000c03e0100003f0100003f0100003f0100203f0100003f0200403f0100003f0200603f0000c03e0000003e0200c03e0000803e0000c03e0000c03e0200c03e0100003f0000c03e0000203f0200c03e0100403f0100c03e0000603f0100803e0000003e0100803e0000803e0100803e0000c03e0100803e0100003f0100803e0100203f0100803e0200403f0100803e0000603f0100003e0000003e0100003e0000803e0000003e0000c03e0100003e0100003f0000003e0000203f0100003e0200403f0100003e0000603fffff5f3f0000003e0200603f0000803e0000603f0000c03e0200603f0100003f0000603f0000203fffff5f3f0200403fffff5f3f0000603f0100403f0000003e0200403f0000803e0200403f0000c03e0200403f0100003f0200403f0100203f0200403f0200403f0200403f0200603f0000203f0000003e0200203f0000803efeff1f3f0000c03e0200203f0100003ffeff1f3f0000203f0200203f0100403f0100203f0000603f0200003f0000003e0100003f0000803e0100003f0000c03e0100003f0100003f0100003f0100203f0100003f0200403f0100003f0200603f0000c03e0000003e0200c03e0000803e0000c03e0000c03e0200c03e0100003f0000c03e0000203f0200c03e0100403f0100c03e0000603f0100803e0000003e0100803e0000803e0100803e0000c03e0100803e0100003f0100803e0100203f0100803e0200403f0100803e0000603f0100003e0000003e0100003e0000803e0000003e0000c03e0100003e0100003f0000003e0000203f0100003e0200403f0100003e0000603fffff5f3f0000003e0200603f0000803e0000603f0000c03e0200603f0100003f0000603f0000203fffff5f3f0200403fffff5f3f0000603f0100403f0000003e0200403f0000803e0200403f0000c03e0200403f0100003f0200403f0100203f0200403f0200403f0200403f0200603f0000203f0000003e0200203f0000803efeff1f3f0000c03e0200203f0100003ffeff1f3f0000203f0200203f0100403f0100203f0000603f0200003f0000003e0100003f0000803e0100003f0000c03e0100003f0100003f0100003f0100203f0100003f0200403f0100003f0200603f0000c03e0000003e0200c03e0000803e0000c03e0000c03e0200c03e0100003f0000c03e0000203f0200c03e0100403f0100c03e0000603f0100803e0000003e0100803e0000803e0100803e0000c03e0100803e0100003f0100803e0100203f0100803e0200403f0100803e0000603f0100003e0000003e0100003e0000803e0000003e0000c03e0100003e0100003f0000003e0000203f0100003e0200403f0100003e0000603f - m_CompressedMesh: - m_Vertices: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_UV: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_Normals: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_Tangents: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_Weights: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_NormalSigns: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_TangentSigns: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_FloatColors: - m_NumItems: 0 - m_Range: 0 - m_Start: 0 - m_Data: - m_BitSize: 0 - m_BoneIndices: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_Triangles: - m_NumItems: 0 - m_Data: - m_BitSize: 0 - m_UVInfo: 0 - m_LocalAABB: - m_Center: {x: 0, y: 0, z: 0} - m_Extent: {x: 0.5, y: 0.5, z: 0.5} - m_MeshUsageFlags: 0 - m_BakedConvexCollisionMesh: - m_BakedTriangleCollisionMesh: - m_MeshMetrics[0]: 1 - m_MeshMetrics[1]: 1 - m_MeshOptimizationFlags: 1 - m_StreamData: - serializedVersion: 2 - offset: 0 - size: 0 - path: diff --git a/Tests/Runtime/Export/Models/Sphere.mesh.meta b/Tests/Runtime/Export/Models/Sphere.mesh.meta deleted file mode 100644 index 819644bcd..000000000 --- a/Tests/Runtime/Export/Models/Sphere.mesh.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 52124697381bf4f0284e31e9240f1854 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 4300000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Models/Submesh.fbx b/Tests/Runtime/Export/Models/Submesh.fbx deleted file mode 100644 index adcb903197e34b6b960b8bdab7d37d90d6a8c061..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15452 zcmc&*eT*DOmG6z$-t`Ag9JqXt#B7KiCw9D9uTAWHzyv+O4~EtUG;wT-mCXsy{ei$Y%k~S!0s6vzN=^0_3U7|r^kAyb>>RT zn&`5ss#ecB0V^}Fud%Epqs0cai0TM_(x}^f z(8~qOr4V#SmrG6tRn}hyKchuDxs6<#rr$W_gN?B zdwGQt8t*qwxP^jS)|KBuMXdb2v?N-W64Vc}*W+Qh;CRq?&voU{o+~(Ngff%Y_w4TJ z@4b0%?>^k@>+SFF?Hh!I7l2>~uJzfR<2e~`-p~F89uF1#IlI6|tD{!ajhdOV6O7uS zy%m&X>20_=sr{^3yI*QK##KG%`2bxNG2?Ytwla6j z$%U%on?}XDp-Q+2m5|^cjrZM$o#hAoAYWEB|7F%pJI7rbp{jYqsOcKfV#%*~dCdlDt@oli zMHt70zTb(jh~mUhsZ?-t%DHA?ZqTzS5n5Ur=VIJN202D}Me;>KoFT+;NtxW`1EM)E~8KZwJ@RK=p9vFVZ6>!#Fh^pnmDSI7`><| zF-uPS_S}fSJvZ;~>*?#eMg8^m_4Pe0&@#ANOz1JU;H1b;dos-A2S9?@)^=P_=z4sO z+vPB8A9wNzqkAPpG~}Y1swAr%-UkJGN^^605_F1uDdYPiK_AxWm=ls1S2Ie}0lpR% zMnxRac$dWRq5*Algn`vcselCrQySMgj(jFReG%@j`}WS)zq{?n&wu~L=XQR5*PFk5 zM%q#4O|i+1`l5a9?%RXEo;_k^u(iIkLe&05af~yWl+Ai-$U0$&*j4U993kgaU^UR6 zL8$qFK@$s%B~Y+6rz)5#9c`vGwB(jm9CQ(6!LOC^LTACz(L2Kqz9D40H5sR2A#)eJ zbkbLa^af2z=NJnxnWuM(@NZp%w&b->Q*y4WQ8w-O143=|JK|&JN$(eZSYN8|w?^5t z-=7Qh9?do9j3{C?)AU;?S3$QF`aPPQ5qt%CQx0+haX>>{h_4yX4YN7B;EdV15Yq+6 zJ?~eLps3p;mExQX_b6&m&JCOrltDbfQfT5;M$R9t3n7!1b-PBRc@7olT+GKKegO=@ zNGx?XeP}pK`SokuSi(`Gn^~Z;u}n6!kWpvet`x!%OkRPV5PjZ(cE}d;l^hbaDWtw7 zq%iJr=Tic=9rX~IJaK-R@bgZV@!jz%#oFAG;VkeYA=#@*$N@>RCEG*F8-z-h!|D|g z)D6DXtj=$115`l~`f;I8Dy9bDmlElpd+E$+y5W@28-qPkDTjV>EPx88F-0~X>;r=U zN+?fIBq{5o%%}V~dW{0l+7VMU%SVAm z8R5@X_q6YaM_>oz@ivW~P8%X^n0Dr!!0~cUIo9;~UA4!JFj*HKh19qFOX-tRR0Db* z58a3(D-_N)v+|mvZqS-hs{uxx_*9Xp2OwUoJb_t{FDZbDMn^d0_(dlSmLF}5^N5hr zelL?-AyQP zqZ*FL!^8d(7Jf@7!Nwpv>)2^%*pxrvJ0>57abF3oZ zDfhVFHtq-OaXHH)HC!FP-xb`9=9eQPxT|9KSAgaC^lDhHxQ+(4SH_q?#X3|sGF!B> z4kN^^7#o9j6>j}xI&k~m{W5?lt>I{Kj_*p6^)e(Vsg!poQBF6byeEnBv+0!fQX;oM zY(|;LEmvGAa@tFY+#V20BltxQH5p+0O-b3n!%qm^O&Aw=IM>Dz9a6TOGv){5ZqW@V zy+Xsli}uzFf^nJ6fxZ^da-ZuC;s7WF@KGWl=z^Uq&SwtJt?l4v!L^Wd3lwS^43;PgYseC44D`I_m zAo^F~$B;7OWff6q2X^6B=&p*|ehB(2pi;=|wUCVCRaDnY^ytS@$r9c9$EjqAzPtur zn8ajC*tsQ@ERo6kQ^^vUd|Jq^)0(7hXS_uxa6^@ECnOaAAyh_~l6f@U#`a;im)3Ad z_r^?0=vHB3pGpR8&BD$NjDisqHK8bzqMW;21ZM=Jd}>nk}S^)#?5+MIOH-eI8bxEg>bQ@p;`YfElx5_OA<{r zg=tBs#~Z+C<(`*NFE@p0NvQ2T^}303(~?lf1csY$lHwpA<9<|r$Xh71=0eXl0clB~ z|7!x$k~llB);oeS)o^t_?)&!*h0%7C%28MD3C;M$4xT)V(Cl59sEY2dpE`0@k(19c(b;bU(zl436n5rIL?bVZt@o)4A&1x>G^H zLL=JG9tv?q*-cfNTPhB{kA<|o7j?HGiN1sb*8F&fddBz*k@V8W-f=di zO5yTDZ3^n%08)mLuco5vN4JDK<{tIyXH6dk|Qoqs5QO8Da zwi3)^H9fWHdkbFzK~!S9b!)b3@I9!-kZ@eNb&1U@wM&?Ac0+a)?g1g+p~m z=W)vG5m2#SL>UQ3%d-4BM z&yB#f#La$;EOm2G>xPkA1(=eJG((OJ8|nuQRjCg$4*`-Sl2dZ)rUsc?ZhB_MWdLy;vKk26IkGKf!mWnWv%;wi3U);rbkI7#x9!yY8Zj%21M5n`4pL%Pa*#Ly zJSx(NSrMMWRI(laozU;r`lB6Z7jb~eea}=E*f;owkiJKg(mbl92bW5|$2=*`i}nqU z!|ynHG!U49KE9eS@BrWUQuKl5s?;0S!$71y_Td5|;|xx11+gWKDB$z_ICV>npi7_J zmUm%D*5EbbrqvxCxQ_3*|7U6nRkBVMY|pVeqDqyZ@mO{L4K=vfEL(exySvaTn$s_g zFrpvgo zNy4Z(-doem#VUn3SWqELhv*Dx9u`<)RS)MKJUnSsbgG{iu=y|KExWt~F}{S%hQH}W z$fvEUeM6e>@N!Jdjl#)BR9#m6`M^p-s$tX(VDBp!{B>Sm!u@i|tW>Z|Ga9j1<>Y+Gsie~podX?m?eUNf+pwkQrnU6xUH3~2xqLIRjgG)D=GiY5T+_+9&HAgwo2J#D(Mnb z5QtN?{W(e(JwZBAKI2UV{t&MS3g`Wl^eV)m^d<9qIUtyuFZbM=JP-5d6mg#d=|l8}M}c1=^Pk~Yt}6~yy^Xfx|h z&_^fClJdZ6$kavnIZ7?4BC}m z__&eo$Gq@z1k854@ZKvn{f%;)|9s-~=hcl;^kO~SYP|4iz^%dy&j@+jUU&eiF+JcI9uc{ZO@%|6BX#D!;quv&UZk S&Cfn`_O(r~R35p0;~xR|CNHl5 diff --git a/Tests/Runtime/Export/Models/Submesh.fbx.meta b/Tests/Runtime/Export/Models/Submesh.fbx.meta deleted file mode 100644 index fb33db42f..000000000 --- a/Tests/Runtime/Export/Models/Submesh.fbx.meta +++ /dev/null @@ -1,97 +0,0 @@ -fileFormatVersion: 2 -guid: 46e6c0cd0c7d34d5793180969a50fde4 -ModelImporter: - serializedVersion: 19301 - internalIDToNameTable: [] - 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.5 - animationPositionError: 0.5 - animationScaleError: 0.5 - animationWrapMode: 0 - extraExposedTransformPaths: [] - extraUserProperties: [] - clipAnimations: [] - isReadable: 1 - 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 - preserveHierarchy: 0 - skinWeightsMode: 0 - maxBonesPerVertex: 4 - minBoneWeight: 0.001 - meshOptimizationFlags: -1 - indexFormat: 0 - secondaryUVAngleDistortion: 8 - secondaryUVAreaDistortion: 15.000001 - secondaryUVHardAngle: 88 - 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: [] - skeleton: [] - armTwist: 0.5 - foreArmTwist: 0.5 - upperLegTwist: 0.5 - legTwist: 0.5 - armStretch: 0.05 - legStretch: 0.05 - feetSpacing: 0 - globalScale: 1 - rootMotionBoneName: - hasTranslationDoF: 0 - hasExtraRoot: 0 - skeletonHasParents: 1 - lastHumanDescriptionAvatarSource: {instanceID: 0} - autoGenerateAvatarMappingIfUnspecified: 1 - animationType: 2 - humanoidOversampling: 1 - avatarSetup: 0 - additionalBone: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Models/textures.meta b/Tests/Runtime/Export/Models/textures.meta deleted file mode 100644 index d720ed2b4..000000000 --- a/Tests/Runtime/Export/Models/textures.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 556e0db26afae4d12a9d0df370582e5c -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Models/textures/ColorGrid.png b/Tests/Runtime/Export/Models/textures/ColorGrid.png deleted file mode 100644 index 85572e799..000000000 --- a/Tests/Runtime/Export/Models/textures/ColorGrid.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b9d3dae15e94f39ab0d03912442250435891503c49f76920dd01e32a2ffd7231 -size 17906 diff --git a/Tests/Runtime/Export/Models/textures/ColorGrid.png.meta b/Tests/Runtime/Export/Models/textures/ColorGrid.png.meta deleted file mode 100644 index 74e21fb43..000000000 --- a/Tests/Runtime/Export/Models/textures/ColorGrid.png.meta +++ /dev/null @@ -1,92 +0,0 @@ -fileFormatVersion: 2 -guid: 767b013dd53264d2a858edf8651b320d -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 - 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 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 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/Tests/Runtime/Export/Models/textures/ColorGridAlpha.png b/Tests/Runtime/Export/Models/textures/ColorGridAlpha.png deleted file mode 100644 index 4e426d07e..000000000 --- a/Tests/Runtime/Export/Models/textures/ColorGridAlpha.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ffdfeee5847a2cb0af51cd55775608c83dfa8034b30cbc48c3a72debeaab6b91 -size 16335 diff --git a/Tests/Runtime/Export/Models/textures/ColorGridAlpha.png.meta b/Tests/Runtime/Export/Models/textures/ColorGridAlpha.png.meta deleted file mode 100644 index 276d442ac..000000000 --- a/Tests/Runtime/Export/Models/textures/ColorGridAlpha.png.meta +++ /dev/null @@ -1,92 +0,0 @@ -fileFormatVersion: 2 -guid: 1e22bd6b46ceb4d0c99cfdb552ec8586 -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 - 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 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 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/Tests/Runtime/Export/Models/textures/ColorGridGloss.png b/Tests/Runtime/Export/Models/textures/ColorGridGloss.png deleted file mode 100644 index 1dac0a0a2..000000000 --- a/Tests/Runtime/Export/Models/textures/ColorGridGloss.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ca1170882177bdfeb6f9727840e9d3537c3ec11a1ae1278c8883d0e6e34ef23c -size 14700 diff --git a/Tests/Runtime/Export/Models/textures/ColorGridGloss.png.meta b/Tests/Runtime/Export/Models/textures/ColorGridGloss.png.meta deleted file mode 100644 index f178e3862..000000000 --- a/Tests/Runtime/Export/Models/textures/ColorGridGloss.png.meta +++ /dev/null @@ -1,92 +0,0 @@ -fileFormatVersion: 2 -guid: 9d014c3036a784f1ba3c2162892d4332 -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 - 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 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 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/Tests/Runtime/Export/Models/textures/IdenticalTextureName.meta b/Tests/Runtime/Export/Models/textures/IdenticalTextureName.meta deleted file mode 100644 index 3afcb1c5c..000000000 --- a/Tests/Runtime/Export/Models/textures/IdenticalTextureName.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 84220c9f719454be38bbe83e0ef34343 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Models/textures/IdenticalTextureName/ColorGrid.png b/Tests/Runtime/Export/Models/textures/IdenticalTextureName/ColorGrid.png deleted file mode 100644 index 5991de398..000000000 --- a/Tests/Runtime/Export/Models/textures/IdenticalTextureName/ColorGrid.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a07a0e48b84c2ed88c88c3ed92afbf1e6a4090821d7e30a6af694b18942d1f9a -size 98 diff --git a/Tests/Runtime/Export/Models/textures/IdenticalTextureName/ColorGrid.png.meta b/Tests/Runtime/Export/Models/textures/IdenticalTextureName/ColorGrid.png.meta deleted file mode 100644 index 57b9cb958..000000000 --- a/Tests/Runtime/Export/Models/textures/IdenticalTextureName/ColorGrid.png.meta +++ /dev/null @@ -1,92 +0,0 @@ -fileFormatVersion: 2 -guid: 3326e027ad30e438497b1e9501c81126 -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 - 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 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 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/Tests/Runtime/Export/Models/textures/WrapModeCC.png b/Tests/Runtime/Export/Models/textures/WrapModeCC.png deleted file mode 100644 index c76395518..000000000 --- a/Tests/Runtime/Export/Models/textures/WrapModeCC.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7c2a7995c055fae2c1d9014004e128fe8b46883a0643d4573bc5fe98e6fbc882 -size 189 diff --git a/Tests/Runtime/Export/Models/textures/WrapModeCC.png.meta b/Tests/Runtime/Export/Models/textures/WrapModeCC.png.meta deleted file mode 100644 index e2a04bf8c..000000000 --- a/Tests/Runtime/Export/Models/textures/WrapModeCC.png.meta +++ /dev/null @@ -1,128 +0,0 @@ -fileFormatVersion: 2 -guid: bbd3f185f05f844dd92970012dca4cf4 -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 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 0 - aniso: 1 - mipBias: 0 - wrapU: 1 - wrapV: 1 - 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 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 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 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: WebGL - 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/Tests/Runtime/Export/Models/textures/WrapModeCM.png b/Tests/Runtime/Export/Models/textures/WrapModeCM.png deleted file mode 100644 index c76395518..000000000 --- a/Tests/Runtime/Export/Models/textures/WrapModeCM.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7c2a7995c055fae2c1d9014004e128fe8b46883a0643d4573bc5fe98e6fbc882 -size 189 diff --git a/Tests/Runtime/Export/Models/textures/WrapModeCM.png.meta b/Tests/Runtime/Export/Models/textures/WrapModeCM.png.meta deleted file mode 100644 index f098e5c8f..000000000 --- a/Tests/Runtime/Export/Models/textures/WrapModeCM.png.meta +++ /dev/null @@ -1,128 +0,0 @@ -fileFormatVersion: 2 -guid: 8397722a4633b414e8c1fd1613e3523b -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 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 0 - aniso: 1 - mipBias: 0 - wrapU: 1 - wrapV: 2 - 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 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 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 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: WebGL - 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/Tests/Runtime/Export/Models/textures/WrapModeCM1.png b/Tests/Runtime/Export/Models/textures/WrapModeCM1.png deleted file mode 100644 index c76395518..000000000 --- a/Tests/Runtime/Export/Models/textures/WrapModeCM1.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7c2a7995c055fae2c1d9014004e128fe8b46883a0643d4573bc5fe98e6fbc882 -size 189 diff --git a/Tests/Runtime/Export/Models/textures/WrapModeCM1.png.meta b/Tests/Runtime/Export/Models/textures/WrapModeCM1.png.meta deleted file mode 100644 index a0c38444c..000000000 --- a/Tests/Runtime/Export/Models/textures/WrapModeCM1.png.meta +++ /dev/null @@ -1,128 +0,0 @@ -fileFormatVersion: 2 -guid: 5d1f1dee9f31c454597e64a24efda03b -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 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 0 - aniso: 1 - mipBias: 0 - wrapU: 1 - wrapV: 3 - 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 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 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 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: WebGL - 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/Tests/Runtime/Export/Models/textures/WrapModeCR.png b/Tests/Runtime/Export/Models/textures/WrapModeCR.png deleted file mode 100644 index c76395518..000000000 --- a/Tests/Runtime/Export/Models/textures/WrapModeCR.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7c2a7995c055fae2c1d9014004e128fe8b46883a0643d4573bc5fe98e6fbc882 -size 189 diff --git a/Tests/Runtime/Export/Models/textures/WrapModeCR.png.meta b/Tests/Runtime/Export/Models/textures/WrapModeCR.png.meta deleted file mode 100644 index bda4c0a1c..000000000 --- a/Tests/Runtime/Export/Models/textures/WrapModeCR.png.meta +++ /dev/null @@ -1,128 +0,0 @@ -fileFormatVersion: 2 -guid: b674fc2c490dc4f7f9de586756a79d63 -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 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 0 - aniso: 1 - mipBias: 0 - wrapU: 1 - 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 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 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 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: WebGL - 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/Tests/Runtime/Export/Models/textures/WrapModeM1C.png b/Tests/Runtime/Export/Models/textures/WrapModeM1C.png deleted file mode 100644 index c76395518..000000000 --- a/Tests/Runtime/Export/Models/textures/WrapModeM1C.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7c2a7995c055fae2c1d9014004e128fe8b46883a0643d4573bc5fe98e6fbc882 -size 189 diff --git a/Tests/Runtime/Export/Models/textures/WrapModeM1C.png.meta b/Tests/Runtime/Export/Models/textures/WrapModeM1C.png.meta deleted file mode 100644 index b99d814af..000000000 --- a/Tests/Runtime/Export/Models/textures/WrapModeM1C.png.meta +++ /dev/null @@ -1,128 +0,0 @@ -fileFormatVersion: 2 -guid: e98d004f3448e4ddda4eabc19824d096 -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 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 0 - aniso: 1 - mipBias: 0 - wrapU: 3 - wrapV: 1 - 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 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 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 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: WebGL - 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/Tests/Runtime/Export/Models/textures/WrapModeMC.png b/Tests/Runtime/Export/Models/textures/WrapModeMC.png deleted file mode 100644 index c76395518..000000000 --- a/Tests/Runtime/Export/Models/textures/WrapModeMC.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7c2a7995c055fae2c1d9014004e128fe8b46883a0643d4573bc5fe98e6fbc882 -size 189 diff --git a/Tests/Runtime/Export/Models/textures/WrapModeMC.png.meta b/Tests/Runtime/Export/Models/textures/WrapModeMC.png.meta deleted file mode 100644 index cb456c0d5..000000000 --- a/Tests/Runtime/Export/Models/textures/WrapModeMC.png.meta +++ /dev/null @@ -1,128 +0,0 @@ -fileFormatVersion: 2 -guid: 75e499255c5264ef89148576f58a98c3 -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 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 0 - aniso: 1 - mipBias: 0 - wrapU: 2 - wrapV: 1 - 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 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 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 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: WebGL - 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/Tests/Runtime/Export/Models/textures/WrapModeRC.png b/Tests/Runtime/Export/Models/textures/WrapModeRC.png deleted file mode 100644 index c76395518..000000000 --- a/Tests/Runtime/Export/Models/textures/WrapModeRC.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7c2a7995c055fae2c1d9014004e128fe8b46883a0643d4573bc5fe98e6fbc882 -size 189 diff --git a/Tests/Runtime/Export/Models/textures/WrapModeRC.png.meta b/Tests/Runtime/Export/Models/textures/WrapModeRC.png.meta deleted file mode 100644 index 401f14f8a..000000000 --- a/Tests/Runtime/Export/Models/textures/WrapModeRC.png.meta +++ /dev/null @@ -1,128 +0,0 @@ -fileFormatVersion: 2 -guid: 580c0e15a130842e28165cdc9eb717b3 -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 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 0 - aniso: 1 - mipBias: 0 - wrapU: 0 - wrapV: 1 - 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 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 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 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: WebGL - 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/Tests/Runtime/Export/Models/textures/clearcoat.png b/Tests/Runtime/Export/Models/textures/clearcoat.png deleted file mode 100644 index 259bbdd53..000000000 --- a/Tests/Runtime/Export/Models/textures/clearcoat.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c0af343c4d9c1e10498acd5d36ab1ca8ed20fe66628af3a69ec42a645555d405 -size 5077 diff --git a/Tests/Runtime/Export/Models/textures/clearcoat.png.meta b/Tests/Runtime/Export/Models/textures/clearcoat.png.meta deleted file mode 100644 index 22e60ab7f..000000000 --- a/Tests/Runtime/Export/Models/textures/clearcoat.png.meta +++ /dev/null @@ -1,123 +0,0 @@ -fileFormatVersion: 2 -guid: 3a0e02ca8bf479e4d8ee66130b5e14a3 -TextureImporter: - internalIDToNameTable: [] - externalObjects: {} - serializedVersion: 12 - 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 - ignoreMasterTextureLimit: 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 - cookieLightType: 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 - - serializedVersion: 3 - buildTarget: Standalone - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - 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: [] - nameFileIdTable: {} - spritePackingTag: - pSDRemoveMatte: 0 - pSDShowRemoveMatteOption: 0 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Models/textures/emissive.png b/Tests/Runtime/Export/Models/textures/emissive.png deleted file mode 100644 index 40a4a7719..000000000 --- a/Tests/Runtime/Export/Models/textures/emissive.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:98ad44369003519be9bf242d5ad4e4f6c6fa73f7e54f2876e84b52158dc555b9 -size 3009 diff --git a/Tests/Runtime/Export/Models/textures/emissive.png.meta b/Tests/Runtime/Export/Models/textures/emissive.png.meta deleted file mode 100644 index 0073d6586..000000000 --- a/Tests/Runtime/Export/Models/textures/emissive.png.meta +++ /dev/null @@ -1,92 +0,0 @@ -fileFormatVersion: 2 -guid: 9c4491c9e24fa4801a5c76a13c1e44d5 -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 - 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 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 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/Tests/Runtime/Export/Models/textures/metallic-smoothness.png b/Tests/Runtime/Export/Models/textures/metallic-smoothness.png deleted file mode 100644 index 2d3ee6869..000000000 --- a/Tests/Runtime/Export/Models/textures/metallic-smoothness.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e778e5c2b0bf61902b57cce368386d0e0999873078ea4301f572b59ca640923f -size 1342 diff --git a/Tests/Runtime/Export/Models/textures/metallic-smoothness.png.meta b/Tests/Runtime/Export/Models/textures/metallic-smoothness.png.meta deleted file mode 100644 index 2b66fdef1..000000000 --- a/Tests/Runtime/Export/Models/textures/metallic-smoothness.png.meta +++ /dev/null @@ -1,128 +0,0 @@ -fileFormatVersion: 2 -guid: 079386c5a28dd4ab09a087add2d047af -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 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 0 - 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 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - applyGammaDecoding: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 0 - 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: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: WebGL - 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/Tests/Runtime/Export/Models/textures/metallic.png b/Tests/Runtime/Export/Models/textures/metallic.png deleted file mode 100644 index b61817206..000000000 --- a/Tests/Runtime/Export/Models/textures/metallic.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7ec920a63eca700b1087e0a9f08222f26f29cfe12e76751c98aad2d70589380e -size 1338 diff --git a/Tests/Runtime/Export/Models/textures/metallic.png.meta b/Tests/Runtime/Export/Models/textures/metallic.png.meta deleted file mode 100644 index f25c489b7..000000000 --- a/Tests/Runtime/Export/Models/textures/metallic.png.meta +++ /dev/null @@ -1,128 +0,0 @@ -fileFormatVersion: 2 -guid: 5ef6154092f98438eb29c2098eab2698 -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 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 0 - 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 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - applyGammaDecoding: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 0 - 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: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: WebGL - 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/Tests/Runtime/Export/Models/textures/normal.png b/Tests/Runtime/Export/Models/textures/normal.png deleted file mode 100644 index 2a700dcb4..000000000 --- a/Tests/Runtime/Export/Models/textures/normal.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:dd0702b6b841c9d8d3487466a2c65e13871b5cc87c1022f2fb3d594083c6a82b -size 30059 diff --git a/Tests/Runtime/Export/Models/textures/normal.png.meta b/Tests/Runtime/Export/Models/textures/normal.png.meta deleted file mode 100644 index e3a1ca678..000000000 --- a/Tests/Runtime/Export/Models/textures/normal.png.meta +++ /dev/null @@ -1,92 +0,0 @@ -fileFormatVersion: 2 -guid: 3cdc0355bec344d4a9dee2cdad1e7cf3 -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 - 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: 1 - textureShape: 1 - singleChannelComponent: 0 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 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/Tests/Runtime/Export/Models/textures/occlusion.png b/Tests/Runtime/Export/Models/textures/occlusion.png deleted file mode 100644 index aac30aa2b..000000000 --- a/Tests/Runtime/Export/Models/textures/occlusion.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:ff91b3108fd139bcb15e1a7908ebe5762fcb9bc9d4ccbca209c615a39683dba5 -size 22996 diff --git a/Tests/Runtime/Export/Models/textures/occlusion.png.meta b/Tests/Runtime/Export/Models/textures/occlusion.png.meta deleted file mode 100644 index 16671ee7d..000000000 --- a/Tests/Runtime/Export/Models/textures/occlusion.png.meta +++ /dev/null @@ -1,92 +0,0 @@ -fileFormatVersion: 2 -guid: 86e3dd7e20359476581017099cdcfe63 -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 - 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 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 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/Tests/Runtime/Export/Models/textures/smoothness.png b/Tests/Runtime/Export/Models/textures/smoothness.png deleted file mode 100644 index a11467e0f..000000000 --- a/Tests/Runtime/Export/Models/textures/smoothness.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:203c1cd34571dcf79fb7b25d08baca098479e2f7e9af0f9f586676eb40b476a8 -size 1337 diff --git a/Tests/Runtime/Export/Models/textures/smoothness.png.meta b/Tests/Runtime/Export/Models/textures/smoothness.png.meta deleted file mode 100644 index 20efd0c8b..000000000 --- a/Tests/Runtime/Export/Models/textures/smoothness.png.meta +++ /dev/null @@ -1,128 +0,0 @@ -fileFormatVersion: 2 -guid: be9b3838ad12d459b97a6378956ca45f -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 - grayScaleToAlpha: 0 - generateCubemap: 6 - cubemapConvolution: 0 - seamlessCubemap: 0 - textureFormat: 1 - maxTextureSize: 2048 - textureSettings: - serializedVersion: 2 - filterMode: 0 - 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 - maxTextureSizeSet: 0 - compressionQualitySet: 0 - textureFormatSet: 0 - applyGammaDecoding: 0 - platformSettings: - - serializedVersion: 3 - buildTarget: DefaultTexturePlatform - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 0 - 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: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: Server - maxTextureSize: 2048 - resizeAlgorithm: 0 - textureFormat: -1 - textureCompression: 1 - compressionQuality: 50 - crunchedCompression: 0 - allowsAlphaSplitting: 0 - overridden: 0 - androidETC2FallbackOverride: 0 - forceMaximumCompressionQuality_BC6H_BC7: 0 - - serializedVersion: 3 - buildTarget: WebGL - 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/Tests/Runtime/Export/Prefabs.meta b/Tests/Runtime/Export/Prefabs.meta deleted file mode 100644 index c84703cbb..000000000 --- a/Tests/Runtime/Export/Prefabs.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: b5b28b2da71bf4cdc9b6dfa5ac50a1ba -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/BaseColorSmoothnessMetalOcclusionTexture.prefab b/Tests/Runtime/Export/Prefabs/BaseColorSmoothnessMetalOcclusionTexture.prefab deleted file mode 100644 index 5b7a98fe5..000000000 --- a/Tests/Runtime/Export/Prefabs/BaseColorSmoothnessMetalOcclusionTexture.prefab +++ /dev/null @@ -1,227 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &5555586152144479424 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 224637969685027183} - m_Layer: 0 - m_Name: sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &224637969685027183 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5555586152144479424} - m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 725579417060321838} - m_Father: {fileID: 8245904734771390783} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0} ---- !u!1 &6373768669050523616 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 725579417060321838} - - component: {fileID: 7732608652216892788} - - component: {fileID: 8364787699709841009} - m_Layer: 0 - m_Name: Sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &725579417060321838 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6373768669050523616} - 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: 224637969685027183} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &7732608652216892788 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6373768669050523616} - m_Mesh: {fileID: 4300000, guid: 52124697381bf4f0284e31e9240f1854, type: 2} ---- !u!23 &8364787699709841009 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6373768669050523616} - 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: d704a68ccb7544514869c4babffa3a15, 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!1 &8245904733867057373 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8245904733867057372} - - component: {fileID: 8245904733867057374} - - component: {fileID: 8245904733867057375} - m_Layer: 0 - m_Name: Plane - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8245904733867057372 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8245904733867057373} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 1} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 8245904734771390783} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &8245904733867057374 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8245904733867057373} - m_Mesh: {fileID: 4300000, guid: 8d3a3f6dd59ab419baf067a12c03d313, type: 2} ---- !u!23 &8245904733867057375 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8245904733867057373} - 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: d704a68ccb7544514869c4babffa3a15, 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!1 &8245904734771390780 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8245904734771390783} - m_Layer: 0 - m_Name: BaseColorSmoothnessMetalOcclusionTexture - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8245904734771390783 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8245904734771390780} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 31, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 8245904733867057372} - - {fileID: 224637969685027183} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Tests/Runtime/Export/Prefabs/BaseColorSmoothnessMetalOcclusionTexture.prefab.meta b/Tests/Runtime/Export/Prefabs/BaseColorSmoothnessMetalOcclusionTexture.prefab.meta deleted file mode 100644 index 28b88067c..000000000 --- a/Tests/Runtime/Export/Prefabs/BaseColorSmoothnessMetalOcclusionTexture.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 1c29e60d0685d4dfea6319359d11a0b1 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/BaseColorSmoothnessMetalTexture.prefab b/Tests/Runtime/Export/Prefabs/BaseColorSmoothnessMetalTexture.prefab deleted file mode 100644 index 63f4d7ea9..000000000 --- a/Tests/Runtime/Export/Prefabs/BaseColorSmoothnessMetalTexture.prefab +++ /dev/null @@ -1,227 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &1046444975686266201 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4648492211024367862} - m_Layer: 0 - m_Name: sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4648492211024367862 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1046444975686266201} - m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 5299917213528236983} - m_Father: {fileID: 3599368584910199415} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0} ---- !u!1 &2011135234609137273 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5299917213528236983} - - component: {fileID: 2941816593855608045} - - component: {fileID: 4001837610784786408} - m_Layer: 0 - m_Name: Sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &5299917213528236983 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2011135234609137273} - 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: 4648492211024367862} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &2941816593855608045 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2011135234609137273} - m_Mesh: {fileID: 4300000, guid: 52124697381bf4f0284e31e9240f1854, type: 2} ---- !u!23 &4001837610784786408 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2011135234609137273} - 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: 19cea812563534bf1aa5ad640646d70f, 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!1 &3599368584910199412 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3599368584910199415} - m_Layer: 0 - m_Name: BaseColorSmoothnessMetalTexture - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3599368584910199415 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3599368584910199412} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 30, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 3599368585411516167} - - {fileID: 4648492211024367862} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &3599368585411516164 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3599368585411516167} - - component: {fileID: 3599368585411516161} - - component: {fileID: 3599368585411516166} - m_Layer: 0 - m_Name: Plane - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3599368585411516167 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3599368585411516164} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 1} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 3599368584910199415} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &3599368585411516161 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3599368585411516164} - m_Mesh: {fileID: 4300000, guid: 8d3a3f6dd59ab419baf067a12c03d313, type: 2} ---- !u!23 &3599368585411516166 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3599368585411516164} - 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: 19cea812563534bf1aa5ad640646d70f, 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} diff --git a/Tests/Runtime/Export/Prefabs/BaseColorSmoothnessMetalTexture.prefab.meta b/Tests/Runtime/Export/Prefabs/BaseColorSmoothnessMetalTexture.prefab.meta deleted file mode 100644 index 02ab23e71..000000000 --- a/Tests/Runtime/Export/Prefabs/BaseColorSmoothnessMetalTexture.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 985cca58ca8ad48779838472dabe63f6 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/BaseColorSmoothnessTexture.prefab b/Tests/Runtime/Export/Prefabs/BaseColorSmoothnessTexture.prefab deleted file mode 100644 index 5a90a5346..000000000 --- a/Tests/Runtime/Export/Prefabs/BaseColorSmoothnessTexture.prefab +++ /dev/null @@ -1,227 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &917490846987174413 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6836041366735529923} - - component: {fileID: 4575665314643931289} - - component: {fileID: 2367217601757676444} - m_Layer: 0 - m_Name: Sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6836041366735529923 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 917490846987174413} - 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: 6328026756766143618} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &4575665314643931289 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 917490846987174413} - m_Mesh: {fileID: 4300000, guid: 52124697381bf4f0284e31e9240f1854, type: 2} ---- !u!23 &2367217601757676444 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 917490846987174413} - 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: fdd42a21a24f643b5a6acee1e24ae167, 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!1 &1861906317870115117 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6328026756766143618} - m_Layer: 0 - m_Name: sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6328026756766143618 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1861906317870115117} - m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 6836041366735529923} - m_Father: {fileID: 2783487831035117616} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0} ---- !u!1 &2783487829809862125 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2783487829809861906} - - component: {fileID: 2783487829809861904} - - component: {fileID: 2783487829809861907} - m_Layer: 0 - m_Name: Plane - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2783487829809861906 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2783487829809862125} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 1} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 2783487831035117616} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &2783487829809861904 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2783487829809862125} - m_Mesh: {fileID: 4300000, guid: 8d3a3f6dd59ab419baf067a12c03d313, type: 2} ---- !u!23 &2783487829809861907 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2783487829809862125} - 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: fdd42a21a24f643b5a6acee1e24ae167, 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!1 &2783487831035117619 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2783487831035117616} - m_Layer: 0 - m_Name: BaseColorSmoothnessTexture - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2783487831035117616 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2783487831035117619} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 29, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 2783487829809861906} - - {fileID: 6328026756766143618} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Tests/Runtime/Export/Prefabs/BaseColorSmoothnessTexture.prefab.meta b/Tests/Runtime/Export/Prefabs/BaseColorSmoothnessTexture.prefab.meta deleted file mode 100644 index d9dcf22b0..000000000 --- a/Tests/Runtime/Export/Prefabs/BaseColorSmoothnessTexture.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 5ae29474b4f794bef9af8b935730bef7 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/BaseColorTexture.prefab b/Tests/Runtime/Export/Prefabs/BaseColorTexture.prefab deleted file mode 100644 index 7fd000f33..000000000 --- a/Tests/Runtime/Export/Prefabs/BaseColorTexture.prefab +++ /dev/null @@ -1,227 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &5099081530072296974 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1488010685677079488} - - component: {fileID: 8500546420951768218} - - component: {fileID: 7683718685196857247} - m_Layer: 0 - m_Name: Sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1488010685677079488 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5099081530072296974} - 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: 2137429147106392193} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &8500546420951768218 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5099081530072296974} - m_Mesh: {fileID: 4300000, guid: 52124697381bf4f0284e31e9240f1854, type: 2} ---- !u!23 &7683718685196857247 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5099081530072296974} - 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: 7f512d016ff104d1385fc16252d730a5, 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!1 &6029993744090334510 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2137429147106392193} - m_Layer: 0 - m_Name: sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2137429147106392193 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6029993744090334510} - m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1488010685677079488} - m_Father: {fileID: 7843275890532157482} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0} ---- !u!1 &7843275889068220697 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7843275889068220696} - - component: {fileID: 7843275889068220698} - - component: {fileID: 7843275889068220699} - m_Layer: 0 - m_Name: Plane - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7843275889068220696 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7843275889068220697} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 1} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 7843275890532157482} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &7843275889068220698 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7843275889068220697} - m_Mesh: {fileID: 4300000, guid: 8d3a3f6dd59ab419baf067a12c03d313, type: 2} ---- !u!23 &7843275889068220699 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7843275889068220697} - 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: 7f512d016ff104d1385fc16252d730a5, 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!1 &7843275890532157483 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7843275890532157482} - m_Layer: 0 - m_Name: BaseColorTexture - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7843275890532157482 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7843275890532157483} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 9, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 7843275889068220696} - - {fileID: 2137429147106392193} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Tests/Runtime/Export/Prefabs/BaseColorTexture.prefab.meta b/Tests/Runtime/Export/Prefabs/BaseColorTexture.prefab.meta deleted file mode 100644 index eb6b7500c..000000000 --- a/Tests/Runtime/Export/Prefabs/BaseColorTexture.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 26824e03f48cf4efc941995413e8cf94 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/BaseColorTextureCutout.prefab b/Tests/Runtime/Export/Prefabs/BaseColorTextureCutout.prefab deleted file mode 100644 index dab914a25..000000000 --- a/Tests/Runtime/Export/Prefabs/BaseColorTextureCutout.prefab +++ /dev/null @@ -1,227 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &623213057469594365 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6540337776790757171} - - component: {fileID: 4295742131267864681} - - component: {fileID: 2650234467324164972} - m_Layer: 0 - m_Name: Sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6540337776790757171 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 623213057469594365} - 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: 6038244252758928498} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &4295742131267864681 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 623213057469594365} - m_Mesh: {fileID: 4300000, guid: 52124697381bf4f0284e31e9240f1854, type: 2} ---- !u!23 &2650234467324164972 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 623213057469594365} - 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: 1bfbd706e1c884812a7b58a1a1e79d5d, 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!1 &2146910833970500061 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6038244252758928498} - m_Layer: 0 - m_Name: sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6038244252758928498 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2146910833970500061} - m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 6540337776790757171} - m_Father: {fileID: 2503265295800656039} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0} ---- !u!1 &2503265295800656036 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2503265295800656039} - m_Layer: 0 - m_Name: BaseColorTextureCutout - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2503265295800656039 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2503265295800656036} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 10, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 2503265297564210169} - - {fileID: 6038244252758928498} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &2503265297564210174 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2503265297564210169} - - component: {fileID: 2503265297564210171} - - component: {fileID: 2503265297564210168} - m_Layer: 0 - m_Name: Plane - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2503265297564210169 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2503265297564210174} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 1} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 2503265295800656039} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &2503265297564210171 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2503265297564210174} - m_Mesh: {fileID: 4300000, guid: 8d3a3f6dd59ab419baf067a12c03d313, type: 2} ---- !u!23 &2503265297564210168 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2503265297564210174} - 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: 1bfbd706e1c884812a7b58a1a1e79d5d, 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} diff --git a/Tests/Runtime/Export/Prefabs/BaseColorTextureCutout.prefab.meta b/Tests/Runtime/Export/Prefabs/BaseColorTextureCutout.prefab.meta deleted file mode 100644 index 1b685ed03..000000000 --- a/Tests/Runtime/Export/Prefabs/BaseColorTextureCutout.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: b3ff2e7be18db40c08349ea257ef7cbd -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/BaseColorTextureFade.prefab b/Tests/Runtime/Export/Prefabs/BaseColorTextureFade.prefab deleted file mode 100644 index c7e8583ba..000000000 --- a/Tests/Runtime/Export/Prefabs/BaseColorTextureFade.prefab +++ /dev/null @@ -1,227 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &5164827327730524456 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 696470486562446471} - m_Layer: 0 - m_Name: sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &696470486562446471 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5164827327730524456} - m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 46594683057090502} - m_Father: {fileID: 8708582437401951304} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0} ---- !u!1 &5962875759175944712 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 46594683057090502} - - component: {fileID: 7060502532346542236} - - component: {fileID: 9124852653656771481} - m_Layer: 0 - m_Name: Sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &46594683057090502 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5962875759175944712} - 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: 696470486562446471} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &7060502532346542236 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5962875759175944712} - m_Mesh: {fileID: 4300000, guid: 52124697381bf4f0284e31e9240f1854, type: 2} ---- !u!23 &9124852653656771481 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5962875759175944712} - 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: 479b45e70e5a7495da5c20bf951ec851, 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!1 &8708582436844139552 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8708582436844139559} - - component: {fileID: 8708582436844139557} - - component: {fileID: 8708582436844139558} - m_Layer: 0 - m_Name: Plane - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8708582436844139559 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8708582436844139552} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 1} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 8708582437401951304} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &8708582436844139557 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8708582436844139552} - m_Mesh: {fileID: 4300000, guid: 8d3a3f6dd59ab419baf067a12c03d313, type: 2} ---- !u!23 &8708582436844139558 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8708582436844139552} - 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: 479b45e70e5a7495da5c20bf951ec851, 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!1 &8708582437401951305 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8708582437401951304} - m_Layer: 0 - m_Name: BaseColorTextureFade - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8708582437401951304 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8708582437401951305} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 11, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 8708582436844139559} - - {fileID: 696470486562446471} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Tests/Runtime/Export/Prefabs/BaseColorTextureFade.prefab.meta b/Tests/Runtime/Export/Prefabs/BaseColorTextureFade.prefab.meta deleted file mode 100644 index e33119819..000000000 --- a/Tests/Runtime/Export/Prefabs/BaseColorTextureFade.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 3a86ae160413e409fb65364feebaf093 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/BaseColorTextureTransform.prefab b/Tests/Runtime/Export/Prefabs/BaseColorTextureTransform.prefab deleted file mode 100644 index 03ca51205..000000000 --- a/Tests/Runtime/Export/Prefabs/BaseColorTextureTransform.prefab +++ /dev/null @@ -1,227 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &5470591057566845911 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1841580693088448025} - - component: {fileID: 8705708601668925763} - - component: {fileID: 7461038896213985862} - m_Layer: 0 - m_Name: Sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1841580693088448025 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5470591057566845911} - 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: 1189317863799922008} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &8705708601668925763 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5470591057566845911} - m_Mesh: {fileID: 4300000, guid: 52124697381bf4f0284e31e9240f1854, type: 2} ---- !u!23 &7461038896213985862 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5470591057566845911} - 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: 4138859cdfa3e40caa1f6e897456ca36, 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!1 &6811190220177842423 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1189317863799922008} - m_Layer: 0 - m_Name: sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1189317863799922008 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6811190220177842423} - m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1841580693088448025} - m_Father: {fileID: 7057153715754798031} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0} ---- !u!1 &7057153715754798030 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7057153715754798031} - m_Layer: 0 - m_Name: BaseColorTextureTransform - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7057153715754798031 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7057153715754798030} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 13, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 7057153717863917475} - - {fileID: 1189317863799922008} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &7057153717863917474 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7057153717863917475} - - component: {fileID: 7057153717863917473} - - component: {fileID: 7057153717863917472} - m_Layer: 0 - m_Name: Plane - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7057153717863917475 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7057153717863917474} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 1} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 7057153715754798031} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &7057153717863917473 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7057153717863917474} - m_Mesh: {fileID: 4300000, guid: 8d3a3f6dd59ab419baf067a12c03d313, type: 2} ---- !u!23 &7057153717863917472 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7057153717863917474} - 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: 4138859cdfa3e40caa1f6e897456ca36, 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} diff --git a/Tests/Runtime/Export/Prefabs/BaseColorTextureTransform.prefab.meta b/Tests/Runtime/Export/Prefabs/BaseColorTextureTransform.prefab.meta deleted file mode 100644 index 81d74904a..000000000 --- a/Tests/Runtime/Export/Prefabs/BaseColorTextureTransform.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: aac4be4be56c04b50897274f9064b8e9 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/BaseColorTextureTransparent.prefab b/Tests/Runtime/Export/Prefabs/BaseColorTextureTransparent.prefab deleted file mode 100644 index 6d63be992..000000000 --- a/Tests/Runtime/Export/Prefabs/BaseColorTextureTransparent.prefab +++ /dev/null @@ -1,227 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &4901542910963442060 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4901542910963442051} - m_Layer: 0 - m_Name: BaseColorTextureTransparent - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4901542910963442051 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4901542910963442060} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 12, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 4901542911290970288} - - {fileID: 3851847545848241244} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &4901542911290970289 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4901542911290970288} - - component: {fileID: 4901542911290970294} - - component: {fileID: 4901542911290970295} - m_Layer: 0 - m_Name: Plane - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4901542911290970288 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4901542911290970289} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 1} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4901542910963442051} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &4901542911290970294 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4901542911290970289} - m_Mesh: {fileID: 4300000, guid: 8d3a3f6dd59ab419baf067a12c03d313, type: 2} ---- !u!23 &4901542911290970295 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4901542911290970289} - 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: cdb8edde6665e4662bf6d3c55e017fb5, 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!1 &7934987615892130515 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4358173026784489245} - - component: {fileID: 6711823037196761159} - - component: {fileID: 4791588095660755778} - m_Layer: 0 - m_Name: Sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4358173026784489245 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7934987615892130515} - 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: 3851847545848241244} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &6711823037196761159 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7934987615892130515} - m_Mesh: {fileID: 4300000, guid: 52124697381bf4f0284e31e9240f1854, type: 2} ---- !u!23 &4791588095660755778 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7934987615892130515} - 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: cdb8edde6665e4662bf6d3c55e017fb5, 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!1 &8895728360277942771 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3851847545848241244} - m_Layer: 0 - m_Name: sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3851847545848241244 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8895728360277942771} - m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 4358173026784489245} - m_Father: {fileID: 4901542910963442051} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0} diff --git a/Tests/Runtime/Export/Prefabs/BaseColorTextureTransparent.prefab.meta b/Tests/Runtime/Export/Prefabs/BaseColorTextureTransparent.prefab.meta deleted file mode 100644 index 95077bc86..000000000 --- a/Tests/Runtime/Export/Prefabs/BaseColorTextureTransparent.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: ed59fb738842e4a128ad84414e02748a -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/Bounds.prefab b/Tests/Runtime/Export/Prefabs/Bounds.prefab deleted file mode 100644 index 6484d4044..000000000 --- a/Tests/Runtime/Export/Prefabs/Bounds.prefab +++ /dev/null @@ -1,114 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &1878571720307375283 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6384872455483799981} - m_Layer: 0 - m_Name: Bounds - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6384872455483799981 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1878571720307375283} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 6, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 3956305901120577679} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &3446311632002264216 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3956305901120577679} - - component: {fileID: 211579772939110041} - - component: {fileID: 3908601702685028753} - m_Layer: 0 - m_Name: AsymBoundsCube - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3956305901120577679 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3446311632002264216} - 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: 6384872455483799981} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &211579772939110041 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3446311632002264216} - m_Mesh: {fileID: 4300000, guid: af6bfba6721934ddea534920da04894f, type: 2} ---- !u!23 &3908601702685028753 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3446311632002264216} - 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: 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} diff --git a/Tests/Runtime/Export/Prefabs/Bounds.prefab.meta b/Tests/Runtime/Export/Prefabs/Bounds.prefab.meta deleted file mode 100644 index 9cfeac07d..000000000 --- a/Tests/Runtime/Export/Prefabs/Bounds.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 3b8a6a1dcde574f2b9d8709361a260e8 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/BoxVertexColors.prefab b/Tests/Runtime/Export/Prefabs/BoxVertexColors.prefab deleted file mode 100644 index b885c7682..000000000 --- a/Tests/Runtime/Export/Prefabs/BoxVertexColors.prefab +++ /dev/null @@ -1,207 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &692907834928529011 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6060515936326634734} - m_Layer: 0 - m_Name: Texture Group - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6060515936326634734 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 692907834928529011} - 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: 8630076944721824503} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &2774690736646702308 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8488108769735457949} - m_Layer: 0 - m_Name: BoxVertexColors - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8488108769735457949 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2774690736646702308} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 35, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 8630076944721824503} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &4276898842090237791 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5058808396902683680} - m_Layer: 0 - m_Name: Mesh - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &5058808396902683680 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4276898842090237791} - 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: 8630076944721824503} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &8040381375052535795 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1745545374713910845} - - component: {fileID: 5347482433546074947} - - component: {fileID: 640007408641535397} - m_Layer: 0 - m_Name: Cube - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1745545374713910845 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8040381375052535795} - 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: 8630076944721824503} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &5347482433546074947 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8040381375052535795} - m_Mesh: {fileID: 4300000, guid: 00a1677cb89154244900d5fd23969c83, type: 2} ---- !u!23 &640007408641535397 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8040381375052535795} - 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: 0e4e3c6171e5f44e2a96c50c0e5430b1, 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!1 &9020088923413087621 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8630076944721824503} - m_Layer: 0 - m_Name: RootNode - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8630076944721824503 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9020088923413087621} - 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: 1745545374713910845} - - {fileID: 5058808396902683680} - - {fileID: 6060515936326634734} - m_Father: {fileID: 8488108769735457949} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Tests/Runtime/Export/Prefabs/BoxVertexColors.prefab.meta b/Tests/Runtime/Export/Prefabs/BoxVertexColors.prefab.meta deleted file mode 100644 index 959fe7213..000000000 --- a/Tests/Runtime/Export/Prefabs/BoxVertexColors.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 5be1854a1ab874a308e65b5db418388a -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/Cameras.prefab b/Tests/Runtime/Export/Prefabs/Cameras.prefab deleted file mode 100644 index e0d183a02..000000000 --- a/Tests/Runtime/Export/Prefabs/Cameras.prefab +++ /dev/null @@ -1,185 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &1445058240995300831 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1445058240995300828} - - component: {fileID: 1445058240995300826} - m_Layer: 0 - m_Name: PerspectiveCamera - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1445058240995300828 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1445058240995300831} - m_LocalRotation: {x: 0.016826201, y: -0.76578194, z: 0.020052686, w: 0.64256734} - m_LocalPosition: {x: 0, y: 0.8, z: 4} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1445058241322456621} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 3, y: -100, z: 0} ---- !u!20 &1445058240995300826 -Camera: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1445058240995300831} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 1 - m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} - m_projectionMatrixMode: 1 - m_GateFitMode: 2 - m_FOVAxisMode: 0 - m_SensorSize: {x: 36, y: 24} - m_LensShift: {x: 0, y: 0} - m_FocalLength: 50 - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - near clip plane: 0.3 - far clip plane: 1000 - field of view: 10 - 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!1 &1445058241156919917 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1445058241156919914} - - component: {fileID: 1445058241156919912} - m_Layer: 0 - m_Name: OrthogonalCamera - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1445058241156919914 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1445058241156919917} - m_LocalRotation: {x: 0.016826201, y: -0.76578194, z: 0.020052686, w: 0.64256734} - m_LocalPosition: {x: 0, y: 0.8, z: 4} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1445058241322456621} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 3, y: -100, z: 0} ---- !u!20 &1445058241156919912 -Camera: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1445058241156919917} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 1 - m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} - m_projectionMatrixMode: 1 - m_GateFitMode: 2 - m_FOVAxisMode: 0 - m_SensorSize: {x: 36, y: 24} - m_LensShift: {x: 0, y: 0} - m_FocalLength: 50 - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - near clip plane: 0.3 - far clip plane: 1000 - field of view: 10 - orthographic: 1 - orthographic size: 1.8 - m_Depth: 0 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 8400000, guid: ecf3a3b1ff40b4f4286a810b213e836e, type: 2} - 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 &1445058241322456620 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1445058241322456621} - m_Layer: 0 - m_Name: Cameras - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1445058241322456621 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1445058241322456620} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 59, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1445058240995300828} - - {fileID: 1445058241156919914} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Tests/Runtime/Export/Prefabs/Cameras.prefab.meta b/Tests/Runtime/Export/Prefabs/Cameras.prefab.meta deleted file mode 100644 index e5fca5bc9..000000000 --- a/Tests/Runtime/Export/Prefabs/Cameras.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: a89df64aba53046ba99da011a2e3ac97 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/ClearcoatFactor.prefab b/Tests/Runtime/Export/Prefabs/ClearcoatFactor.prefab deleted file mode 100644 index cd6ab521b..000000000 --- a/Tests/Runtime/Export/Prefabs/ClearcoatFactor.prefab +++ /dev/null @@ -1,227 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &695671047794976344 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 695671047794976345} - - component: {fileID: 695671047794976347} - - component: {fileID: 695671047794976346} - m_Layer: 0 - m_Name: Plane - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &695671047794976345 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 695671047794976344} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 1} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 695671047801497549} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &695671047794976347 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 695671047794976344} - m_Mesh: {fileID: 4300000, guid: 8d3a3f6dd59ab419baf067a12c03d313, type: 2} ---- !u!23 &695671047794976346 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 695671047794976344} - 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: 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!1 &695671047801497548 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 695671047801497549} - m_Layer: 0 - m_Name: ClearcoatFactor - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &695671047801497549 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 695671047801497548} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 39, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 695671047794976345} - - {fileID: 8707358587528983294} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &2575213869647389809 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8203611465652863423} - - component: {fileID: 1191040554730215141} - - component: {fileID: 1143177165508683232} - m_Layer: 0 - m_Name: Sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8203611465652863423 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2575213869647389809} - 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: 8707358587528983294} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &1191040554730215141 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2575213869647389809} - m_Mesh: {fileID: 4300000, guid: 52124697381bf4f0284e31e9240f1854, type: 2} ---- !u!23 &1143177165508683232 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2575213869647389809} - 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: 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!1 &3950144647440764753 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8707358587528983294} - m_Layer: 0 - m_Name: sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8707358587528983294 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3950144647440764753} - m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 8203611465652863423} - m_Father: {fileID: 695671047801497549} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0} diff --git a/Tests/Runtime/Export/Prefabs/ClearcoatFactor.prefab.meta b/Tests/Runtime/Export/Prefabs/ClearcoatFactor.prefab.meta deleted file mode 100644 index d1885017d..000000000 --- a/Tests/Runtime/Export/Prefabs/ClearcoatFactor.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 58c997adcad2de54492e931bfa9c2d75 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/ClearcoatTexture.prefab b/Tests/Runtime/Export/Prefabs/ClearcoatTexture.prefab deleted file mode 100644 index 3ed720aa5..000000000 --- a/Tests/Runtime/Export/Prefabs/ClearcoatTexture.prefab +++ /dev/null @@ -1,227 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &1604292218823750543 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1604292218823750536} - - component: {fileID: 1604292218823750538} - - component: {fileID: 1604292218823750537} - m_Layer: 0 - m_Name: Plane - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1604292218823750536 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1604292218823750543} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 1} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1604292218941850421} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &1604292218823750538 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1604292218823750543} - m_Mesh: {fileID: 4300000, guid: 8d3a3f6dd59ab419baf067a12c03d313, type: 2} ---- !u!23 &1604292218823750537 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1604292218823750543} - 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: 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!1 &1604292218941850420 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1604292218941850421} - m_Layer: 0 - m_Name: ClearcoatTexture - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1604292218941850421 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1604292218941850420} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 40, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1604292218823750536} - - {fileID: 7436237812042321825} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &2969466191210279438 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7436237812042321825} - m_Layer: 0 - m_Name: sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7436237812042321825 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2969466191210279438} - m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 7943513347260906720} - m_Father: {fileID: 1604292218941850421} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0} ---- !u!1 &4348486275762559278 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7943513347260906720} - - component: {fileID: 1108870080869411770} - - component: {fileID: 1169093083258378431} - m_Layer: 0 - m_Name: Sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7943513347260906720 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4348486275762559278} - 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: 7436237812042321825} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &1108870080869411770 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4348486275762559278} - m_Mesh: {fileID: 4300000, guid: 52124697381bf4f0284e31e9240f1854, type: 2} ---- !u!23 &1169093083258378431 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4348486275762559278} - 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: 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} diff --git a/Tests/Runtime/Export/Prefabs/ClearcoatTexture.prefab.meta b/Tests/Runtime/Export/Prefabs/ClearcoatTexture.prefab.meta deleted file mode 100644 index 1cd422e80..000000000 --- a/Tests/Runtime/Export/Prefabs/ClearcoatTexture.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: ef51f9d4ffd19424bb63ae05f3792943 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/Dielectric.prefab b/Tests/Runtime/Export/Prefabs/Dielectric.prefab deleted file mode 100644 index 9c7138cd8..000000000 --- a/Tests/Runtime/Export/Prefabs/Dielectric.prefab +++ /dev/null @@ -1,597 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &6039058246625723650 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6039058246625723649} - m_Layer: 0 - m_Name: Dielectric - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6039058246625723649 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6039058246625723650} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 8, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 2503525145593428238} - - {fileID: 2503525146499299861} - - {fileID: 2503525147050991522} - - {fileID: 2503525145715219091} - - {fileID: 2503525146217574792} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &7834352381307178023 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2503525146217574792} - m_Layer: 0 - m_Name: sphere 5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2503525146217574792 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7834352381307178023} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 4} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 3148468530897044169} - m_Father: {fileID: 6039058246625723649} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &7834352381811730236 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2503525145715219091} - m_Layer: 0 - m_Name: sphere 4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2503525145715219091 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7834352381811730236} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 3} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 3148468531466480082} - m_Father: {fileID: 6039058246625723649} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &7834352381941253281 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2503525145593428238} - m_Layer: 0 - m_Name: sphere 1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2503525145593428238 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7834352381941253281} - 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: 3148468531344542287} - m_Father: {fileID: 6039058246625723649} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &7834352382627144205 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2503525147050991522} - m_Layer: 0 - m_Name: sphere 3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2503525147050991522 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7834352382627144205} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 2} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 3148468531728248035} - m_Father: {fileID: 6039058246625723649} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &7834352383182997434 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2503525146499299861} - m_Layer: 0 - m_Name: sphere 2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2503525146499299861 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7834352383182997434} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 1} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 3148468532250544468} - m_Father: {fileID: 6039058246625723649} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &8778765842489747207 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3148468530897044169} - - component: {fileID: 5399784384114300307} - - component: {fileID: 6176106106388571798} - m_Layer: 0 - m_Name: Sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3148468530897044169 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8778765842489747207} - 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: 2503525146217574792} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &5399784384114300307 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8778765842489747207} - m_Mesh: {fileID: 4300000, guid: 52124697381bf4f0284e31e9240f1854, type: 2} ---- !u!23 &6176106106388571798 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8778765842489747207} - 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: 4e6e8447dc1334862b3161d93ea1702d, 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!1 &8778765842763214721 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3148468531344542287} - - component: {fileID: 5399784383076982037} - - component: {fileID: 6176106107249733136} - m_Layer: 0 - m_Name: Sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3148468531344542287 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8778765842763214721} - 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: 2503525145593428238} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &5399784383076982037 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8778765842763214721} - m_Mesh: {fileID: 4300000, guid: 52124697381bf4f0284e31e9240f1854, type: 2} ---- !u!23 &6176106107249733136 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8778765842763214721} - 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: f0517a04334384f618714051201d2ea8, 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!1 &8778765842926816284 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3148468531466480082} - - component: {fileID: 5399784383475809928} - - component: {fileID: 6176106106825870733} - m_Layer: 0 - m_Name: Sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3148468531466480082 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8778765842926816284} - 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: 2503525145715219091} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &5399784383475809928 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8778765842926816284} - m_Mesh: {fileID: 4300000, guid: 52124697381bf4f0284e31e9240f1854, type: 2} ---- !u!23 &6176106106825870733 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8778765842926816284} - 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: 24abf2ec8992e4873afcb3685ef0ab34, 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!1 &8778765843184617773 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3148468531728248035} - - component: {fileID: 5399784384811285433} - - component: {fileID: 6176106107637614780} - m_Layer: 0 - m_Name: Sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3148468531728248035 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8778765843184617773} - 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: 2503525147050991522} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &5399784384811285433 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8778765843184617773} - m_Mesh: {fileID: 4300000, guid: 52124697381bf4f0284e31e9240f1854, type: 2} ---- !u!23 &6176106107637614780 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8778765843184617773} - 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: fed162dfecd5b46b48d34be99412189b, 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!1 &8778765843803171994 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3148468532250544468} - - component: {fileID: 5399784384385703438} - - component: {fileID: 6176106108289953035} - m_Layer: 0 - m_Name: Sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3148468532250544468 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8778765843803171994} - 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: 2503525146499299861} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &5399784384385703438 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8778765843803171994} - m_Mesh: {fileID: 4300000, guid: 52124697381bf4f0284e31e9240f1854, type: 2} ---- !u!23 &6176106108289953035 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8778765843803171994} - 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: 42be9b37b396e44c185d31c8918c9df9, 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} diff --git a/Tests/Runtime/Export/Prefabs/Dielectric.prefab.meta b/Tests/Runtime/Export/Prefabs/Dielectric.prefab.meta deleted file mode 100644 index 9b199b07e..000000000 --- a/Tests/Runtime/Export/Prefabs/Dielectric.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 24c13edf962bf42d0ad1f71d10864824 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/DoubleSided.prefab b/Tests/Runtime/Export/Prefabs/DoubleSided.prefab deleted file mode 100644 index 9b04e473f..000000000 --- a/Tests/Runtime/Export/Prefabs/DoubleSided.prefab +++ /dev/null @@ -1,83 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &3231760096108800246 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3231760096108800251} - - component: {fileID: 3231760096108800244} - - component: {fileID: 3231760096108800245} - m_Layer: 0 - m_Name: DoubleSided - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3231760096108800251 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3231760096108800246} - m_LocalRotation: {x: -0.5, y: 0.5, z: 0.5, w: 0.5} - m_LocalPosition: {x: 18, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: -90, y: 90, z: 0} ---- !u!33 &3231760096108800244 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3231760096108800246} - m_Mesh: {fileID: 4300000, guid: 8d3a3f6dd59ab419baf067a12c03d313, type: 2} ---- !u!23 &3231760096108800245 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3231760096108800246} - 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: 145fa7294aa6a498f9ab3fb782c4db7a, 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} diff --git a/Tests/Runtime/Export/Prefabs/DoubleSided.prefab.meta b/Tests/Runtime/Export/Prefabs/DoubleSided.prefab.meta deleted file mode 100644 index 2ffebf58d..000000000 --- a/Tests/Runtime/Export/Prefabs/DoubleSided.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: d11274dc7d69d40a0a8bb8d422875e12 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/EmissiveFactor.prefab b/Tests/Runtime/Export/Prefabs/EmissiveFactor.prefab deleted file mode 100644 index eaa170481..000000000 --- a/Tests/Runtime/Export/Prefabs/EmissiveFactor.prefab +++ /dev/null @@ -1,227 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &695671047794976344 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 695671047794976345} - - component: {fileID: 695671047794976347} - - component: {fileID: 695671047794976346} - m_Layer: 0 - m_Name: Plane - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &695671047794976345 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 695671047794976344} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 1} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 695671047801497549} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &695671047794976347 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 695671047794976344} - m_Mesh: {fileID: 4300000, guid: 8d3a3f6dd59ab419baf067a12c03d313, type: 2} ---- !u!23 &695671047794976346 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 695671047794976344} - 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: f4fddebc3bbc048e4b851aab682a3ba2, 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!1 &695671047801497548 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 695671047801497549} - m_Layer: 0 - m_Name: EmissiveFactor - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &695671047801497549 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 695671047801497548} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 22, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 695671047794976345} - - {fileID: 8707358587528983294} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &2575213869647389809 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8203611465652863423} - - component: {fileID: 1191040554730215141} - - component: {fileID: 1143177165508683232} - m_Layer: 0 - m_Name: Sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8203611465652863423 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2575213869647389809} - 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: 8707358587528983294} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &1191040554730215141 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2575213869647389809} - m_Mesh: {fileID: 4300000, guid: 52124697381bf4f0284e31e9240f1854, type: 2} ---- !u!23 &1143177165508683232 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2575213869647389809} - 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: f4fddebc3bbc048e4b851aab682a3ba2, 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!1 &3950144647440764753 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8707358587528983294} - m_Layer: 0 - m_Name: sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8707358587528983294 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3950144647440764753} - m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 8203611465652863423} - m_Father: {fileID: 695671047801497549} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0} diff --git a/Tests/Runtime/Export/Prefabs/EmissiveFactor.prefab.meta b/Tests/Runtime/Export/Prefabs/EmissiveFactor.prefab.meta deleted file mode 100644 index cd8c861a0..000000000 --- a/Tests/Runtime/Export/Prefabs/EmissiveFactor.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 4f3faa6302e404605852678e205439ba -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/EmissiveTexture.prefab b/Tests/Runtime/Export/Prefabs/EmissiveTexture.prefab deleted file mode 100644 index 84488eafb..000000000 --- a/Tests/Runtime/Export/Prefabs/EmissiveTexture.prefab +++ /dev/null @@ -1,227 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &1604292218823750543 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1604292218823750536} - - component: {fileID: 1604292218823750538} - - component: {fileID: 1604292218823750537} - m_Layer: 0 - m_Name: Plane - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1604292218823750536 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1604292218823750543} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 1} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1604292218941850421} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &1604292218823750538 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1604292218823750543} - m_Mesh: {fileID: 4300000, guid: 8d3a3f6dd59ab419baf067a12c03d313, type: 2} ---- !u!23 &1604292218823750537 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1604292218823750543} - 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: 64832aa2c2ca047918db9dbd6357dc0f, 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!1 &1604292218941850420 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1604292218941850421} - m_Layer: 0 - m_Name: EmissiveTexture - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1604292218941850421 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1604292218941850420} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 23, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1604292218823750536} - - {fileID: 7436237812042321825} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &2969466191210279438 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7436237812042321825} - m_Layer: 0 - m_Name: sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7436237812042321825 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2969466191210279438} - m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 7943513347260906720} - m_Father: {fileID: 1604292218941850421} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0} ---- !u!1 &4348486275762559278 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7943513347260906720} - - component: {fileID: 1108870080869411770} - - component: {fileID: 1169093083258378431} - m_Layer: 0 - m_Name: Sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7943513347260906720 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4348486275762559278} - 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: 7436237812042321825} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &1108870080869411770 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4348486275762559278} - m_Mesh: {fileID: 4300000, guid: 52124697381bf4f0284e31e9240f1854, type: 2} ---- !u!23 &1169093083258378431 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4348486275762559278} - 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: 64832aa2c2ca047918db9dbd6357dc0f, 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} diff --git a/Tests/Runtime/Export/Prefabs/EmissiveTexture.prefab.meta b/Tests/Runtime/Export/Prefabs/EmissiveTexture.prefab.meta deleted file mode 100644 index d25f586f6..000000000 --- a/Tests/Runtime/Export/Prefabs/EmissiveTexture.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 3b40254c498714114baaf3d410ed353f -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/EmissiveTextureFactor.prefab b/Tests/Runtime/Export/Prefabs/EmissiveTextureFactor.prefab deleted file mode 100644 index 3352e987b..000000000 --- a/Tests/Runtime/Export/Prefabs/EmissiveTextureFactor.prefab +++ /dev/null @@ -1,227 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &895463179888849255 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6775869545363346601} - - component: {fileID: 4564047790112359411} - - component: {fileID: 2309446972562551030} - m_Layer: 0 - m_Name: Sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6775869545363346601 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 895463179888849255} - 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: 6271100690497939432} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &4564047790112359411 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 895463179888849255} - m_Mesh: {fileID: 4300000, guid: 52124697381bf4f0284e31e9240f1854, type: 2} ---- !u!23 &2309446972562551030 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 895463179888849255} - 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: ffa5efabd3e6541be8c4b17d2e3355b1, 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!1 &1801466215878924871 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6271100690497939432} - m_Layer: 0 - m_Name: sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6271100690497939432 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1801466215878924871} - m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 6775869545363346601} - m_Father: {fileID: 2771448233178563541} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0} ---- !u!1 &2771448233056139575 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2771448233056139568} - - component: {fileID: 2771448233056139570} - - component: {fileID: 2771448233056139569} - m_Layer: 0 - m_Name: Plane - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2771448233056139568 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2771448233056139575} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 1} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 2771448233178563541} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &2771448233056139570 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2771448233056139575} - m_Mesh: {fileID: 4300000, guid: 8d3a3f6dd59ab419baf067a12c03d313, type: 2} ---- !u!23 &2771448233056139569 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2771448233056139575} - 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: ffa5efabd3e6541be8c4b17d2e3355b1, 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!1 &2771448233178563540 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2771448233178563541} - m_Layer: 0 - m_Name: EmissiveTextureFactor - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2771448233178563541 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2771448233178563540} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 24, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 2771448233056139568} - - {fileID: 6271100690497939432} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Tests/Runtime/Export/Prefabs/EmissiveTextureFactor.prefab.meta b/Tests/Runtime/Export/Prefabs/EmissiveTextureFactor.prefab.meta deleted file mode 100644 index 6960dc300..000000000 --- a/Tests/Runtime/Export/Prefabs/EmissiveTextureFactor.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: e914395ea5e224466bd3465c41148359 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/Hierarchy.prefab b/Tests/Runtime/Export/Prefabs/Hierarchy.prefab deleted file mode 100644 index b4a94c331..000000000 --- a/Tests/Runtime/Export/Prefabs/Hierarchy.prefab +++ /dev/null @@ -1,1797 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &3594512708523263718 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3594512708523263719} - - component: {fileID: 3594512708523263714} - - component: {fileID: 3594512708523263713} - m_Layer: 0 - m_Name: Root - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3594512708523263719 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512708523263718} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 16} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 3594512709518919705} - - {fileID: 3594512709309472470} - - {fileID: 3594512709707129155} - - {fileID: 3594512708575407823} - m_Father: {fileID: 3594512708858471599} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &3594512708523263714 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512708523263718} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &3594512708523263713 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512708523263718} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 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!1 &3594512708560234760 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3594512708560234761} - - component: {fileID: 3594512708560234996} - - component: {fileID: 3594512708560234763} - m_Layer: 0 - m_Name: B3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3594512708560234761 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512708560234760} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.24999999, y: 0.75, z: 0.23} - m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 3594512709309472470} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &3594512708560234996 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512708560234760} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &3594512708560234763 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512708560234760} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 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!1 &3594512708575407822 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3594512708575407823} - - component: {fileID: 3594512708575407818} - - component: {fileID: 3594512708575407817} - m_Layer: 0 - m_Name: D - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3594512708575407823 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512708575407822} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.3, y: 0.7, z: 0.3} - m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 3594512708926835447} - - {fileID: 3594512709314369134} - - {fileID: 3594512710124420897} - - {fileID: 3594512708617260978} - m_Father: {fileID: 3594512708523263719} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &3594512708575407818 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512708575407822} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &3594512708575407817 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512708575407822} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 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!1 &3594512708617260977 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3594512708617260978} - - component: {fileID: 3594512708617260989} - - component: {fileID: 3594512708617260988} - m_Layer: 0 - m_Name: D4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3594512708617260978 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512708617260977} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.25, y: 0.75, z: 0.23} - m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 3594512708575407823} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &3594512708617260989 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512708617260977} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &3594512708617260988 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512708617260977} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 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!1 &3594512708679389391 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3594512708679389384} - - component: {fileID: 3594512708679389387} - - component: {fileID: 3594512708679389386} - m_Layer: 0 - m_Name: A2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3594512708679389384 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512708679389391} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.25, y: 0.75, z: -0.25} - m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 3594512709518919705} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &3594512708679389387 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512708679389391} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &3594512708679389386 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512708679389391} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 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!1 &3594512708726596300 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3594512708726596301} - - component: {fileID: 3594512708726596296} - - component: {fileID: 3594512708726596303} - m_Layer: 0 - m_Name: C3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3594512708726596301 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512708726596300} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.24999999, y: 0.75, z: 0.23} - m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 3594512709707129155} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &3594512708726596296 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512708726596300} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &3594512708726596303 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512708726596300} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 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!1 &3594512708798734753 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3594512708798734754} - - component: {fileID: 3594512708798734765} - - component: {fileID: 3594512708798734764} - m_Layer: 0 - m_Name: B2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3594512708798734754 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512708798734753} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.25, y: 0.75, z: -0.25} - m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 3594512709309472470} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &3594512708798734765 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512708798734753} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &3594512708798734764 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512708798734753} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 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!1 &3594512708832367879 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3594512708832367872} - - component: {fileID: 3594512708832367875} - - component: {fileID: 3594512708832367874} - m_Layer: 0 - m_Name: C1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3594512708832367872 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512708832367879} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.24999999, y: 0.75, z: -0.25} - m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 3594512709707129155} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &3594512708832367875 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512708832367879} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &3594512708832367874 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512708832367879} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 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!1 &3594512708858471598 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3594512708858471599} - m_Layer: 0 - m_Name: Hierarchy - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3594512708858471599 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512708858471598} - 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_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 3594512708523263719} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &3594512708895133258 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3594512708895133259} - - component: {fileID: 3594512708895133238} - - component: {fileID: 3594512708895133237} - m_Layer: 0 - m_Name: A1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3594512708895133259 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512708895133258} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.24999999, y: 0.75, z: -0.25} - m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 3594512709518919705} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &3594512708895133238 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512708895133258} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &3594512708895133237 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512708895133258} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 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!1 &3594512708926835446 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3594512708926835447} - - component: {fileID: 3594512708926835442} - - component: {fileID: 3594512708926835441} - m_Layer: 0 - m_Name: D1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3594512708926835447 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512708926835446} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.24999999, y: 0.75, z: -0.25} - m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 3594512708575407823} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &3594512708926835442 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512708926835446} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &3594512708926835441 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512708926835446} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 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!1 &3594512708939723328 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3594512708939723329} - - component: {fileID: 3594512708939723340} - - component: {fileID: 3594512708939723331} - m_Layer: 0 - m_Name: C2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3594512708939723329 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512708939723328} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.25, y: 0.75, z: -0.25} - m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 3594512709707129155} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &3594512708939723340 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512708939723328} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &3594512708939723331 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512708939723328} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 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!1 &3594512708948031944 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3594512708948031945} - - component: {fileID: 3594512708948031924} - - component: {fileID: 3594512708948031947} - m_Layer: 0 - m_Name: B1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3594512708948031945 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512708948031944} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.24999999, y: 0.75, z: -0.25} - m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 3594512709309472470} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &3594512708948031924 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512708948031944} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &3594512708948031947 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512708948031944} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 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!1 &3594512709309472469 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3594512709309472470} - - component: {fileID: 3594512709309472465} - - component: {fileID: 3594512709309472464} - m_Layer: 0 - m_Name: B - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3594512709309472470 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512709309472469} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.3, y: 0.7, z: -0.3} - m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 3594512708948031945} - - {fileID: 3594512708798734754} - - {fileID: 3594512708560234761} - - {fileID: 3594512709779730908} - m_Father: {fileID: 3594512708523263719} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &3594512709309472465 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512709309472469} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &3594512709309472464 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512709309472469} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 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!1 &3594512709314369133 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3594512709314369134} - - component: {fileID: 3594512709314369129} - - component: {fileID: 3594512709314369128} - m_Layer: 0 - m_Name: D2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3594512709314369134 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512709314369133} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.25, y: 0.75, z: -0.25} - m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 3594512708575407823} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &3594512709314369129 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512709314369133} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &3594512709314369128 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512709314369133} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 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!1 &3594512709518919704 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3594512709518919705} - - component: {fileID: 3594512709518919684} - - component: {fileID: 3594512709518919707} - m_Layer: 0 - m_Name: A - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3594512709518919705 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512709518919704} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.3, y: 0.7, z: -0.3000002} - m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 3594512708895133259} - - {fileID: 3594512708679389384} - - {fileID: 3594512709726903435} - - {fileID: 3594512710411627549} - m_Father: {fileID: 3594512708523263719} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &3594512709518919684 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512709518919704} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &3594512709518919707 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512709518919704} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 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!1 &3594512709707129154 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3594512709707129155} - - component: {fileID: 3594512709707129166} - - component: {fileID: 3594512709707129165} - m_Layer: 0 - m_Name: C - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3594512709707129155 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512709707129154} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.3, y: 0.7, z: 0.3} - m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 3594512708832367872} - - {fileID: 3594512708939723329} - - {fileID: 3594512708726596301} - - {fileID: 3594512710218458738} - m_Father: {fileID: 3594512708523263719} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &3594512709707129166 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512709707129154} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &3594512709707129165 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512709707129154} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 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!1 &3594512709726903434 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3594512709726903435} - - component: {fileID: 3594512709726903670} - - component: {fileID: 3594512709726903669} - m_Layer: 0 - m_Name: A3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3594512709726903435 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512709726903434} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.24999999, y: 0.75, z: 0.23} - m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 3594512709518919705} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &3594512709726903670 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512709726903434} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &3594512709726903669 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512709726903434} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 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!1 &3594512709779730899 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3594512709779730908} - - component: {fileID: 3594512709779730911} - - component: {fileID: 3594512709779730910} - m_Layer: 0 - m_Name: B4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3594512709779730908 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512709779730899} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.25, y: 0.75, z: 0.23} - m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 3594512709309472470} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &3594512709779730911 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512709779730899} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &3594512709779730910 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512709779730899} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 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!1 &3594512710124420896 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3594512710124420897} - - component: {fileID: 3594512710124420908} - - component: {fileID: 3594512710124420899} - m_Layer: 0 - m_Name: D3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3594512710124420897 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512710124420896} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0.24999999, y: 0.75, z: 0.23} - m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 3594512708575407823} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &3594512710124420908 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512710124420896} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &3594512710124420899 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512710124420896} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 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!1 &3594512710218458737 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3594512710218458738} - - component: {fileID: 3594512710218458749} - - component: {fileID: 3594512710218458748} - m_Layer: 0 - m_Name: C4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3594512710218458738 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512710218458737} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.25, y: 0.75, z: 0.23} - m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 3594512709707129155} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &3594512710218458749 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512710218458737} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &3594512710218458748 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512710218458737} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 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!1 &3594512710411627548 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3594512710411627549} - - component: {fileID: 3594512710411627544} - - component: {fileID: 3594512710411627551} - m_Layer: 0 - m_Name: A4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3594512710411627549 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512710411627548} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0.25, y: 0.75, z: 0.23} - m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 3594512709518919705} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &3594512710411627544 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512710411627548} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &3594512710411627551 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594512710411627548} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 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} diff --git a/Tests/Runtime/Export/Prefabs/Hierarchy.prefab.meta b/Tests/Runtime/Export/Prefabs/Hierarchy.prefab.meta deleted file mode 100644 index 38ccea6cd..000000000 --- a/Tests/Runtime/Export/Prefabs/Hierarchy.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 677a59952fc214b11ad8d761304639ae -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/HierarchyComponentsDisabled.prefab b/Tests/Runtime/Export/Prefabs/HierarchyComponentsDisabled.prefab deleted file mode 100644 index 54f1438dc..000000000 --- a/Tests/Runtime/Export/Prefabs/HierarchyComponentsDisabled.prefab +++ /dev/null @@ -1,121 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1001 &3376375832905386464 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 3594512708575407817, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_Enabled - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3594512708617260988, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_Enabled - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3594512708726596303, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_Enabled - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3594512708832367874, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_Enabled - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 3594512708858471598, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_Name - value: HierarchyComponentsDisabled - objectReference: {fileID: 0} - - target: {fileID: 3594512708858471599, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_RootOrder - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3594512708858471599, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_LocalPosition.x - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 3594512708858471599, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3594512708858471599, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3594512708858471599, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 3594512708858471599, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3594512708858471599, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3594512708858471599, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3594512708858471599, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3594512708858471599, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3594512708858471599, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3594512708926835441, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_Enabled - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3594512708939723331, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_Enabled - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3594512709309472464, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_Enabled - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3594512709314369133, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_IsActive - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 3594512710124420896, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_IsActive - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 3594512710218458748, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_Enabled - value: 1 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 677a59952fc214b11ad8d761304639ae, type: 3} diff --git a/Tests/Runtime/Export/Prefabs/HierarchyComponentsDisabled.prefab.meta b/Tests/Runtime/Export/Prefabs/HierarchyComponentsDisabled.prefab.meta deleted file mode 100644 index 674a21c6f..000000000 --- a/Tests/Runtime/Export/Prefabs/HierarchyComponentsDisabled.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 5b4dad3ea67ce4da193d14d96b3bde7b -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/HierarchyEditorOnlyTag.prefab b/Tests/Runtime/Export/Prefabs/HierarchyEditorOnlyTag.prefab deleted file mode 100644 index b37280b89..000000000 --- a/Tests/Runtime/Export/Prefabs/HierarchyEditorOnlyTag.prefab +++ /dev/null @@ -1,96 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1001 &8929015145367249311 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 3594512708617260977, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_TagString - value: EditorOnly - objectReference: {fileID: 0} - - target: {fileID: 3594512708726596300, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_TagString - value: EditorOnly - objectReference: {fileID: 0} - - target: {fileID: 3594512708858471598, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_Name - value: HierarchyEditorOnlyTag - objectReference: {fileID: 0} - - target: {fileID: 3594512708858471599, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_RootOrder - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3594512708858471599, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_LocalPosition.x - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 3594512708858471599, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3594512708858471599, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3594512708858471599, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 3594512708858471599, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3594512708858471599, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3594512708858471599, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3594512708858471599, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3594512708858471599, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3594512708858471599, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3594512708926835446, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_TagString - value: EditorOnly - objectReference: {fileID: 0} - - target: {fileID: 3594512708939723328, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_TagString - value: EditorOnly - objectReference: {fileID: 0} - - target: {fileID: 3594512709309472469, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_TagString - value: EditorOnly - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 677a59952fc214b11ad8d761304639ae, type: 3} diff --git a/Tests/Runtime/Export/Prefabs/HierarchyEditorOnlyTag.prefab.meta b/Tests/Runtime/Export/Prefabs/HierarchyEditorOnlyTag.prefab.meta deleted file mode 100644 index a001e43e0..000000000 --- a/Tests/Runtime/Export/Prefabs/HierarchyEditorOnlyTag.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: ffa2bc2a634cf422599acb37b2cab989 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/HierarchyObjectsInactive.prefab b/Tests/Runtime/Export/Prefabs/HierarchyObjectsInactive.prefab deleted file mode 100644 index f0bbc2a96..000000000 --- a/Tests/Runtime/Export/Prefabs/HierarchyObjectsInactive.prefab +++ /dev/null @@ -1,111 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1001 &1936412152048702193 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 3594512708617260977, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_IsActive - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3594512708726596300, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_IsActive - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3594512708832367879, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_IsActive - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 3594512708858471598, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_Name - value: HierarchyObjectsInactive - objectReference: {fileID: 0} - - target: {fileID: 3594512708858471599, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_RootOrder - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3594512708858471599, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3594512708858471599, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3594512708858471599, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3594512708858471599, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 3594512708858471599, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3594512708858471599, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3594512708858471599, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3594512708858471599, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3594512708858471599, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3594512708858471599, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3594512708926835446, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_IsActive - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3594512708939723328, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_IsActive - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3594512709309472469, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_IsActive - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3594512709314369133, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_IsActive - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 3594512710218458737, guid: 677a59952fc214b11ad8d761304639ae, - type: 3} - propertyPath: m_IsActive - value: 1 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 677a59952fc214b11ad8d761304639ae, type: 3} diff --git a/Tests/Runtime/Export/Prefabs/HierarchyObjectsInactive.prefab.meta b/Tests/Runtime/Export/Prefabs/HierarchyObjectsInactive.prefab.meta deleted file mode 100644 index edbeeeaf1..000000000 --- a/Tests/Runtime/Export/Prefabs/HierarchyObjectsInactive.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 4782c22115e84481282f80aaaeb4de69 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/IdenticalTextureName.prefab b/Tests/Runtime/Export/Prefabs/IdenticalTextureName.prefab deleted file mode 100644 index d772ea49f..000000000 --- a/Tests/Runtime/Export/Prefabs/IdenticalTextureName.prefab +++ /dev/null @@ -1,196 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &3549832593190132277 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3549832593190132278} - - component: {fileID: 3549832593190132272} - - component: {fileID: 3549832593190132279} - m_Layer: 0 - m_Name: Plane - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3549832593190132278 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3549832593190132277} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 1} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 3549832593247449850} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &3549832593190132272 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3549832593190132277} - m_Mesh: {fileID: 4300000, guid: 8d3a3f6dd59ab419baf067a12c03d313, type: 2} ---- !u!23 &3549832593190132279 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3549832593190132277} - 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: 7f512d016ff104d1385fc16252d730a5, 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!1 &3549832593247449849 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3549832593247449850} - m_Layer: 0 - m_Name: IdenticalTextureName - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3549832593247449850 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3549832593247449849} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 32, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 3549832593190132278} - - {fileID: 3549832594372694393} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &3549832594372694392 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3549832594372694393} - - component: {fileID: 3549832594372694395} - - component: {fileID: 3549832594372694394} - m_Layer: 0 - m_Name: IdenticalTextureName - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3549832594372694393 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3549832594372694392} - 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: 3549832593247449850} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &3549832594372694395 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3549832594372694392} - m_Mesh: {fileID: 4300000, guid: 8d3a3f6dd59ab419baf067a12c03d313, type: 2} ---- !u!23 &3549832594372694394 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3549832594372694392} - 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: 67ce2af5dc5c5495490daccfb1f066f3, 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} diff --git a/Tests/Runtime/Export/Prefabs/IdenticalTextureName.prefab.meta b/Tests/Runtime/Export/Prefabs/IdenticalTextureName.prefab.meta deleted file mode 100644 index 8878b6b9d..000000000 --- a/Tests/Runtime/Export/Prefabs/IdenticalTextureName.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: cc811ce490edd4dcb915c7d355d606e6 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/LightAreaDisc.prefab b/Tests/Runtime/Export/Prefabs/LightAreaDisc.prefab deleted file mode 100644 index 8c91884c1..000000000 --- a/Tests/Runtime/Export/Prefabs/LightAreaDisc.prefab +++ /dev/null @@ -1,208 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &2899843863253005160 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2899843863253005161} - - component: {fileID: 2899843863253005166} - m_Layer: 0 - m_Name: Light - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2899843863253005161 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2899843863253005160} - m_LocalRotation: {x: 0.48296294, y: 0.22414392, z: -0.12940955, w: 0.8365163} - m_LocalPosition: {x: 0, y: 1, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 2899843863761531799} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 60, y: 30, z: 0} ---- !u!108 &2899843863253005166 -Light: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2899843863253005160} - m_Enabled: 1 - serializedVersion: 10 - m_Type: 4 - m_Shape: 0 - m_Color: {r: 0.8, g: 0.2, b: 0.2, a: 1} - m_Intensity: 1 - m_Range: 100 - m_SpotAngle: 30 - m_InnerSpotAngle: 21.80208 - m_CookieSize: 10 - m_Shadows: - m_Type: 0 - 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: 2 - 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!1 &2899843863382378991 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2899843863382378988} - - component: {fileID: 2899843863382380050} - - component: {fileID: 2899843863382378989} - m_Layer: 0 - m_Name: Plane - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2899843863382378988 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2899843863382378991} - 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: 2899843863761531799} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &2899843863382380050 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2899843863382378991} - m_Mesh: {fileID: 4300000, guid: 8d3a3f6dd59ab419baf067a12c03d313, type: 2} ---- !u!23 &2899843863382378989 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2899843863382378991} - 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: fa681a5006f4f46d4a2a7dfed0c5e5df, 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!1 &2899843863761531798 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2899843863761531799} - m_Layer: 0 - m_Name: LightAreaDisc - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2899843863761531799 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2899843863761531798} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 45, y: 0, z: 10} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 2899843863253005161} - - {fileID: 2899843863382378988} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Tests/Runtime/Export/Prefabs/LightAreaDisc.prefab.meta b/Tests/Runtime/Export/Prefabs/LightAreaDisc.prefab.meta deleted file mode 100644 index f3e203026..000000000 --- a/Tests/Runtime/Export/Prefabs/LightAreaDisc.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 0c37636b256674062bf315fa8d4c732a -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/LightAreaRectangle.prefab b/Tests/Runtime/Export/Prefabs/LightAreaRectangle.prefab deleted file mode 100644 index 558866b8f..000000000 --- a/Tests/Runtime/Export/Prefabs/LightAreaRectangle.prefab +++ /dev/null @@ -1,208 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &1063836524658542939 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5016385586602350180} - - component: {fileID: 7876772720997091201} - - component: {fileID: 4987877710243801991} - m_Layer: 0 - m_Name: Plane - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &5016385586602350180 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1063836524658542939} - 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: 8517333664161760638} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &7876772720997091201 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1063836524658542939} - m_Mesh: {fileID: 4300000, guid: 8d3a3f6dd59ab419baf067a12c03d313, type: 2} ---- !u!23 &4987877710243801991 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1063836524658542939} - 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: fa681a5006f4f46d4a2a7dfed0c5e5df, 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!1 &4291603288428147330 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8517333664161760638} - m_Layer: 0 - m_Name: LightAreaRectangle - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8517333664161760638 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4291603288428147330} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 35, y: 0, z: 10} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 7314577871896966259} - - {fileID: 5016385586602350180} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &7314577871896966256 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7314577871896966259} - - component: {fileID: 7314577871896966258} - m_Layer: 0 - m_Name: Light - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7314577871896966259 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7314577871896966256} - m_LocalRotation: {x: 0.48296294, y: 0.22414392, z: -0.12940955, w: 0.8365163} - m_LocalPosition: {x: 0, y: 1, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 8517333664161760638} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 60, y: 30, z: 0} ---- !u!108 &7314577871896966258 -Light: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7314577871896966256} - m_Enabled: 1 - serializedVersion: 10 - m_Type: 3 - m_Shape: 0 - m_Color: {r: 0.8, g: 0.2, b: 0.2, a: 1} - m_Intensity: 1 - m_Range: 100 - m_SpotAngle: 30 - m_InnerSpotAngle: 21.80208 - m_CookieSize: 10 - m_Shadows: - m_Type: 0 - 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: 2 - 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 diff --git a/Tests/Runtime/Export/Prefabs/LightAreaRectangle.prefab.meta b/Tests/Runtime/Export/Prefabs/LightAreaRectangle.prefab.meta deleted file mode 100644 index 53d3d6b88..000000000 --- a/Tests/Runtime/Export/Prefabs/LightAreaRectangle.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: e9946dab301cf489d9ae439b5cede120 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/LightDirectional.prefab b/Tests/Runtime/Export/Prefabs/LightDirectional.prefab deleted file mode 100644 index 3e9accb55..000000000 --- a/Tests/Runtime/Export/Prefabs/LightDirectional.prefab +++ /dev/null @@ -1,208 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &2128916189315744973 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2128916189315744974} - - component: {fileID: 2128916189315744975} - m_Layer: 0 - m_Name: Light - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2128916189315744974 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2128916189315744973} - m_LocalRotation: {x: 0.48296294, y: 0.22414392, z: -0.12940955, w: 0.8365163} - m_LocalPosition: {x: 0, y: 1, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1025221992404563395} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 60, y: 30, z: 0} ---- !u!108 &2128916189315744975 -Light: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2128916189315744973} - m_Enabled: 1 - serializedVersion: 10 - m_Type: 1 - m_Shape: 0 - m_Color: {r: 0.8, g: 0.2, b: 0.2, a: 1} - m_Intensity: 0.1 - m_Range: 100 - m_SpotAngle: 30 - m_InnerSpotAngle: 21.80208 - m_CookieSize: 10 - m_Shadows: - m_Type: 0 - 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!1 &4865895703870685759 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1025221992404563395} - m_Layer: 0 - m_Name: LightDirectional - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1025221992404563395 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4865895703870685759} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 25, y: 0, z: 10} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 2128916189315744974} - - {fileID: 4437237725513721561} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &8559783241295100390 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4437237725513721561} - - component: {fileID: 1532946953374234428} - - component: {fileID: 4409433564132416314} - m_Layer: 0 - m_Name: Plane - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4437237725513721561 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8559783241295100390} - 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: 1025221992404563395} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &1532946953374234428 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8559783241295100390} - m_Mesh: {fileID: 4300000, guid: 8d3a3f6dd59ab419baf067a12c03d313, type: 2} ---- !u!23 &4409433564132416314 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8559783241295100390} - 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: fa681a5006f4f46d4a2a7dfed0c5e5df, 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} diff --git a/Tests/Runtime/Export/Prefabs/LightDirectional.prefab.meta b/Tests/Runtime/Export/Prefabs/LightDirectional.prefab.meta deleted file mode 100644 index 213def763..000000000 --- a/Tests/Runtime/Export/Prefabs/LightDirectional.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: bceb870a5146b47b8a9aef4ea183308b -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/LightsPoint.prefab b/Tests/Runtime/Export/Prefabs/LightsPoint.prefab deleted file mode 100644 index a65adc8b0..000000000 --- a/Tests/Runtime/Export/Prefabs/LightsPoint.prefab +++ /dev/null @@ -1,396 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &1710052028259021068 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1717035293030847798} - m_Layer: 0 - m_Name: LightsPoint - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1717035293030847798 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1710052028259021068} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 5, y: 0, z: 10} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 5322191972096591204} - - {fileID: 5322191972531810463} - - {fileID: 5322191972504478432} - - {fileID: 7621050080540999927} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &2494186162652094408 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7621050080540999927} - - component: {fileID: 4688611948907827474} - - component: {fileID: 7594794031903866132} - m_Layer: 0 - m_Name: Plane - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7621050080540999927 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2494186162652094408} - 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: 1717035293030847798} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &4688611948907827474 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2494186162652094408} - m_Mesh: {fileID: 4300000, guid: 8d3a3f6dd59ab419baf067a12c03d313, type: 2} ---- !u!23 &7594794031903866132 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2494186162652094408} - 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: fa681a5006f4f46d4a2a7dfed0c5e5df, 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!1 &5322191972096591207 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5322191972096591204} - - component: {fileID: 5322191972096591205} - m_Layer: 0 - m_Name: Red - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &5322191972096591204 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5322191972096591207} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -1, y: 1, z: -1.73205} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1717035293030847798} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!108 &5322191972096591205 -Light: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5322191972096591207} - m_Enabled: 1 - serializedVersion: 10 - m_Type: 2 - m_Shape: 0 - m_Color: {r: 1, g: 0, b: 0, a: 1} - m_Intensity: 1 - m_Range: 10 - m_SpotAngle: 30 - m_InnerSpotAngle: 21.80208 - m_CookieSize: 10 - m_Shadows: - m_Type: 0 - 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!1 &5322191972504478435 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5322191972504478432} - - component: {fileID: 5322191972504478433} - m_Layer: 0 - m_Name: Blue - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &5322191972504478432 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5322191972504478435} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 2, y: 1, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1717035293030847798} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!108 &5322191972504478433 -Light: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5322191972504478435} - m_Enabled: 1 - serializedVersion: 10 - m_Type: 2 - m_Shape: 0 - m_Color: {r: 0, g: 0, b: 1, a: 1} - m_Intensity: 1 - m_Range: 10 - m_SpotAngle: 30 - m_InnerSpotAngle: 21.80208 - m_CookieSize: 10 - m_Shadows: - m_Type: 0 - 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!1 &5322191972531810462 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5322191972531810463} - - component: {fileID: 5322191972531810460} - m_Layer: 0 - m_Name: Green - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &5322191972531810463 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5322191972531810462} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -1, y: 1, z: 1.73205} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1717035293030847798} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!108 &5322191972531810460 -Light: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5322191972531810462} - m_Enabled: 1 - serializedVersion: 10 - m_Type: 2 - m_Shape: 0 - m_Color: {r: 0, g: 1, b: 0, a: 1} - m_Intensity: 1 - m_Range: 10 - m_SpotAngle: 30 - m_InnerSpotAngle: 21.80208 - m_CookieSize: 10 - m_Shadows: - m_Type: 0 - 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 diff --git a/Tests/Runtime/Export/Prefabs/LightsPoint.prefab.meta b/Tests/Runtime/Export/Prefabs/LightsPoint.prefab.meta deleted file mode 100644 index 8839597a1..000000000 --- a/Tests/Runtime/Export/Prefabs/LightsPoint.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 7e0702104e34e4a68aeb6753eaa14b03 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/LightsSpot.prefab b/Tests/Runtime/Export/Prefabs/LightsSpot.prefab deleted file mode 100644 index 4336fe9b9..000000000 --- a/Tests/Runtime/Export/Prefabs/LightsSpot.prefab +++ /dev/null @@ -1,396 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &2458239337327630038 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2458239337327630039} - - component: {fileID: 2458239337327630036} - m_Layer: 0 - m_Name: Green - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2458239337327630039 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2458239337327630038} - m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} - m_LocalPosition: {x: -1, y: 12, z: 1.73205} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 8941176062987350910} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} ---- !u!108 &2458239337327630036 -Light: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2458239337327630038} - m_Enabled: 1 - serializedVersion: 10 - m_Type: 0 - m_Shape: 0 - m_Color: {r: 0, g: 1, b: 0, a: 1} - m_Intensity: 1 - m_Range: 100 - m_SpotAngle: 30 - m_InnerSpotAngle: 21.80208 - m_CookieSize: 10 - m_Shadows: - m_Type: 0 - 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!1 &2458239337371731115 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2458239337371731112} - - component: {fileID: 2458239337371731113} - m_Layer: 0 - m_Name: Blue - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2458239337371731112 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2458239337371731115} - m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} - m_LocalPosition: {x: 2, y: 12, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 8941176062987350910} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} ---- !u!108 &2458239337371731113 -Light: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2458239337371731115} - m_Enabled: 1 - serializedVersion: 10 - m_Type: 0 - m_Shape: 0 - m_Color: {r: 0, g: 0, b: 1, a: 1} - m_Intensity: 1 - m_Range: 100 - m_SpotAngle: 30 - m_InnerSpotAngle: 21.80208 - m_CookieSize: 10 - m_Shadows: - m_Type: 0 - 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!1 &2458239337494438703 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2458239337494438700} - - component: {fileID: 2458239337494438701} - m_Layer: 0 - m_Name: Red - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2458239337494438700 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2458239337494438703} - m_LocalRotation: {x: 0.7071068, y: 0, z: 0, w: 0.7071068} - m_LocalPosition: {x: -1, y: 12, z: -1.73205} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 8941176062987350910} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0} ---- !u!108 &2458239337494438701 -Light: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2458239337494438703} - m_Enabled: 1 - serializedVersion: 10 - m_Type: 0 - m_Shape: 0 - m_Color: {r: 1, g: 0, b: 0, a: 1} - m_Intensity: 1 - m_Range: 100 - m_SpotAngle: 30 - m_InnerSpotAngle: 21.80208 - m_CookieSize: 10 - m_Shadows: - m_Type: 0 - 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!1 &5286227434510563712 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 144742365597558463} - - component: {fileID: 3084993749532686170} - - component: {fileID: 191247057164262236} - m_Layer: 0 - m_Name: Plane - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &144742365597558463 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5286227434510563712} - 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: 8941176062987350910} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &3084993749532686170 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5286227434510563712} - m_Mesh: {fileID: 4300000, guid: 8d3a3f6dd59ab419baf067a12c03d313, type: 2} ---- !u!23 &191247057164262236 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5286227434510563712} - 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: fa681a5006f4f46d4a2a7dfed0c5e5df, 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!1 &8969483273716569924 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8941176062987350910} - m_Layer: 0 - m_Name: LightsSpot - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8941176062987350910 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8969483273716569924} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 15, y: 0, z: 10} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 2458239337494438700} - - {fileID: 2458239337327630039} - - {fileID: 2458239337371731112} - - {fileID: 144742365597558463} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Tests/Runtime/Export/Prefabs/LightsSpot.prefab.meta b/Tests/Runtime/Export/Prefabs/LightsSpot.prefab.meta deleted file mode 100644 index 4106c635f..000000000 --- a/Tests/Runtime/Export/Prefabs/LightsSpot.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 250fd5b1250834aa0bf5d346075ff01f -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/MeshMaterialReuse.prefab b/Tests/Runtime/Export/Prefabs/MeshMaterialReuse.prefab deleted file mode 100644 index e149027a0..000000000 --- a/Tests/Runtime/Export/Prefabs/MeshMaterialReuse.prefab +++ /dev/null @@ -1,201 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &2915868153665871304 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2915868153665871311} - m_Layer: 0 - m_Name: MeshMaterialReuse - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2915868153665871311 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2915868153665871304} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 4, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 2915868154634156451} - - {fileID: 2915868154823642513} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &2915868154634156476 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2915868154634156451} - - component: {fileID: 2915868154634156448} - - component: {fileID: 2915868154634156449} - m_Layer: 0 - m_Name: Cube 1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2915868154634156451 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2915868154634156476} - 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_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 2915868153665871311} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &2915868154634156448 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2915868154634156476} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &2915868154634156449 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2915868154634156476} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - 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: af98d753eae734d93a0fe4e9132abe49, 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!1 &2915868154823642514 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2915868154823642513} - - component: {fileID: 2915868154823642518} - - component: {fileID: 2915868154823642519} - m_Layer: 0 - m_Name: Cube 2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2915868154823642513 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2915868154823642514} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 2} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 2915868153665871311} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &2915868154823642518 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2915868154823642514} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &2915868154823642519 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2915868154823642514} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - 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: af98d753eae734d93a0fe4e9132abe49, 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} diff --git a/Tests/Runtime/Export/Prefabs/MeshMaterialReuse.prefab.meta b/Tests/Runtime/Export/Prefabs/MeshMaterialReuse.prefab.meta deleted file mode 100644 index 08d9e883b..000000000 --- a/Tests/Runtime/Export/Prefabs/MeshMaterialReuse.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: ae43b9ff98e994a19a62b0c474ddd427 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/MeshReuse.prefab b/Tests/Runtime/Export/Prefabs/MeshReuse.prefab deleted file mode 100644 index 74009c050..000000000 --- a/Tests/Runtime/Export/Prefabs/MeshReuse.prefab +++ /dev/null @@ -1,201 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &6550277279279799947 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6550277279279799946} - - component: {fileID: 6550277279279799943} - - component: {fileID: 6550277279279799940} - m_Layer: 0 - m_Name: Cube 2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6550277279279799946 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6550277279279799947} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 2} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 6550277280262782600} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &6550277279279799943 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6550277279279799947} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &6550277279279799940 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6550277279279799947} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - 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: 13fec4340763546f99d7f0aa289eace7, 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!1 &6550277279318986924 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6550277279318986927} - - component: {fileID: 6550277279318986920} - - component: {fileID: 6550277279318986921} - m_Layer: 0 - m_Name: Cube 1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6550277279318986927 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6550277279318986924} - 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_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 6550277280262782600} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &6550277279318986920 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6550277279318986924} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &6550277279318986921 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6550277279318986924} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - 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: af98d753eae734d93a0fe4e9132abe49, 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!1 &6550277280262782601 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6550277280262782600} - m_Layer: 0 - m_Name: MeshReuse - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6550277280262782600 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6550277280262782601} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 5, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 6550277279318986927} - - {fileID: 6550277279279799946} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Tests/Runtime/Export/Prefabs/MeshReuse.prefab.meta b/Tests/Runtime/Export/Prefabs/MeshReuse.prefab.meta deleted file mode 100644 index 9b826fd74..000000000 --- a/Tests/Runtime/Export/Prefabs/MeshReuse.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: bd9a03713e9544d65b3a51b50b4c5665 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/Metallic.prefab b/Tests/Runtime/Export/Prefabs/Metallic.prefab deleted file mode 100644 index b605e9daf..000000000 --- a/Tests/Runtime/Export/Prefabs/Metallic.prefab +++ /dev/null @@ -1,597 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &4706764071881520258 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4706764071881520257} - m_Layer: 0 - m_Name: Metallic - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4706764071881520257 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4706764071881520258} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 7, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 3467927147474901412} - - {fileID: 3467927147591017864} - - {fileID: 3467927146802073548} - - {fileID: 3467927146764301680} - - {fileID: 3467927145935391633} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &7731187986472311107 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4120609989532417165} - - component: {fileID: 6372911021946416087} - - component: {fileID: 5128241316508293330} - m_Layer: 0 - m_Name: Sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4120609989532417165 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7731187986472311107} - 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: 3467927146802073548} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &6372911021946416087 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7731187986472311107} - m_Mesh: {fileID: 4300000, guid: 52124697381bf4f0284e31e9240f1854, type: 2} ---- !u!23 &5128241316508293330 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7731187986472311107} - 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: 1b5a7283e05e64d78b12b3ecd9ace6aa, 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!1 &7731187986526675967 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4120609989494752817} - - component: {fileID: 6372911022034522475} - - component: {fileID: 5128241316579697262} - m_Layer: 0 - m_Name: Sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4120609989494752817 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7731187986526675967} - 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: 3467927146764301680} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &6372911022034522475 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7731187986526675967} - m_Mesh: {fileID: 4300000, guid: 52124697381bf4f0284e31e9240f1854, type: 2} ---- !u!23 &5128241316579697262 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7731187986526675967} - 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: d983e71bfed9b489dbfc061ffea67e4b, 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!1 &7731187986800876830 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4120609989741705424} - - component: {fileID: 6372911021206679434} - - component: {fileID: 5128241317373992079} - m_Layer: 0 - m_Name: Sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4120609989741705424 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7731187986800876830} - 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: 3467927145935391633} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &6372911021206679434 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7731187986800876830} - m_Mesh: {fileID: 4300000, guid: 52124697381bf4f0284e31e9240f1854, type: 2} ---- !u!23 &5128241317373992079 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7731187986800876830} - 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: f0dbcb6bb7e17494281577f4846f1f42, 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!1 &7731187987140939563 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4120609990207597285} - - component: {fileID: 6372911022888926655} - - component: {fileID: 5128241317713530554} - m_Layer: 0 - m_Name: Sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4120609990207597285 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7731187987140939563} - 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: 3467927147474901412} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &6372911022888926655 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7731187987140939563} - m_Mesh: {fileID: 4300000, guid: 52124697381bf4f0284e31e9240f1854, type: 2} ---- !u!23 &5128241317713530554 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7731187987140939563} - 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: db940ff6c08d6424c8a58bde0a583d74, 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!1 &7731187987361952519 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4120609990321608393} - - component: {fileID: 6372911022868742547} - - component: {fileID: 5128241317968589462} - m_Layer: 0 - m_Name: Sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4120609990321608393 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7731187987361952519} - 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: 3467927147591017864} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &6372911022868742547 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7731187987361952519} - m_Mesh: {fileID: 4300000, guid: 52124697381bf4f0284e31e9240f1854, type: 2} ---- !u!23 &5128241317968589462 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7731187987361952519} - 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: be50ae81ad4c342ab98090ddd4a684fb, 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!1 &9090505389661811299 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3467927146802073548} - m_Layer: 0 - m_Name: sphere 3 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3467927146802073548 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9090505389661811299} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 2} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 4120609989532417165} - m_Father: {fileID: 4706764071881520257} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9090505389708101855 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3467927146764301680} - m_Layer: 0 - m_Name: sphere 4 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3467927146764301680 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9090505389708101855} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 3} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 4120609989494752817} - m_Father: {fileID: 4706764071881520257} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9090505390540158526 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3467927145935391633} - m_Layer: 0 - m_Name: sphere 5 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3467927145935391633 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9090505390540158526} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 4} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 4120609989741705424} - m_Father: {fileID: 4706764071881520257} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9090505391021365287 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3467927147591017864} - m_Layer: 0 - m_Name: sphere 2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3467927147591017864 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9090505391021365287} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 1} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 4120609990321608393} - m_Father: {fileID: 4706764071881520257} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &9090505391140135947 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3467927147474901412} - m_Layer: 0 - m_Name: sphere 1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3467927147474901412 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9090505391140135947} - 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: 4120609990207597285} - m_Father: {fileID: 4706764071881520257} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Tests/Runtime/Export/Prefabs/Metallic.prefab.meta b/Tests/Runtime/Export/Prefabs/Metallic.prefab.meta deleted file mode 100644 index 4e2b5be3e..000000000 --- a/Tests/Runtime/Export/Prefabs/Metallic.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: d91af84dcddcb4d40a7247f2cf63141a -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/MetallicSmoothnessOcclusionTexture.prefab b/Tests/Runtime/Export/Prefabs/MetallicSmoothnessOcclusionTexture.prefab deleted file mode 100644 index 3963f5556..000000000 --- a/Tests/Runtime/Export/Prefabs/MetallicSmoothnessOcclusionTexture.prefab +++ /dev/null @@ -1,227 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &615798479171091111 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5083642953557427976} - m_Layer: 0 - m_Name: sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &5083642953557427976 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 615798479171091111} - m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 5729546284900447305} - m_Father: {fileID: 4034662269119736319} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0} ---- !u!1 &2154556301086298503 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5729546284900447305} - - component: {fileID: 3376881436780831507} - - component: {fileID: 3568851224949313558} - m_Layer: 0 - m_Name: Sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &5729546284900447305 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2154556301086298503} - 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: 5083642953557427976} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &3376881436780831507 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2154556301086298503} - m_Mesh: {fileID: 4300000, guid: 52124697381bf4f0284e31e9240f1854, type: 2} ---- !u!23 &3568851224949313558 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2154556301086298503} - 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: bd7fc9897bd6743eabac410e69f8f003, 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!1 &4034662269119736318 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4034662269119736319} - m_Layer: 0 - m_Name: MetallicSmoothnessOcclusionTexture - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4034662269119736319 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4034662269119736318} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 28, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 4034662270733228105} - - {fileID: 5083642953557427976} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &4034662270733228104 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4034662270733228105} - - component: {fileID: 4034662270733228107} - - component: {fileID: 4034662270733228106} - m_Layer: 0 - m_Name: Plane - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4034662270733228105 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4034662270733228104} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 1} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4034662269119736319} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &4034662270733228107 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4034662270733228104} - m_Mesh: {fileID: 4300000, guid: 8d3a3f6dd59ab419baf067a12c03d313, type: 2} ---- !u!23 &4034662270733228106 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4034662270733228104} - 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: bd7fc9897bd6743eabac410e69f8f003, 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} diff --git a/Tests/Runtime/Export/Prefabs/MetallicSmoothnessOcclusionTexture.prefab.meta b/Tests/Runtime/Export/Prefabs/MetallicSmoothnessOcclusionTexture.prefab.meta deleted file mode 100644 index 4d8051115..000000000 --- a/Tests/Runtime/Export/Prefabs/MetallicSmoothnessOcclusionTexture.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: afd51858e128e4af6bfaceb2876e6e0d -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/MetallicSmoothnessTexture.prefab b/Tests/Runtime/Export/Prefabs/MetallicSmoothnessTexture.prefab deleted file mode 100644 index 4d706f4a9..000000000 --- a/Tests/Runtime/Export/Prefabs/MetallicSmoothnessTexture.prefab +++ /dev/null @@ -1,227 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &1837308858197592435 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1837308858197592432} - m_Layer: 0 - m_Name: MetallicSmoothnessTexture - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1837308858197592432 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1837308858197592435} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 27, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1837308858662075049} - - {fileID: 7497977766633597335} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1837308858662075048 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1837308858662075049} - - component: {fileID: 1837308858662075055} - - component: {fileID: 1837308858662075054} - m_Layer: 0 - m_Name: Plane - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1837308858662075049 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1837308858662075048} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 1} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1837308858197592432} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &1837308858662075055 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1837308858662075048} - m_Mesh: {fileID: 4300000, guid: 8d3a3f6dd59ab419baf067a12c03d313, type: 2} ---- !u!23 &1837308858662075054 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1837308858662075048} - 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: 6804dcfc3cc1b415f8245ded14fe0d31, 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!1 &2740810003483612216 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7497977766633597335} - m_Layer: 0 - m_Name: sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7497977766633597335 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2740810003483612216} - m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 6990148077552917206} - m_Father: {fileID: 1837308858197592432} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0} ---- !u!1 &3703107690690101016 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6990148077552917206} - - component: {fileID: 26888140474224012} - - component: {fileID: 2235344654551744137} - m_Layer: 0 - m_Name: Sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6990148077552917206 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3703107690690101016} - 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: 7497977766633597335} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &26888140474224012 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3703107690690101016} - m_Mesh: {fileID: 4300000, guid: 52124697381bf4f0284e31e9240f1854, type: 2} ---- !u!23 &2235344654551744137 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3703107690690101016} - 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: 6804dcfc3cc1b415f8245ded14fe0d31, 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} diff --git a/Tests/Runtime/Export/Prefabs/MetallicSmoothnessTexture.prefab.meta b/Tests/Runtime/Export/Prefabs/MetallicSmoothnessTexture.prefab.meta deleted file mode 100644 index 57346c7cc..000000000 --- a/Tests/Runtime/Export/Prefabs/MetallicSmoothnessTexture.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 7e27f597db0874ac48859da192048e04 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/MetallicTexture.prefab b/Tests/Runtime/Export/Prefabs/MetallicTexture.prefab deleted file mode 100644 index f08d1d680..000000000 --- a/Tests/Runtime/Export/Prefabs/MetallicTexture.prefab +++ /dev/null @@ -1,227 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &146296328130672400 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5476593323352165055} - m_Layer: 0 - m_Name: sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &5476593323352165055 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 146296328130672400} - m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 4976215033164708350} - m_Father: {fileID: 4427462008483443319} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0} ---- !u!1 &1687437271907687472 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4976215033164708350} - - component: {fileID: 2616988367563615908} - - component: {fileID: 4254605940877794721} - m_Layer: 0 - m_Name: Sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4976215033164708350 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1687437271907687472} - 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: 5476593323352165055} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &2616988367563615908 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1687437271907687472} - m_Mesh: {fileID: 4300000, guid: 52124697381bf4f0284e31e9240f1854, type: 2} ---- !u!23 &4254605940877794721 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1687437271907687472} - 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: ea021e53b78ac4b978fd67f579f874c3, 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!1 &4427462008483443318 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4427462008483443319} - m_Layer: 0 - m_Name: MetallicTexture - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4427462008483443319 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4427462008483443318} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 26, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 4427462008771985831} - - {fileID: 5476593323352165055} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &4427462008771985830 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4427462008771985831} - - component: {fileID: 4427462008771985829} - - component: {fileID: 4427462008771985828} - m_Layer: 0 - m_Name: Plane - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4427462008771985831 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4427462008771985830} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 1} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 4427462008483443319} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &4427462008771985829 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4427462008771985830} - m_Mesh: {fileID: 4300000, guid: 8d3a3f6dd59ab419baf067a12c03d313, type: 2} ---- !u!23 &4427462008771985828 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4427462008771985830} - 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: ea021e53b78ac4b978fd67f579f874c3, 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} diff --git a/Tests/Runtime/Export/Prefabs/MetallicTexture.prefab.meta b/Tests/Runtime/Export/Prefabs/MetallicTexture.prefab.meta deleted file mode 100644 index 1a4432f9d..000000000 --- a/Tests/Runtime/Export/Prefabs/MetallicTexture.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: cfb983a48091d4b499bdad45e13ad0be -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/NoMaterial.prefab b/Tests/Runtime/Export/Prefabs/NoMaterial.prefab deleted file mode 100644 index 5cab3999c..000000000 --- a/Tests/Runtime/Export/Prefabs/NoMaterial.prefab +++ /dev/null @@ -1,117 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &4711336670859837539 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4711336670859837540} - - component: {fileID: 4711336670859837543} - - component: {fileID: 4711336670859837542} - m_Layer: 0 - m_Name: Cube - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4711336670859837540 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4711336670859837539} - 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_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 4711336672165233577} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &4711336670859837543 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4711336670859837539} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &4711336670859837542 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4711336670859837539} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 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!1 &4711336672165233576 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4711336672165233577} - m_Layer: 0 - m_Name: NoMaterial - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4711336672165233577 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4711336672165233576} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 2, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 4711336670859837540} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Tests/Runtime/Export/Prefabs/NoMaterial.prefab.meta b/Tests/Runtime/Export/Prefabs/NoMaterial.prefab.meta deleted file mode 100644 index 6a23e7737..000000000 --- a/Tests/Runtime/Export/Prefabs/NoMaterial.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 50fab60141c274403b5d9743803dd6e3 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/NoMaterial2.prefab b/Tests/Runtime/Export/Prefabs/NoMaterial2.prefab deleted file mode 100644 index 146549122..000000000 --- a/Tests/Runtime/Export/Prefabs/NoMaterial2.prefab +++ /dev/null @@ -1,118 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &5498003405349280035 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5498003405349280032} - m_Layer: 0 - m_Name: NoMaterial2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &5498003405349280032 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5498003405349280035} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 3, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 5460172040454978074} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1001 &5498003406149377521 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 5498003405349280032} - m_Modifications: - - target: {fileID: -8679921383154817045, guid: 46e6c0cd0c7d34d5793180969a50fde4, - type: 3} - propertyPath: m_RootOrder - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 46e6c0cd0c7d34d5793180969a50fde4, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 46e6c0cd0c7d34d5793180969a50fde4, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 46e6c0cd0c7d34d5793180969a50fde4, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 46e6c0cd0c7d34d5793180969a50fde4, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 46e6c0cd0c7d34d5793180969a50fde4, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 46e6c0cd0c7d34d5793180969a50fde4, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 46e6c0cd0c7d34d5793180969a50fde4, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 46e6c0cd0c7d34d5793180969a50fde4, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 46e6c0cd0c7d34d5793180969a50fde4, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 46e6c0cd0c7d34d5793180969a50fde4, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -7511558181221131132, guid: 46e6c0cd0c7d34d5793180969a50fde4, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 0} - - target: {fileID: -7511558181221131132, guid: 46e6c0cd0c7d34d5793180969a50fde4, - type: 3} - propertyPath: m_Materials.Array.data[1] - value: - objectReference: {fileID: 2100000, guid: 4b96664abea4542a791fcabc7695571f, type: 2} - - target: {fileID: 919132149155446097, guid: 46e6c0cd0c7d34d5793180969a50fde4, - type: 3} - propertyPath: m_Name - value: Submesh - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 46e6c0cd0c7d34d5793180969a50fde4, type: 3} ---- !u!4 &5460172040454978074 stripped -Transform: - m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 46e6c0cd0c7d34d5793180969a50fde4, - type: 3} - m_PrefabInstance: {fileID: 5498003406149377521} - m_PrefabAsset: {fileID: 0} diff --git a/Tests/Runtime/Export/Prefabs/NoMaterial2.prefab.meta b/Tests/Runtime/Export/Prefabs/NoMaterial2.prefab.meta deleted file mode 100644 index f6c0d2695..000000000 --- a/Tests/Runtime/Export/Prefabs/NoMaterial2.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 2d2cacd3abf864e5b820c2d04d93bac9 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/NormalTexture.prefab b/Tests/Runtime/Export/Prefabs/NormalTexture.prefab deleted file mode 100644 index bf8ad93f3..000000000 --- a/Tests/Runtime/Export/Prefabs/NormalTexture.prefab +++ /dev/null @@ -1,227 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &5577856919171878439 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 247694062708290440} - m_Layer: 0 - m_Name: sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &247694062708290440 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5577856919171878439} - m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 747643553024327881} - m_Father: {fileID: 8223214281202448713} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0} ---- !u!1 &6342690805162059015 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 747643553024327881} - - component: {fileID: 7727704043881535379} - - component: {fileID: 8386931086798906518} - m_Layer: 0 - m_Name: Sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &747643553024327881 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6342690805162059015} - 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: 247694062708290440} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &7727704043881535379 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6342690805162059015} - m_Mesh: {fileID: 4300000, guid: 52124697381bf4f0284e31e9240f1854, type: 2} ---- !u!23 &8386931086798906518 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6342690805162059015} - 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: c639d1785bf0143698e8aa37c225a178, 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!1 &8223214280729566706 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8223214280729566707} - - component: {fileID: 8223214280729566701} - - component: {fileID: 8223214280729566700} - m_Layer: 0 - m_Name: Plane - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8223214280729566707 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8223214280729566706} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 1} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 8223214281202448713} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &8223214280729566701 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8223214280729566706} - m_Mesh: {fileID: 4300000, guid: 8d3a3f6dd59ab419baf067a12c03d313, type: 2} ---- !u!23 &8223214280729566700 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8223214280729566706} - 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: c639d1785bf0143698e8aa37c225a178, 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!1 &8223214281202448712 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8223214281202448713} - m_Layer: 0 - m_Name: NormalTexture - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8223214281202448713 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8223214281202448712} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 14, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 8223214280729566707} - - {fileID: 247694062708290440} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Tests/Runtime/Export/Prefabs/NormalTexture.prefab.meta b/Tests/Runtime/Export/Prefabs/NormalTexture.prefab.meta deleted file mode 100644 index b65ace15b..000000000 --- a/Tests/Runtime/Export/Prefabs/NormalTexture.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 07695d396174743ccb430abb15b9092b -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/OcclusionTexture.prefab b/Tests/Runtime/Export/Prefabs/OcclusionTexture.prefab deleted file mode 100644 index b76b0786e..000000000 --- a/Tests/Runtime/Export/Prefabs/OcclusionTexture.prefab +++ /dev/null @@ -1,227 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &5044491997809653414 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 578388876909611785} - m_Layer: 0 - m_Name: sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &578388876909611785 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5044491997809653414} - m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 74604302918694984} - m_Father: {fileID: 8752636198445173441} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0} ---- !u!1 &6011432768865394054 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 74604302918694984} - - component: {fileID: 6942144949570236178} - - component: {fileID: 9155106165755681815} - m_Layer: 0 - m_Name: Sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &74604302918694984 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6011432768865394054} - 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: 578388876909611785} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &6942144949570236178 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6011432768865394054} - m_Mesh: {fileID: 4300000, guid: 52124697381bf4f0284e31e9240f1854, type: 2} ---- !u!23 &9155106165755681815 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6011432768865394054} - 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: 0a63204fdb39e4f0bbe41f3d29f7d40b, 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!1 &8752636197792707285 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8752636197792707284} - - component: {fileID: 8752636197792707282} - - component: {fileID: 8752636197792707283} - m_Layer: 0 - m_Name: Plane - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8752636197792707284 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8752636197792707285} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 1} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 8752636198445173441} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &8752636197792707282 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8752636197792707285} - m_Mesh: {fileID: 4300000, guid: 8d3a3f6dd59ab419baf067a12c03d313, type: 2} ---- !u!23 &8752636197792707283 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8752636197792707285} - 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: 0a63204fdb39e4f0bbe41f3d29f7d40b, 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!1 &8752636198445173442 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8752636198445173441} - m_Layer: 0 - m_Name: OcclusionTexture - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8752636198445173441 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8752636198445173442} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 20, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 8752636197792707284} - - {fileID: 578388876909611785} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Tests/Runtime/Export/Prefabs/OcclusionTexture.prefab.meta b/Tests/Runtime/Export/Prefabs/OcclusionTexture.prefab.meta deleted file mode 100644 index c3207e604..000000000 --- a/Tests/Runtime/Export/Prefabs/OcclusionTexture.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: c2c9cd0016016402fbf39d1705884133 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/OcclusionTextureStrength.prefab b/Tests/Runtime/Export/Prefabs/OcclusionTextureStrength.prefab deleted file mode 100644 index d5819adee..000000000 --- a/Tests/Runtime/Export/Prefabs/OcclusionTextureStrength.prefab +++ /dev/null @@ -1,227 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &6325097510464842400 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6325097510464842401} - m_Layer: 0 - m_Name: OcclusionTextureStrength - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6325097510464842401 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6325097510464842400} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 21, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 6325097511533786186} - - {fileID: 2789424773229808506} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &6325097511533786185 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6325097511533786186} - - component: {fileID: 6325097511533786180} - - component: {fileID: 6325097511533786187} - m_Layer: 0 - m_Name: Plane - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6325097511533786186 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6325097511533786185} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 1} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 6325097510464842401} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &6325097511533786180 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6325097511533786185} - m_Mesh: {fileID: 4300000, guid: 8d3a3f6dd59ab419baf067a12c03d313, type: 2} ---- !u!23 &6325097511533786187 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6325097511533786185} - 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: 113955e35f8b84ae995a1acf92522ed6, 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!1 &7543947387288106709 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2789424773229808506} - m_Layer: 0 - m_Name: sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2789424773229808506 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7543947387288106709} - m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 3439011395513530427} - m_Father: {fileID: 6325097510464842401} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0} ---- !u!1 &9069186231818575349 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3439011395513530427} - - component: {fileID: 5685700658419887969} - - component: {fileID: 5890046536874630244} - m_Layer: 0 - m_Name: Sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3439011395513530427 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9069186231818575349} - 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: 2789424773229808506} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &5685700658419887969 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9069186231818575349} - m_Mesh: {fileID: 4300000, guid: 52124697381bf4f0284e31e9240f1854, type: 2} ---- !u!23 &5890046536874630244 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 9069186231818575349} - 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: 113955e35f8b84ae995a1acf92522ed6, 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} diff --git a/Tests/Runtime/Export/Prefabs/OcclusionTextureStrength.prefab.meta b/Tests/Runtime/Export/Prefabs/OcclusionTextureStrength.prefab.meta deleted file mode 100644 index 2f7748afe..000000000 --- a/Tests/Runtime/Export/Prefabs/OcclusionTextureStrength.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: f64232b9bb68345be9752c43ed0bfecc -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/PointCloud.prefab b/Tests/Runtime/Export/Prefabs/PointCloud.prefab deleted file mode 100644 index 62e67bc37..000000000 --- a/Tests/Runtime/Export/Prefabs/PointCloud.prefab +++ /dev/null @@ -1,83 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &8237554354107154443 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7319686964981122328} - - component: {fileID: 2167765229250118600} - - component: {fileID: 6927792884220503029} - m_Layer: 0 - m_Name: PointCloud - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7319686964981122328 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8237554354107154443} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 37, y: 0, z: 0} - 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 &2167765229250118600 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8237554354107154443} - m_Mesh: {fileID: 4300000, guid: 8e18b33640fbb46a59129a6c565c14f1, type: 2} ---- !u!23 &6927792884220503029 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8237554354107154443} - 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: b468d61d3bd4e48808859c7e5d12acfb, 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} diff --git a/Tests/Runtime/Export/Prefabs/PointCloud.prefab.meta b/Tests/Runtime/Export/Prefabs/PointCloud.prefab.meta deleted file mode 100644 index 99878eba9..000000000 --- a/Tests/Runtime/Export/Prefabs/PointCloud.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 7792de72d326d48acb68c6159a3a9777 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/Quads.prefab b/Tests/Runtime/Export/Prefabs/Quads.prefab deleted file mode 100644 index cf9658419..000000000 --- a/Tests/Runtime/Export/Prefabs/Quads.prefab +++ /dev/null @@ -1,113 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &1765603341679898650 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1765603341679898645} - m_Layer: 0 - m_Name: Quads - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1765603341679898645 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1765603341679898650} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 19, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 2236626138571307473} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1001 &1765603339788623418 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 1765603341679898645} - m_Modifications: - - target: {fileID: -8679921383154817045, guid: 9ce902852b8194c92b813c97d31ea3ea, - type: 3} - propertyPath: m_RootOrder - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 9ce902852b8194c92b813c97d31ea3ea, - type: 3} - propertyPath: m_LocalPosition.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 9ce902852b8194c92b813c97d31ea3ea, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 9ce902852b8194c92b813c97d31ea3ea, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 9ce902852b8194c92b813c97d31ea3ea, - type: 3} - propertyPath: m_LocalRotation.w - value: 0.7071067 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 9ce902852b8194c92b813c97d31ea3ea, - type: 3} - propertyPath: m_LocalRotation.x - value: -0.7071068 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 9ce902852b8194c92b813c97d31ea3ea, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 9ce902852b8194c92b813c97d31ea3ea, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 9ce902852b8194c92b813c97d31ea3ea, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 9ce902852b8194c92b813c97d31ea3ea, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 9ce902852b8194c92b813c97d31ea3ea, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -7511558181221131132, guid: 9ce902852b8194c92b813c97d31ea3ea, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 7f512d016ff104d1385fc16252d730a5, type: 2} - - target: {fileID: 919132149155446097, guid: 9ce902852b8194c92b813c97d31ea3ea, - type: 3} - propertyPath: m_Name - value: QuadCube - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 9ce902852b8194c92b813c97d31ea3ea, type: 3} ---- !u!4 &2236626138571307473 stripped -Transform: - m_CorrespondingSourceObject: {fileID: -8679921383154817045, guid: 9ce902852b8194c92b813c97d31ea3ea, - type: 3} - m_PrefabInstance: {fileID: 1765603339788623418} - m_PrefabAsset: {fileID: 0} diff --git a/Tests/Runtime/Export/Prefabs/Quads.prefab.meta b/Tests/Runtime/Export/Prefabs/Quads.prefab.meta deleted file mode 100644 index 2731f4f41..000000000 --- a/Tests/Runtime/Export/Prefabs/Quads.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 8d4497c445d7a4c4fbbe110d953054ef -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/Simple.prefab b/Tests/Runtime/Export/Prefabs/Simple.prefab deleted file mode 100644 index e15410d26..000000000 --- a/Tests/Runtime/Export/Prefabs/Simple.prefab +++ /dev/null @@ -1,201 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &1346562252654694609 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1346562252654694608} - - component: {fileID: 1346562252654694613} - - component: {fileID: 1346562252654694610} - m_Layer: 0 - m_Name: Sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1346562252654694608 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1346562252654694609} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 1} - m_LocalScale: {x: 1, y: 1, z: 1} - m_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1346562254272868396} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &1346562252654694613 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1346562252654694609} - m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &1346562252654694610 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1346562252654694609} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - 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: 13fec4340763546f99d7f0aa289eace7, 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!1 &1346562253930123855 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1346562253930123854} - - component: {fileID: 1346562253930123859} - - component: {fileID: 1346562253930123856} - m_Layer: 0 - m_Name: Cube - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1346562253930123854 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1346562253930123855} - 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_ConstrainProportionsScale: 0 - m_Children: [] - m_Father: {fileID: 1346562254272868396} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &1346562253930123859 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1346562253930123855} - m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &1346562253930123856 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1346562253930123855} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - 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: af98d753eae734d93a0fe4e9132abe49, 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!1 &1346562254272868397 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1346562254272868396} - m_Layer: 0 - m_Name: Simple - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1346562254272868396 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1346562254272868397} - 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_ConstrainProportionsScale: 0 - m_Children: - - {fileID: 1346562253930123854} - - {fileID: 1346562252654694608} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Tests/Runtime/Export/Prefabs/Simple.prefab.meta b/Tests/Runtime/Export/Prefabs/Simple.prefab.meta deleted file mode 100644 index f74515e0f..000000000 --- a/Tests/Runtime/Export/Prefabs/Simple.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 0d8624f4a39af4179b99f78392428f83 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/SmoothnessTexture.prefab b/Tests/Runtime/Export/Prefabs/SmoothnessTexture.prefab deleted file mode 100644 index c74e0de9e..000000000 --- a/Tests/Runtime/Export/Prefabs/SmoothnessTexture.prefab +++ /dev/null @@ -1,227 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &5542063964532821008 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5542063964532821011} - m_Layer: 0 - m_Name: SmoothnessTexture - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &5542063964532821011 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5542063964532821008} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 25, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 5542063965211100225} - - {fileID: 4438324309794314659} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &5542063965211100230 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5542063965211100225} - - component: {fileID: 5542063965211100227} - - component: {fileID: 5542063965211100224} - m_Layer: 0 - m_Name: Plane - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &5542063965211100225 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5542063965211100230} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 1} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 5542063964532821011} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &5542063965211100227 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5542063965211100230} - m_Mesh: {fileID: 4300000, guid: 8d3a3f6dd59ab419baf067a12c03d313, type: 2} ---- !u!23 &5542063965211100224 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5542063965211100230} - 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: 5456568e96a8d4e079231a31d4be769a, 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!1 &7418035170653245228 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3789723940853017314} - - component: {fileID: 6181671951298117048} - - component: {fileID: 5373842615229894333} - m_Layer: 0 - m_Name: Sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3789723940853017314 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7418035170653245228} - 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: 4438324309794314659} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &6181671951298117048 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7418035170653245228} - m_Mesh: {fileID: 4300000, guid: 52124697381bf4f0284e31e9240f1854, type: 2} ---- !u!23 &5373842615229894333 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7418035170653245228} - 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: 5456568e96a8d4e079231a31d4be769a, 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!1 &8331487037161464844 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 4438324309794314659} - m_Layer: 0 - m_Name: sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &4438324309794314659 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8331487037161464844} - m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 3789723940853017314} - m_Father: {fileID: 5542063964532821011} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0} diff --git a/Tests/Runtime/Export/Prefabs/SmoothnessTexture.prefab.meta b/Tests/Runtime/Export/Prefabs/SmoothnessTexture.prefab.meta deleted file mode 100644 index 1ef045ff9..000000000 --- a/Tests/Runtime/Export/Prefabs/SmoothnessTexture.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 92719913ce37348078f1849114cef239 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/Submesh.prefab b/Tests/Runtime/Export/Prefabs/Submesh.prefab deleted file mode 100644 index 4a4fbd807..000000000 --- a/Tests/Runtime/Export/Prefabs/Submesh.prefab +++ /dev/null @@ -1,86 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1001 &7562238440936278451 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: -8679921383154817045, guid: 46e6c0cd0c7d34d5793180969a50fde4, - type: 3} - propertyPath: m_RootOrder - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 46e6c0cd0c7d34d5793180969a50fde4, - type: 3} - propertyPath: m_LocalPosition.x - value: 1 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 46e6c0cd0c7d34d5793180969a50fde4, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 46e6c0cd0c7d34d5793180969a50fde4, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 46e6c0cd0c7d34d5793180969a50fde4, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 46e6c0cd0c7d34d5793180969a50fde4, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 46e6c0cd0c7d34d5793180969a50fde4, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 46e6c0cd0c7d34d5793180969a50fde4, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 46e6c0cd0c7d34d5793180969a50fde4, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 46e6c0cd0c7d34d5793180969a50fde4, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 46e6c0cd0c7d34d5793180969a50fde4, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -7511558181221131132, guid: 46e6c0cd0c7d34d5793180969a50fde4, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 32c710f2784b940fc827dca0661bf68d, type: 2} - - target: {fileID: -7511558181221131132, guid: 46e6c0cd0c7d34d5793180969a50fde4, - type: 3} - propertyPath: m_Materials.Array.data[1] - value: - objectReference: {fileID: 2100000, guid: 4b96664abea4542a791fcabc7695571f, type: 2} - - target: {fileID: 919132149155446097, guid: 46e6c0cd0c7d34d5793180969a50fde4, - type: 3} - propertyPath: m_Name - value: Submesh Variant - objectReference: {fileID: 0} - - target: {fileID: 919132149155446097, guid: 46e6c0cd0c7d34d5793180969a50fde4, - type: 3} - propertyPath: m_IsActive - value: 1 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 46e6c0cd0c7d34d5793180969a50fde4, type: 3} diff --git a/Tests/Runtime/Export/Prefabs/Submesh.prefab.meta b/Tests/Runtime/Export/Prefabs/Submesh.prefab.meta deleted file mode 100644 index dea8860fd..000000000 --- a/Tests/Runtime/Export/Prefabs/Submesh.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 935afbc92ed3646488ea2105a5864d6c -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/Unlit.prefab b/Tests/Runtime/Export/Prefabs/Unlit.prefab deleted file mode 100644 index 945d4d868..000000000 --- a/Tests/Runtime/Export/Prefabs/Unlit.prefab +++ /dev/null @@ -1,227 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &4808150550733783866 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1214864710615459572} - - component: {fileID: 8179215595417153966} - - component: {fileID: 7987245806171210411} - m_Layer: 0 - m_Name: Sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1214864710615459572 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4808150550733783866} - 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: 1861047318987888053} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &8179215595417153966 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4808150550733783866} - m_Mesh: {fileID: 4300000, guid: 52124697381bf4f0284e31e9240f1854, type: 2} ---- !u!23 &7987245806171210411 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 4808150550733783866} - 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: 35685406b50c3436ea2e323fbf1848bb, 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!1 &6328893991256713242 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1861047318987888053} - m_Layer: 0 - m_Name: sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1861047318987888053 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6328893991256713242} - m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1214864710615459572} - m_Father: {fileID: 7539730617632344403} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0} ---- !u!1 &7539730617173733319 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7539730617173733312} - - component: {fileID: 7539730617173733314} - - component: {fileID: 7539730617173733313} - m_Layer: 0 - m_Name: Plane - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7539730617173733312 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7539730617173733319} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 1} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 7539730617632344403} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &7539730617173733314 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7539730617173733319} - m_Mesh: {fileID: 4300000, guid: 8d3a3f6dd59ab419baf067a12c03d313, type: 2} ---- !u!23 &7539730617173733313 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7539730617173733319} - 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: 35685406b50c3436ea2e323fbf1848bb, 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!1 &7539730617632344402 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7539730617632344403} - m_Layer: 0 - m_Name: Unlit - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7539730617632344403 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7539730617632344402} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 15, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 7539730617173733312} - - {fileID: 1861047318987888053} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Tests/Runtime/Export/Prefabs/Unlit.prefab.meta b/Tests/Runtime/Export/Prefabs/Unlit.prefab.meta deleted file mode 100644 index 1681c25cd..000000000 --- a/Tests/Runtime/Export/Prefabs/Unlit.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 0f1ddaf82c5594f18a30f08a74141629 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/UnlitTextured.prefab b/Tests/Runtime/Export/Prefabs/UnlitTextured.prefab deleted file mode 100644 index 33b86be4a..000000000 --- a/Tests/Runtime/Export/Prefabs/UnlitTextured.prefab +++ /dev/null @@ -1,227 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &1050992879177976969 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1050992879177976974} - - component: {fileID: 1050992879177976972} - - component: {fileID: 1050992879177976975} - m_Layer: 0 - m_Name: Plane - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1050992879177976974 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1050992879177976969} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 1} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1050992881129428316} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &1050992879177976972 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1050992879177976969} - m_Mesh: {fileID: 4300000, guid: 8d3a3f6dd59ab419baf067a12c03d313, type: 2} ---- !u!23 &1050992879177976975 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1050992879177976969} - 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: 1e872d1adf1ce4070b56b1ed49afedda, 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!1 &1050992881129428319 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1050992881129428316} - m_Layer: 0 - m_Name: UnlitTextured - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1050992881129428316 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1050992881129428319} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 16, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1050992879177976974} - - {fileID: 9215673072201395173} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &2634212207311928682 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8569066397011892388} - - component: {fileID: 1708280737224560638} - - component: {fileID: 643738520964660475} - m_Layer: 0 - m_Name: Sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8569066397011892388 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2634212207311928682} - 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: 9215673072201395173} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &1708280737224560638 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2634212207311928682} - m_Mesh: {fileID: 4300000, guid: 52124697381bf4f0284e31e9240f1854, type: 2} ---- !u!23 &643738520964660475 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2634212207311928682} - 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: 1e872d1adf1ce4070b56b1ed49afedda, 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!1 &3594962074191582794 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 9215673072201395173} - m_Layer: 0 - m_Name: sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &9215673072201395173 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3594962074191582794} - m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 8569066397011892388} - m_Father: {fileID: 1050992881129428316} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0} diff --git a/Tests/Runtime/Export/Prefabs/UnlitTextured.prefab.meta b/Tests/Runtime/Export/Prefabs/UnlitTextured.prefab.meta deleted file mode 100644 index fef6a7a15..000000000 --- a/Tests/Runtime/Export/Prefabs/UnlitTextured.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 293fb8f07bf3d4c13acd52d0d508a96e -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/UnlitTexturedTransform.prefab b/Tests/Runtime/Export/Prefabs/UnlitTexturedTransform.prefab deleted file mode 100644 index ea4a27e3b..000000000 --- a/Tests/Runtime/Export/Prefabs/UnlitTexturedTransform.prefab +++ /dev/null @@ -1,227 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &1121616699776680098 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6770355020247836012} - - component: {fileID: 4371687085853078070} - - component: {fileID: 2589946642104025395} - m_Layer: 0 - m_Name: Sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6770355020247836012 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1121616699776680098} - 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: 6123478963637753389} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &4371687085853078070 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1121616699776680098} - m_Mesh: {fileID: 4300000, guid: 52124697381bf4f0284e31e9240f1854, type: 2} ---- !u!23 &2589946642104025395 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1121616699776680098} - 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: c55842d885c0f44ee8cf3eb683c9c689, 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!1 &1944865148069358466 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 6123478963637753389} - m_Layer: 0 - m_Name: sphere - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &6123478963637753389 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1944865148069358466} - m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 6770355020247836012} - m_Father: {fileID: 2705451771127871402} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0} ---- !u!1 &2705451770622622624 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2705451770622622627} - - component: {fileID: 2705451770622622557} - - component: {fileID: 2705451770622622626} - m_Layer: 0 - m_Name: Plane - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2705451770622622627 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2705451770622622624} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 1} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 2705451771127871402} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &2705451770622622557 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2705451770622622624} - m_Mesh: {fileID: 4300000, guid: 8d3a3f6dd59ab419baf067a12c03d313, type: 2} ---- !u!23 &2705451770622622626 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2705451770622622624} - 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: c55842d885c0f44ee8cf3eb683c9c689, 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!1 &2705451771127871403 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2705451771127871402} - m_Layer: 0 - m_Name: UnlitTexturedTransform - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2705451771127871402 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2705451771127871403} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 17, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 2705451770622622627} - - {fileID: 6123478963637753389} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Tests/Runtime/Export/Prefabs/UnlitTexturedTransform.prefab.meta b/Tests/Runtime/Export/Prefabs/UnlitTexturedTransform.prefab.meta deleted file mode 100644 index e8ed23b3e..000000000 --- a/Tests/Runtime/Export/Prefabs/UnlitTexturedTransform.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: ffc86ab9ea12e43ed969436659c6dc8e -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/WrapModeU.prefab b/Tests/Runtime/Export/Prefabs/WrapModeU.prefab deleted file mode 100644 index 6ab47155e..000000000 --- a/Tests/Runtime/Export/Prefabs/WrapModeU.prefab +++ /dev/null @@ -1,360 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &8658038003165771587 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8658038003165771586} - - component: {fileID: 8658038003165771588} - - component: {fileID: 8658038003165771589} - m_Layer: 0 - m_Name: M - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8658038003165771586 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8658038003165771587} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 2} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 8658038003402654543} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &8658038003165771588 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8658038003165771587} - m_Mesh: {fileID: 4300000, guid: 8d3a3f6dd59ab419baf067a12c03d313, type: 2} ---- !u!23 &8658038003165771589 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8658038003165771587} - 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: af851d5a419ed45e5acb7c8f3dbc84c6, 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!1 &8658038003402654540 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8658038003402654543} - m_Layer: 0 - m_Name: WrapModeU - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8658038003402654543 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8658038003402654540} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 33, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 8658038005069141080} - - {fileID: 8658038004496133824} - - {fileID: 8658038003165771586} - - {fileID: 8658038005001019011} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &8658038004496133825 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8658038004496133824} - - component: {fileID: 8658038004496133826} - - component: {fileID: 8658038004496133827} - m_Layer: 0 - m_Name: C - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8658038004496133824 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8658038004496133825} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 1} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 8658038003402654543} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &8658038004496133826 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8658038004496133825} - m_Mesh: {fileID: 4300000, guid: 8d3a3f6dd59ab419baf067a12c03d313, type: 2} ---- !u!23 &8658038004496133827 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8658038004496133825} - 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: 38991c0aa1a5844648616aed0dc8e764, 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!1 &8658038005001019008 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8658038005001019011} - - component: {fileID: 8658038005001019013} - - component: {fileID: 8658038005001019010} - m_Layer: 0 - m_Name: M1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8658038005001019011 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8658038005001019008} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 3} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 8658038003402654543} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &8658038005001019013 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8658038005001019008} - m_Mesh: {fileID: 4300000, guid: 8d3a3f6dd59ab419baf067a12c03d313, type: 2} ---- !u!23 &8658038005001019010 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8658038005001019008} - 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: f560134b41db542a18a3474fcf00e7d3, 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!1 &8658038005069141081 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8658038005069141080} - - component: {fileID: 8658038005069141082} - - component: {fileID: 8658038005069141083} - m_Layer: 0 - m_Name: R - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8658038005069141080 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8658038005069141081} - 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: 8658038003402654543} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &8658038005069141082 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8658038005069141081} - m_Mesh: {fileID: 4300000, guid: 8d3a3f6dd59ab419baf067a12c03d313, type: 2} ---- !u!23 &8658038005069141083 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8658038005069141081} - 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: 21f911120c4ce47baaa6fc691b988d88, 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} diff --git a/Tests/Runtime/Export/Prefabs/WrapModeU.prefab.meta b/Tests/Runtime/Export/Prefabs/WrapModeU.prefab.meta deleted file mode 100644 index 018ec0af5..000000000 --- a/Tests/Runtime/Export/Prefabs/WrapModeU.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 4773f44f5a0654d6bbd5638e82956a00 -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Prefabs/WrapModeV.prefab b/Tests/Runtime/Export/Prefabs/WrapModeV.prefab deleted file mode 100644 index d47394c41..000000000 --- a/Tests/Runtime/Export/Prefabs/WrapModeV.prefab +++ /dev/null @@ -1,360 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &7952931428957114074 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7952931428957114075} - - component: {fileID: 7952931428957114073} - - component: {fileID: 7952931428957114072} - m_Layer: 0 - m_Name: M1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7952931428957114075 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7952931428957114074} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 3} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 7952931429172956885} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &7952931428957114073 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7952931428957114074} - m_Mesh: {fileID: 4300000, guid: 8d3a3f6dd59ab419baf067a12c03d313, type: 2} ---- !u!23 &7952931428957114072 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7952931428957114074} - 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: c047993339e4f48d886689b78a2692fc, 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!1 &7952931429172956884 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7952931429172956885} - m_Layer: 0 - m_Name: WrapModeV - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7952931429172956885 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7952931429172956884} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 34, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 7952931430279745302} - - {fileID: 7952931429409345980} - - {fileID: 7952931429550051000} - - {fileID: 7952931428957114075} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &7952931429409345983 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7952931429409345980} - - component: {fileID: 7952931429409345954} - - component: {fileID: 7952931429409345981} - m_Layer: 0 - m_Name: C - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7952931429409345980 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7952931429409345983} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 1} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 7952931429172956885} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &7952931429409345954 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7952931429409345983} - m_Mesh: {fileID: 4300000, guid: 8d3a3f6dd59ab419baf067a12c03d313, type: 2} ---- !u!23 &7952931429409345981 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7952931429409345983} - 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: 38991c0aa1a5844648616aed0dc8e764, 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!1 &7952931429550051003 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7952931429550051000} - - component: {fileID: 7952931429550051006} - - component: {fileID: 7952931429550051001} - m_Layer: 0 - m_Name: M - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7952931429550051000 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7952931429550051003} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 2} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 7952931429172956885} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &7952931429550051006 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7952931429550051003} - m_Mesh: {fileID: 4300000, guid: 8d3a3f6dd59ab419baf067a12c03d313, type: 2} ---- !u!23 &7952931429550051001 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7952931429550051003} - 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: 25ed749be2bff4d42893af0064755063, 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!1 &7952931430279745297 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7952931430279745302} - - component: {fileID: 7952931430279745300} - - component: {fileID: 7952931430279745303} - m_Layer: 0 - m_Name: R - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7952931430279745302 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7952931430279745297} - 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: 7952931429172956885} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!33 &7952931430279745300 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7952931430279745297} - m_Mesh: {fileID: 4300000, guid: 8d3a3f6dd59ab419baf067a12c03d313, type: 2} ---- !u!23 &7952931430279745303 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 7952931430279745297} - 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: 3cd4d5a95ba684cbfb309278a96a0553, 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} diff --git a/Tests/Runtime/Export/Prefabs/WrapModeV.prefab.meta b/Tests/Runtime/Export/Prefabs/WrapModeV.prefab.meta deleted file mode 100644 index 735114f1f..000000000 --- a/Tests/Runtime/Export/Prefabs/WrapModeV.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 1028f372405af49649f2f65cfc84354b -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Scenes.meta b/Tests/Runtime/Export/Scenes.meta deleted file mode 100644 index b9382296b..000000000 --- a/Tests/Runtime/Export/Scenes.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 314a53f37fc8542c6bc4ec1dae66e19a -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Scenes/ExportSceneBuiltIn-ObjectList.txt b/Tests/Runtime/Export/Scenes/ExportSceneBuiltIn-ObjectList.txt deleted file mode 100644 index 2ae38deb8..000000000 --- a/Tests/Runtime/Export/Scenes/ExportSceneBuiltIn-ObjectList.txt +++ /dev/null @@ -1,48 +0,0 @@ -Simple -Submesh -NoMaterial -NoMaterial2 -MeshMaterialReuse -MeshReuse -Bounds -Metallic -Dielectric -BaseColorTexture -BaseColorTextureCutout -BaseColorTextureFade -BaseColorTextureTransparent -BaseColorTextureTransform -NormalTexture -Unlit -UnlitTextured -UnlitTexturedTransform -DoubleSided -Quads -OcclusionTexture -OcclusionTextureStrength -EmissiveFactor -EmissiveTexture -EmissiveTextureFactor -SmoothnessTexture -MetallicTexture -MetallicSmoothnessTexture -MetallicSmoothnessOcclusionTexture -BaseColorSmoothnessTexture -BaseColorSmoothnessMetalTexture -BaseColorSmoothnessMetalOcclusionTexture -IdenticalTextureName -WrapModeU -WrapModeV -BoxVertexColors -PointCloud -ClearcoatFactor -ClearcoatTexture -Cameras -LightsPoint -LightsSpot -LightDirectional -LightAreaRectangle -LightAreaDisc -HierarchyObjectsInactive -HierarchyComponentsDisabled -HierarchyEditorOnlyTag diff --git a/Tests/Runtime/Export/Scenes/ExportSceneBuiltIn-ObjectList.txt.meta b/Tests/Runtime/Export/Scenes/ExportSceneBuiltIn-ObjectList.txt.meta deleted file mode 100644 index 1e2d4d12f..000000000 --- a/Tests/Runtime/Export/Scenes/ExportSceneBuiltIn-ObjectList.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 7bf4c4c7a01764c7dbf964fe9c6e6173 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Scenes/ExportSceneBuiltIn.unity b/Tests/Runtime/Export/Scenes/ExportSceneBuiltIn.unity deleted file mode 100644 index ed7ae0eb5..000000000 --- a/Tests/Runtime/Export/Scenes/ExportSceneBuiltIn.unity +++ /dev/null @@ -1,3729 +0,0 @@ -%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.44300637, g: 0.4921953, b: 0.5719249, 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: 3 - 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 - buildHeightMesh: 0 - maxJobWorkers: 0 - preserveTilesOutsideBounds: 0 - debug: - m_Flags: 0 - m_NavMeshData: {fileID: 0} ---- !u!1001 &23781641 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 8223214280729566700, guid: 07695d396174743ccb430abb15b9092b, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 633b2ef7f688e4556bddadb1dec568e0, type: 2} - - target: {fileID: 8223214281202448712, guid: 07695d396174743ccb430abb15b9092b, - type: 3} - propertyPath: m_Name - value: NormalTexture - objectReference: {fileID: 0} - - target: {fileID: 8223214281202448713, guid: 07695d396174743ccb430abb15b9092b, - type: 3} - propertyPath: m_RootOrder - value: 14 - objectReference: {fileID: 0} - - target: {fileID: 8223214281202448713, guid: 07695d396174743ccb430abb15b9092b, - type: 3} - propertyPath: m_LocalPosition.x - value: 14 - objectReference: {fileID: 0} - - target: {fileID: 8223214281202448713, guid: 07695d396174743ccb430abb15b9092b, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8223214281202448713, guid: 07695d396174743ccb430abb15b9092b, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8223214281202448713, guid: 07695d396174743ccb430abb15b9092b, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8223214281202448713, guid: 07695d396174743ccb430abb15b9092b, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8223214281202448713, guid: 07695d396174743ccb430abb15b9092b, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8223214281202448713, guid: 07695d396174743ccb430abb15b9092b, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8223214281202448713, guid: 07695d396174743ccb430abb15b9092b, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8223214281202448713, guid: 07695d396174743ccb430abb15b9092b, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8223214281202448713, guid: 07695d396174743ccb430abb15b9092b, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8386931086798906518, guid: 07695d396174743ccb430abb15b9092b, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 633b2ef7f688e4556bddadb1dec568e0, type: 2} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 07695d396174743ccb430abb15b9092b, type: 3} ---- !u!1001 &61443719 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 5498003405349280032, guid: 2d2cacd3abf864e5b820c2d04d93bac9, - type: 3} - propertyPath: m_RootOrder - value: 3 - objectReference: {fileID: 0} - - target: {fileID: 5498003405349280032, guid: 2d2cacd3abf864e5b820c2d04d93bac9, - type: 3} - propertyPath: m_LocalPosition.x - value: 3 - objectReference: {fileID: 0} - - target: {fileID: 5498003405349280032, guid: 2d2cacd3abf864e5b820c2d04d93bac9, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5498003405349280032, guid: 2d2cacd3abf864e5b820c2d04d93bac9, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5498003405349280032, guid: 2d2cacd3abf864e5b820c2d04d93bac9, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 5498003405349280032, guid: 2d2cacd3abf864e5b820c2d04d93bac9, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 5498003405349280032, guid: 2d2cacd3abf864e5b820c2d04d93bac9, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 5498003405349280032, guid: 2d2cacd3abf864e5b820c2d04d93bac9, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 5498003405349280032, guid: 2d2cacd3abf864e5b820c2d04d93bac9, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5498003405349280032, guid: 2d2cacd3abf864e5b820c2d04d93bac9, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5498003405349280032, guid: 2d2cacd3abf864e5b820c2d04d93bac9, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5498003405349280035, guid: 2d2cacd3abf864e5b820c2d04d93bac9, - type: 3} - propertyPath: m_Name - value: NoMaterial2 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 2d2cacd3abf864e5b820c2d04d93bac9, type: 3} ---- !u!1001 &64502052 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 1099224946644255422, guid: 8d4497c445d7a4c4fbbe110d953054ef, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 31f4969c5e330438a8486617223f2865, type: 2} - - target: {fileID: 1765603341679898645, guid: 8d4497c445d7a4c4fbbe110d953054ef, - type: 3} - propertyPath: m_RootOrder - value: 19 - objectReference: {fileID: 0} - - target: {fileID: 1765603341679898645, guid: 8d4497c445d7a4c4fbbe110d953054ef, - type: 3} - propertyPath: m_LocalPosition.x - value: 19 - objectReference: {fileID: 0} - - target: {fileID: 1765603341679898645, guid: 8d4497c445d7a4c4fbbe110d953054ef, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1765603341679898645, guid: 8d4497c445d7a4c4fbbe110d953054ef, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1765603341679898645, guid: 8d4497c445d7a4c4fbbe110d953054ef, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1765603341679898645, guid: 8d4497c445d7a4c4fbbe110d953054ef, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1765603341679898645, guid: 8d4497c445d7a4c4fbbe110d953054ef, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1765603341679898645, guid: 8d4497c445d7a4c4fbbe110d953054ef, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1765603341679898645, guid: 8d4497c445d7a4c4fbbe110d953054ef, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1765603341679898645, guid: 8d4497c445d7a4c4fbbe110d953054ef, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1765603341679898645, guid: 8d4497c445d7a4c4fbbe110d953054ef, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1765603341679898650, guid: 8d4497c445d7a4c4fbbe110d953054ef, - type: 3} - propertyPath: m_Name - value: Quads - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 8d4497c445d7a4c4fbbe110d953054ef, type: 3} ---- !u!1001 &198982131 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 7057153715754798030, guid: aac4be4be56c04b50897274f9064b8e9, - type: 3} - propertyPath: m_Name - value: BaseColorTextureTransform - objectReference: {fileID: 0} - - target: {fileID: 7057153715754798031, guid: aac4be4be56c04b50897274f9064b8e9, - type: 3} - propertyPath: m_RootOrder - value: 13 - objectReference: {fileID: 0} - - target: {fileID: 7057153715754798031, guid: aac4be4be56c04b50897274f9064b8e9, - type: 3} - propertyPath: m_LocalPosition.x - value: 13 - objectReference: {fileID: 0} - - target: {fileID: 7057153715754798031, guid: aac4be4be56c04b50897274f9064b8e9, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7057153715754798031, guid: aac4be4be56c04b50897274f9064b8e9, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7057153715754798031, guid: aac4be4be56c04b50897274f9064b8e9, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 7057153715754798031, guid: aac4be4be56c04b50897274f9064b8e9, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7057153715754798031, guid: aac4be4be56c04b50897274f9064b8e9, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7057153715754798031, guid: aac4be4be56c04b50897274f9064b8e9, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7057153715754798031, guid: aac4be4be56c04b50897274f9064b8e9, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7057153715754798031, guid: aac4be4be56c04b50897274f9064b8e9, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7057153715754798031, guid: aac4be4be56c04b50897274f9064b8e9, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7057153717863917472, guid: aac4be4be56c04b50897274f9064b8e9, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 0c6e10dd61f654b2a9a6f82850a3948f, type: 2} - - target: {fileID: 7461038896213985862, guid: aac4be4be56c04b50897274f9064b8e9, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 0c6e10dd61f654b2a9a6f82850a3948f, type: 2} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: aac4be4be56c04b50897274f9064b8e9, type: 3} ---- !u!1001 &205641226 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 2915868153665871304, guid: ae43b9ff98e994a19a62b0c474ddd427, - type: 3} - propertyPath: m_Name - value: MeshMaterialReuse - objectReference: {fileID: 0} - - target: {fileID: 2915868153665871311, guid: ae43b9ff98e994a19a62b0c474ddd427, - type: 3} - propertyPath: m_RootOrder - value: 4 - objectReference: {fileID: 0} - - target: {fileID: 2915868153665871311, guid: ae43b9ff98e994a19a62b0c474ddd427, - type: 3} - propertyPath: m_LocalPosition.x - value: 4 - objectReference: {fileID: 0} - - target: {fileID: 2915868153665871311, guid: ae43b9ff98e994a19a62b0c474ddd427, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2915868153665871311, guid: ae43b9ff98e994a19a62b0c474ddd427, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2915868153665871311, guid: ae43b9ff98e994a19a62b0c474ddd427, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 2915868153665871311, guid: ae43b9ff98e994a19a62b0c474ddd427, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2915868153665871311, guid: ae43b9ff98e994a19a62b0c474ddd427, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2915868153665871311, guid: ae43b9ff98e994a19a62b0c474ddd427, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2915868153665871311, guid: ae43b9ff98e994a19a62b0c474ddd427, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2915868153665871311, guid: ae43b9ff98e994a19a62b0c474ddd427, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2915868153665871311, guid: ae43b9ff98e994a19a62b0c474ddd427, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2915868154634156449, guid: ae43b9ff98e994a19a62b0c474ddd427, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 4b96664abea4542a791fcabc7695571f, type: 2} - - target: {fileID: 2915868154823642519, guid: ae43b9ff98e994a19a62b0c474ddd427, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 4b96664abea4542a791fcabc7695571f, type: 2} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: ae43b9ff98e994a19a62b0c474ddd427, type: 3} ---- !u!1001 &246730472 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 6039058246625723649, guid: 24c13edf962bf42d0ad1f71d10864824, - type: 3} - propertyPath: m_RootOrder - value: 8 - objectReference: {fileID: 0} - - target: {fileID: 6039058246625723649, guid: 24c13edf962bf42d0ad1f71d10864824, - type: 3} - propertyPath: m_LocalPosition.x - value: 8 - objectReference: {fileID: 0} - - target: {fileID: 6039058246625723649, guid: 24c13edf962bf42d0ad1f71d10864824, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6039058246625723649, guid: 24c13edf962bf42d0ad1f71d10864824, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6039058246625723649, guid: 24c13edf962bf42d0ad1f71d10864824, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6039058246625723649, guid: 24c13edf962bf42d0ad1f71d10864824, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6039058246625723649, guid: 24c13edf962bf42d0ad1f71d10864824, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6039058246625723649, guid: 24c13edf962bf42d0ad1f71d10864824, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6039058246625723649, guid: 24c13edf962bf42d0ad1f71d10864824, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6039058246625723649, guid: 24c13edf962bf42d0ad1f71d10864824, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6039058246625723649, guid: 24c13edf962bf42d0ad1f71d10864824, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6039058246625723650, guid: 24c13edf962bf42d0ad1f71d10864824, - type: 3} - propertyPath: m_Name - value: Dielectric - objectReference: {fileID: 0} - - target: {fileID: 6176106106388571798, guid: 24c13edf962bf42d0ad1f71d10864824, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 8df769c72dae24e2faab74eca7793568, type: 2} - - target: {fileID: 6176106106825870733, guid: 24c13edf962bf42d0ad1f71d10864824, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: f1a988547c53d4cdca222fd8d4f7fddd, type: 2} - - target: {fileID: 6176106107249733136, guid: 24c13edf962bf42d0ad1f71d10864824, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 3c3e86f276c9b4fb09cf309f2598beb0, type: 2} - - target: {fileID: 6176106107637614780, guid: 24c13edf962bf42d0ad1f71d10864824, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: d240cc28d24cd4c0fa667cd13a83b8aa, type: 2} - - target: {fileID: 6176106108289953035, guid: 24c13edf962bf42d0ad1f71d10864824, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 938a14ae81b9e44a0a777226ffaa5240, type: 2} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 24c13edf962bf42d0ad1f71d10864824, type: 3} ---- !u!1001 &316397284 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 4711336672165233576, guid: 50fab60141c274403b5d9743803dd6e3, - type: 3} - propertyPath: m_Name - value: NoMaterial - objectReference: {fileID: 0} - - target: {fileID: 4711336672165233577, guid: 50fab60141c274403b5d9743803dd6e3, - type: 3} - propertyPath: m_RootOrder - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 4711336672165233577, guid: 50fab60141c274403b5d9743803dd6e3, - type: 3} - propertyPath: m_LocalPosition.x - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 4711336672165233577, guid: 50fab60141c274403b5d9743803dd6e3, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4711336672165233577, guid: 50fab60141c274403b5d9743803dd6e3, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4711336672165233577, guid: 50fab60141c274403b5d9743803dd6e3, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4711336672165233577, guid: 50fab60141c274403b5d9743803dd6e3, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4711336672165233577, guid: 50fab60141c274403b5d9743803dd6e3, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4711336672165233577, guid: 50fab60141c274403b5d9743803dd6e3, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4711336672165233577, guid: 50fab60141c274403b5d9743803dd6e3, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4711336672165233577, guid: 50fab60141c274403b5d9743803dd6e3, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4711336672165233577, guid: 50fab60141c274403b5d9743803dd6e3, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 50fab60141c274403b5d9743803dd6e3, type: 3} ---- !u!1001 &387182930 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 5890046536874630244, guid: f64232b9bb68345be9752c43ed0bfecc, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: f1735423758fb476a8adbde7a01cfb84, type: 2} - - target: {fileID: 6325097510464842400, guid: f64232b9bb68345be9752c43ed0bfecc, - type: 3} - propertyPath: m_Name - value: OcclusionTextureStrength - objectReference: {fileID: 0} - - target: {fileID: 6325097510464842401, guid: f64232b9bb68345be9752c43ed0bfecc, - type: 3} - propertyPath: m_RootOrder - value: 21 - objectReference: {fileID: 0} - - target: {fileID: 6325097510464842401, guid: f64232b9bb68345be9752c43ed0bfecc, - type: 3} - propertyPath: m_LocalPosition.x - value: 21 - objectReference: {fileID: 0} - - target: {fileID: 6325097510464842401, guid: f64232b9bb68345be9752c43ed0bfecc, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6325097510464842401, guid: f64232b9bb68345be9752c43ed0bfecc, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6325097510464842401, guid: f64232b9bb68345be9752c43ed0bfecc, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6325097510464842401, guid: f64232b9bb68345be9752c43ed0bfecc, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6325097510464842401, guid: f64232b9bb68345be9752c43ed0bfecc, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6325097510464842401, guid: f64232b9bb68345be9752c43ed0bfecc, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6325097510464842401, guid: f64232b9bb68345be9752c43ed0bfecc, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6325097510464842401, guid: f64232b9bb68345be9752c43ed0bfecc, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6325097510464842401, guid: f64232b9bb68345be9752c43ed0bfecc, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6325097511533786187, guid: f64232b9bb68345be9752c43ed0bfecc, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: f1735423758fb476a8adbde7a01cfb84, type: 2} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: f64232b9bb68345be9752c43ed0bfecc, type: 3} ---- !u!1001 &409390120 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 7952931428957114072, guid: 1028f372405af49649f2f65cfc84354b, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: d330b4b7550c1421587adb83e7f2ed9a, type: 2} - - target: {fileID: 7952931429172956884, guid: 1028f372405af49649f2f65cfc84354b, - type: 3} - propertyPath: m_Name - value: WrapModeV - objectReference: {fileID: 0} - - target: {fileID: 7952931429172956885, guid: 1028f372405af49649f2f65cfc84354b, - type: 3} - propertyPath: m_RootOrder - value: 34 - objectReference: {fileID: 0} - - target: {fileID: 7952931429172956885, guid: 1028f372405af49649f2f65cfc84354b, - type: 3} - propertyPath: m_LocalPosition.x - value: 34 - objectReference: {fileID: 0} - - target: {fileID: 7952931429172956885, guid: 1028f372405af49649f2f65cfc84354b, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7952931429172956885, guid: 1028f372405af49649f2f65cfc84354b, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7952931429172956885, guid: 1028f372405af49649f2f65cfc84354b, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 7952931429172956885, guid: 1028f372405af49649f2f65cfc84354b, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7952931429172956885, guid: 1028f372405af49649f2f65cfc84354b, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7952931429172956885, guid: 1028f372405af49649f2f65cfc84354b, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7952931429172956885, guid: 1028f372405af49649f2f65cfc84354b, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7952931429172956885, guid: 1028f372405af49649f2f65cfc84354b, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7952931429172956885, guid: 1028f372405af49649f2f65cfc84354b, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7952931429409345981, guid: 1028f372405af49649f2f65cfc84354b, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: db3bef9e455d6493c8ada699e890bc8b, type: 2} - - target: {fileID: 7952931429550051001, guid: 1028f372405af49649f2f65cfc84354b, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 315362a14afbe4d2caa9432326ef3bbf, type: 2} - - target: {fileID: 7952931430279745303, guid: 1028f372405af49649f2f65cfc84354b, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: fff44a95577bd4b1090dbf21b53bf45b, type: 2} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 1028f372405af49649f2f65cfc84354b, type: 3} ---- !u!1001 &413010695 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 7539730617632344402, guid: 0f1ddaf82c5594f18a30f08a74141629, - type: 3} - propertyPath: m_Name - value: Unlit - objectReference: {fileID: 0} - - target: {fileID: 7539730617632344403, guid: 0f1ddaf82c5594f18a30f08a74141629, - type: 3} - propertyPath: m_RootOrder - value: 15 - objectReference: {fileID: 0} - - target: {fileID: 7539730617632344403, guid: 0f1ddaf82c5594f18a30f08a74141629, - type: 3} - propertyPath: m_LocalPosition.x - value: 15 - objectReference: {fileID: 0} - - target: {fileID: 7539730617632344403, guid: 0f1ddaf82c5594f18a30f08a74141629, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7539730617632344403, guid: 0f1ddaf82c5594f18a30f08a74141629, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7539730617632344403, guid: 0f1ddaf82c5594f18a30f08a74141629, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 7539730617632344403, guid: 0f1ddaf82c5594f18a30f08a74141629, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7539730617632344403, guid: 0f1ddaf82c5594f18a30f08a74141629, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7539730617632344403, guid: 0f1ddaf82c5594f18a30f08a74141629, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7539730617632344403, guid: 0f1ddaf82c5594f18a30f08a74141629, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7539730617632344403, guid: 0f1ddaf82c5594f18a30f08a74141629, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7539730617632344403, guid: 0f1ddaf82c5594f18a30f08a74141629, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 0f1ddaf82c5594f18a30f08a74141629, type: 3} ---- !u!1001 &549554481 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 6550277279279799940, guid: bd9a03713e9544d65b3a51b50b4c5665, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 1343993c16c9046a6bb2774a1e9efd79, type: 2} - - target: {fileID: 6550277279318986921, guid: bd9a03713e9544d65b3a51b50b4c5665, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 4b96664abea4542a791fcabc7695571f, type: 2} - - target: {fileID: 6550277280262782600, guid: bd9a03713e9544d65b3a51b50b4c5665, - type: 3} - propertyPath: m_RootOrder - value: 5 - objectReference: {fileID: 0} - - target: {fileID: 6550277280262782600, guid: bd9a03713e9544d65b3a51b50b4c5665, - type: 3} - propertyPath: m_LocalPosition.x - value: 5 - objectReference: {fileID: 0} - - target: {fileID: 6550277280262782600, guid: bd9a03713e9544d65b3a51b50b4c5665, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6550277280262782600, guid: bd9a03713e9544d65b3a51b50b4c5665, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6550277280262782600, guid: bd9a03713e9544d65b3a51b50b4c5665, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6550277280262782600, guid: bd9a03713e9544d65b3a51b50b4c5665, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6550277280262782600, guid: bd9a03713e9544d65b3a51b50b4c5665, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6550277280262782600, guid: bd9a03713e9544d65b3a51b50b4c5665, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6550277280262782600, guid: bd9a03713e9544d65b3a51b50b4c5665, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6550277280262782600, guid: bd9a03713e9544d65b3a51b50b4c5665, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6550277280262782600, guid: bd9a03713e9544d65b3a51b50b4c5665, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6550277280262782601, guid: bd9a03713e9544d65b3a51b50b4c5665, - type: 3} - propertyPath: m_Name - value: MeshReuse - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: bd9a03713e9544d65b3a51b50b4c5665, type: 3} ---- !u!1001 &556929182 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 2367217601757676444, guid: 5ae29474b4f794bef9af8b935730bef7, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 2b7eac06f49e7489586021348d128daa, type: 2} - - target: {fileID: 2783487829809861907, guid: 5ae29474b4f794bef9af8b935730bef7, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 2b7eac06f49e7489586021348d128daa, type: 2} - - target: {fileID: 2783487831035117616, guid: 5ae29474b4f794bef9af8b935730bef7, - type: 3} - propertyPath: m_RootOrder - value: 29 - objectReference: {fileID: 0} - - target: {fileID: 2783487831035117616, guid: 5ae29474b4f794bef9af8b935730bef7, - type: 3} - propertyPath: m_LocalPosition.x - value: 29 - objectReference: {fileID: 0} - - target: {fileID: 2783487831035117616, guid: 5ae29474b4f794bef9af8b935730bef7, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2783487831035117616, guid: 5ae29474b4f794bef9af8b935730bef7, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2783487831035117616, guid: 5ae29474b4f794bef9af8b935730bef7, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 2783487831035117616, guid: 5ae29474b4f794bef9af8b935730bef7, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2783487831035117616, guid: 5ae29474b4f794bef9af8b935730bef7, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2783487831035117616, guid: 5ae29474b4f794bef9af8b935730bef7, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2783487831035117616, guid: 5ae29474b4f794bef9af8b935730bef7, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2783487831035117616, guid: 5ae29474b4f794bef9af8b935730bef7, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2783487831035117616, guid: 5ae29474b4f794bef9af8b935730bef7, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2783487831035117619, guid: 5ae29474b4f794bef9af8b935730bef7, - type: 3} - propertyPath: m_Name - value: BaseColorSmoothnessTexture - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 5ae29474b4f794bef9af8b935730bef7, type: 3} ---- !u!1001 &593172698 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 3599368584910199412, guid: 985cca58ca8ad48779838472dabe63f6, - type: 3} - propertyPath: m_Name - value: BaseColorSmoothnessMetalTexture - objectReference: {fileID: 0} - - target: {fileID: 3599368584910199415, guid: 985cca58ca8ad48779838472dabe63f6, - type: 3} - propertyPath: m_RootOrder - value: 30 - objectReference: {fileID: 0} - - target: {fileID: 3599368584910199415, guid: 985cca58ca8ad48779838472dabe63f6, - type: 3} - propertyPath: m_LocalPosition.x - value: 30 - objectReference: {fileID: 0} - - target: {fileID: 3599368584910199415, guid: 985cca58ca8ad48779838472dabe63f6, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3599368584910199415, guid: 985cca58ca8ad48779838472dabe63f6, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3599368584910199415, guid: 985cca58ca8ad48779838472dabe63f6, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 3599368584910199415, guid: 985cca58ca8ad48779838472dabe63f6, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3599368584910199415, guid: 985cca58ca8ad48779838472dabe63f6, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3599368584910199415, guid: 985cca58ca8ad48779838472dabe63f6, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3599368584910199415, guid: 985cca58ca8ad48779838472dabe63f6, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3599368584910199415, guid: 985cca58ca8ad48779838472dabe63f6, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3599368584910199415, guid: 985cca58ca8ad48779838472dabe63f6, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3599368585411516166, guid: 985cca58ca8ad48779838472dabe63f6, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: be8459f8d923e436db581555edb71fd1, type: 2} - - target: {fileID: 4001837610784786408, guid: 985cca58ca8ad48779838472dabe63f6, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: be8459f8d923e436db581555edb71fd1, type: 2} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 985cca58ca8ad48779838472dabe63f6, type: 3} ---- !u!1001 &686619022 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 3568851224949313558, guid: afd51858e128e4af6bfaceb2876e6e0d, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: c447e4a64ea5c4847ba3ef090a7af054, type: 2} - - target: {fileID: 4034662269119736318, guid: afd51858e128e4af6bfaceb2876e6e0d, - type: 3} - propertyPath: m_Name - value: MetallicSmoothnessOcclusionTexture - objectReference: {fileID: 0} - - target: {fileID: 4034662269119736319, guid: afd51858e128e4af6bfaceb2876e6e0d, - type: 3} - propertyPath: m_RootOrder - value: 28 - objectReference: {fileID: 0} - - target: {fileID: 4034662269119736319, guid: afd51858e128e4af6bfaceb2876e6e0d, - type: 3} - propertyPath: m_LocalPosition.x - value: 28 - objectReference: {fileID: 0} - - target: {fileID: 4034662269119736319, guid: afd51858e128e4af6bfaceb2876e6e0d, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4034662269119736319, guid: afd51858e128e4af6bfaceb2876e6e0d, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4034662269119736319, guid: afd51858e128e4af6bfaceb2876e6e0d, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4034662269119736319, guid: afd51858e128e4af6bfaceb2876e6e0d, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4034662269119736319, guid: afd51858e128e4af6bfaceb2876e6e0d, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4034662269119736319, guid: afd51858e128e4af6bfaceb2876e6e0d, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4034662269119736319, guid: afd51858e128e4af6bfaceb2876e6e0d, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4034662269119736319, guid: afd51858e128e4af6bfaceb2876e6e0d, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4034662269119736319, guid: afd51858e128e4af6bfaceb2876e6e0d, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4034662270733228106, guid: afd51858e128e4af6bfaceb2876e6e0d, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: c447e4a64ea5c4847ba3ef090a7af054, type: 2} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: afd51858e128e4af6bfaceb2876e6e0d, type: 3} ---- !u!1001 &713448414 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 1878571720307375283, guid: 3b8a6a1dcde574f2b9d8709361a260e8, - type: 3} - propertyPath: m_Name - value: Bounds - objectReference: {fileID: 0} - - target: {fileID: 6384872455483799981, guid: 3b8a6a1dcde574f2b9d8709361a260e8, - type: 3} - propertyPath: m_RootOrder - value: 6 - objectReference: {fileID: 0} - - target: {fileID: 6384872455483799981, guid: 3b8a6a1dcde574f2b9d8709361a260e8, - type: 3} - propertyPath: m_LocalPosition.x - value: 6 - objectReference: {fileID: 0} - - target: {fileID: 6384872455483799981, guid: 3b8a6a1dcde574f2b9d8709361a260e8, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6384872455483799981, guid: 3b8a6a1dcde574f2b9d8709361a260e8, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6384872455483799981, guid: 3b8a6a1dcde574f2b9d8709361a260e8, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6384872455483799981, guid: 3b8a6a1dcde574f2b9d8709361a260e8, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 6384872455483799981, guid: 3b8a6a1dcde574f2b9d8709361a260e8, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 6384872455483799981, guid: 3b8a6a1dcde574f2b9d8709361a260e8, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 6384872455483799981, guid: 3b8a6a1dcde574f2b9d8709361a260e8, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6384872455483799981, guid: 3b8a6a1dcde574f2b9d8709361a260e8, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6384872455483799981, guid: 3b8a6a1dcde574f2b9d8709361a260e8, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 3b8a6a1dcde574f2b9d8709361a260e8, type: 3} ---- !u!1001 &763648356 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 1837308858197592432, guid: 7e27f597db0874ac48859da192048e04, - type: 3} - propertyPath: m_RootOrder - value: 27 - objectReference: {fileID: 0} - - target: {fileID: 1837308858197592432, guid: 7e27f597db0874ac48859da192048e04, - type: 3} - propertyPath: m_LocalPosition.x - value: 27 - objectReference: {fileID: 0} - - target: {fileID: 1837308858197592432, guid: 7e27f597db0874ac48859da192048e04, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1837308858197592432, guid: 7e27f597db0874ac48859da192048e04, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1837308858197592432, guid: 7e27f597db0874ac48859da192048e04, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1837308858197592432, guid: 7e27f597db0874ac48859da192048e04, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1837308858197592432, guid: 7e27f597db0874ac48859da192048e04, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1837308858197592432, guid: 7e27f597db0874ac48859da192048e04, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1837308858197592432, guid: 7e27f597db0874ac48859da192048e04, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1837308858197592432, guid: 7e27f597db0874ac48859da192048e04, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1837308858197592432, guid: 7e27f597db0874ac48859da192048e04, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1837308858197592435, guid: 7e27f597db0874ac48859da192048e04, - type: 3} - propertyPath: m_Name - value: MetallicSmoothnessTexture - objectReference: {fileID: 0} - - target: {fileID: 1837308858662075054, guid: 7e27f597db0874ac48859da192048e04, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 38a34f5457030426fb021b06e751daf4, type: 2} - - target: {fileID: 2235344654551744137, guid: 7e27f597db0874ac48859da192048e04, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 38a34f5457030426fb021b06e751daf4, type: 2} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 7e27f597db0874ac48859da192048e04, type: 3} ---- !u!1001 &863921625 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 7683718685196857247, guid: 26824e03f48cf4efc941995413e8cf94, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 31f4969c5e330438a8486617223f2865, type: 2} - - target: {fileID: 7843275889068220699, guid: 26824e03f48cf4efc941995413e8cf94, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 31f4969c5e330438a8486617223f2865, type: 2} - - target: {fileID: 7843275890532157482, guid: 26824e03f48cf4efc941995413e8cf94, - type: 3} - propertyPath: m_RootOrder - value: 9 - objectReference: {fileID: 0} - - target: {fileID: 7843275890532157482, guid: 26824e03f48cf4efc941995413e8cf94, - type: 3} - propertyPath: m_LocalPosition.x - value: 9 - objectReference: {fileID: 0} - - target: {fileID: 7843275890532157482, guid: 26824e03f48cf4efc941995413e8cf94, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7843275890532157482, guid: 26824e03f48cf4efc941995413e8cf94, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7843275890532157482, guid: 26824e03f48cf4efc941995413e8cf94, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 7843275890532157482, guid: 26824e03f48cf4efc941995413e8cf94, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7843275890532157482, guid: 26824e03f48cf4efc941995413e8cf94, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7843275890532157482, guid: 26824e03f48cf4efc941995413e8cf94, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7843275890532157482, guid: 26824e03f48cf4efc941995413e8cf94, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7843275890532157482, guid: 26824e03f48cf4efc941995413e8cf94, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7843275890532157482, guid: 26824e03f48cf4efc941995413e8cf94, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7843275890532157483, guid: 26824e03f48cf4efc941995413e8cf94, - type: 3} - propertyPath: m_Name - value: BaseColorTexture - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 26824e03f48cf4efc941995413e8cf94, type: 3} ---- !u!1001 &873005498 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 1169093083258378431, guid: ef51f9d4ffd19424bb63ae05f3792943, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 0} - - target: {fileID: 1604292218823750537, guid: ef51f9d4ffd19424bb63ae05f3792943, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850420, guid: ef51f9d4ffd19424bb63ae05f3792943, - type: 3} - propertyPath: m_Name - value: ClearcoatTexture - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: ef51f9d4ffd19424bb63ae05f3792943, - type: 3} - propertyPath: m_RootOrder - value: 38 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: ef51f9d4ffd19424bb63ae05f3792943, - type: 3} - propertyPath: m_LocalPosition.x - value: 40 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: ef51f9d4ffd19424bb63ae05f3792943, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: ef51f9d4ffd19424bb63ae05f3792943, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: ef51f9d4ffd19424bb63ae05f3792943, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: ef51f9d4ffd19424bb63ae05f3792943, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: ef51f9d4ffd19424bb63ae05f3792943, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: ef51f9d4ffd19424bb63ae05f3792943, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: ef51f9d4ffd19424bb63ae05f3792943, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: ef51f9d4ffd19424bb63ae05f3792943, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: ef51f9d4ffd19424bb63ae05f3792943, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: ef51f9d4ffd19424bb63ae05f3792943, type: 3} ---- !u!1001 &914787484 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 2503265295800656036, guid: b3ff2e7be18db40c08349ea257ef7cbd, - type: 3} - propertyPath: m_Name - value: BaseColorTextureCutout - objectReference: {fileID: 0} - - target: {fileID: 2503265295800656039, guid: b3ff2e7be18db40c08349ea257ef7cbd, - type: 3} - propertyPath: m_RootOrder - value: 10 - objectReference: {fileID: 0} - - target: {fileID: 2503265295800656039, guid: b3ff2e7be18db40c08349ea257ef7cbd, - type: 3} - propertyPath: m_LocalPosition.x - value: 10 - objectReference: {fileID: 0} - - target: {fileID: 2503265295800656039, guid: b3ff2e7be18db40c08349ea257ef7cbd, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2503265295800656039, guid: b3ff2e7be18db40c08349ea257ef7cbd, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2503265295800656039, guid: b3ff2e7be18db40c08349ea257ef7cbd, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 2503265295800656039, guid: b3ff2e7be18db40c08349ea257ef7cbd, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2503265295800656039, guid: b3ff2e7be18db40c08349ea257ef7cbd, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2503265295800656039, guid: b3ff2e7be18db40c08349ea257ef7cbd, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2503265295800656039, guid: b3ff2e7be18db40c08349ea257ef7cbd, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2503265295800656039, guid: b3ff2e7be18db40c08349ea257ef7cbd, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2503265295800656039, guid: b3ff2e7be18db40c08349ea257ef7cbd, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2503265297564210168, guid: b3ff2e7be18db40c08349ea257ef7cbd, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 6a3e137a19a764dc09bfc22957256686, type: 2} - - target: {fileID: 2650234467324164972, guid: b3ff2e7be18db40c08349ea257ef7cbd, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 6a3e137a19a764dc09bfc22957256686, type: 2} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: b3ff2e7be18db40c08349ea257ef7cbd, type: 3} ---- !u!1001 &952116664 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 3231760096108800245, guid: d11274dc7d69d40a0a8bb8d422875e12, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: a2562479896f14dd0a954e2d1071004c, type: 2} - - target: {fileID: 3231760096108800246, guid: d11274dc7d69d40a0a8bb8d422875e12, - type: 3} - propertyPath: m_Name - value: DoubleSided - objectReference: {fileID: 0} - - target: {fileID: 3231760096108800251, guid: d11274dc7d69d40a0a8bb8d422875e12, - type: 3} - propertyPath: m_RootOrder - value: 18 - objectReference: {fileID: 0} - - target: {fileID: 3231760096108800251, guid: d11274dc7d69d40a0a8bb8d422875e12, - type: 3} - propertyPath: m_LocalPosition.x - value: 18 - objectReference: {fileID: 0} - - target: {fileID: 3231760096108800251, guid: d11274dc7d69d40a0a8bb8d422875e12, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3231760096108800251, guid: d11274dc7d69d40a0a8bb8d422875e12, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3231760096108800251, guid: d11274dc7d69d40a0a8bb8d422875e12, - type: 3} - propertyPath: m_LocalRotation.w - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 3231760096108800251, guid: d11274dc7d69d40a0a8bb8d422875e12, - type: 3} - propertyPath: m_LocalRotation.x - value: -0.5 - objectReference: {fileID: 0} - - target: {fileID: 3231760096108800251, guid: d11274dc7d69d40a0a8bb8d422875e12, - type: 3} - propertyPath: m_LocalRotation.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 3231760096108800251, guid: d11274dc7d69d40a0a8bb8d422875e12, - type: 3} - propertyPath: m_LocalRotation.z - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 3231760096108800251, guid: d11274dc7d69d40a0a8bb8d422875e12, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: -90 - objectReference: {fileID: 0} - - target: {fileID: 3231760096108800251, guid: d11274dc7d69d40a0a8bb8d422875e12, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 90 - objectReference: {fileID: 0} - - target: {fileID: 3231760096108800251, guid: d11274dc7d69d40a0a8bb8d422875e12, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: d11274dc7d69d40a0a8bb8d422875e12, type: 3} ---- !u!1001 &956921329 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 1346562252654694610, guid: 0d8624f4a39af4179b99f78392428f83, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 1343993c16c9046a6bb2774a1e9efd79, type: 2} - - target: {fileID: 1346562253930123856, guid: 0d8624f4a39af4179b99f78392428f83, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 4b96664abea4542a791fcabc7695571f, type: 2} - - target: {fileID: 1346562254272868396, guid: 0d8624f4a39af4179b99f78392428f83, - type: 3} - propertyPath: m_RootOrder - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1346562254272868396, guid: 0d8624f4a39af4179b99f78392428f83, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1346562254272868396, guid: 0d8624f4a39af4179b99f78392428f83, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1346562254272868396, guid: 0d8624f4a39af4179b99f78392428f83, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1346562254272868396, guid: 0d8624f4a39af4179b99f78392428f83, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1346562254272868396, guid: 0d8624f4a39af4179b99f78392428f83, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1346562254272868396, guid: 0d8624f4a39af4179b99f78392428f83, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1346562254272868396, guid: 0d8624f4a39af4179b99f78392428f83, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1346562254272868396, guid: 0d8624f4a39af4179b99f78392428f83, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1346562254272868396, guid: 0d8624f4a39af4179b99f78392428f83, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1346562254272868396, guid: 0d8624f4a39af4179b99f78392428f83, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1346562254272868397, guid: 0d8624f4a39af4179b99f78392428f83, - type: 3} - propertyPath: m_Name - value: Simple - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 0d8624f4a39af4179b99f78392428f83, type: 3} ---- !u!1001 &1058824042 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 2705451771127871402, guid: ffc86ab9ea12e43ed969436659c6dc8e, - type: 3} - propertyPath: m_RootOrder - value: 17 - objectReference: {fileID: 0} - - target: {fileID: 2705451771127871402, guid: ffc86ab9ea12e43ed969436659c6dc8e, - type: 3} - propertyPath: m_LocalPosition.x - value: 17 - objectReference: {fileID: 0} - - target: {fileID: 2705451771127871402, guid: ffc86ab9ea12e43ed969436659c6dc8e, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2705451771127871402, guid: ffc86ab9ea12e43ed969436659c6dc8e, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2705451771127871402, guid: ffc86ab9ea12e43ed969436659c6dc8e, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 2705451771127871402, guid: ffc86ab9ea12e43ed969436659c6dc8e, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2705451771127871402, guid: ffc86ab9ea12e43ed969436659c6dc8e, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2705451771127871402, guid: ffc86ab9ea12e43ed969436659c6dc8e, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2705451771127871402, guid: ffc86ab9ea12e43ed969436659c6dc8e, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2705451771127871402, guid: ffc86ab9ea12e43ed969436659c6dc8e, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2705451771127871402, guid: ffc86ab9ea12e43ed969436659c6dc8e, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2705451771127871403, guid: ffc86ab9ea12e43ed969436659c6dc8e, - type: 3} - propertyPath: m_Name - value: UnlitTexturedTransform - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: ffc86ab9ea12e43ed969436659c6dc8e, type: 3} ---- !u!1001 &1101570951 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 8245904733867057375, guid: 1c29e60d0685d4dfea6319359d11a0b1, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 63279441d002841f397ff8daca6ac5fe, type: 2} - - target: {fileID: 8245904734771390780, guid: 1c29e60d0685d4dfea6319359d11a0b1, - type: 3} - propertyPath: m_Name - value: BaseColorSmoothnessMetalOcclusionTexture - objectReference: {fileID: 0} - - target: {fileID: 8245904734771390783, guid: 1c29e60d0685d4dfea6319359d11a0b1, - type: 3} - propertyPath: m_RootOrder - value: 31 - objectReference: {fileID: 0} - - target: {fileID: 8245904734771390783, guid: 1c29e60d0685d4dfea6319359d11a0b1, - type: 3} - propertyPath: m_LocalPosition.x - value: 31 - objectReference: {fileID: 0} - - target: {fileID: 8245904734771390783, guid: 1c29e60d0685d4dfea6319359d11a0b1, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8245904734771390783, guid: 1c29e60d0685d4dfea6319359d11a0b1, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8245904734771390783, guid: 1c29e60d0685d4dfea6319359d11a0b1, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8245904734771390783, guid: 1c29e60d0685d4dfea6319359d11a0b1, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8245904734771390783, guid: 1c29e60d0685d4dfea6319359d11a0b1, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8245904734771390783, guid: 1c29e60d0685d4dfea6319359d11a0b1, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8245904734771390783, guid: 1c29e60d0685d4dfea6319359d11a0b1, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8245904734771390783, guid: 1c29e60d0685d4dfea6319359d11a0b1, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8245904734771390783, guid: 1c29e60d0685d4dfea6319359d11a0b1, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8364787699709841009, guid: 1c29e60d0685d4dfea6319359d11a0b1, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 63279441d002841f397ff8daca6ac5fe, type: 2} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 1c29e60d0685d4dfea6319359d11a0b1, type: 3} ---- !u!1001 &1118520149 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 1050992881129428316, guid: 293fb8f07bf3d4c13acd52d0d508a96e, - type: 3} - propertyPath: m_RootOrder - value: 16 - objectReference: {fileID: 0} - - target: {fileID: 1050992881129428316, guid: 293fb8f07bf3d4c13acd52d0d508a96e, - type: 3} - propertyPath: m_LocalPosition.x - value: 16 - objectReference: {fileID: 0} - - target: {fileID: 1050992881129428316, guid: 293fb8f07bf3d4c13acd52d0d508a96e, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1050992881129428316, guid: 293fb8f07bf3d4c13acd52d0d508a96e, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1050992881129428316, guid: 293fb8f07bf3d4c13acd52d0d508a96e, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1050992881129428316, guid: 293fb8f07bf3d4c13acd52d0d508a96e, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1050992881129428316, guid: 293fb8f07bf3d4c13acd52d0d508a96e, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1050992881129428316, guid: 293fb8f07bf3d4c13acd52d0d508a96e, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1050992881129428316, guid: 293fb8f07bf3d4c13acd52d0d508a96e, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1050992881129428316, guid: 293fb8f07bf3d4c13acd52d0d508a96e, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1050992881129428316, guid: 293fb8f07bf3d4c13acd52d0d508a96e, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1050992881129428319, guid: 293fb8f07bf3d4c13acd52d0d508a96e, - type: 3} - propertyPath: m_Name - value: UnlitTextured - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 293fb8f07bf3d4c13acd52d0d508a96e, type: 3} ---- !u!1001 &1175512783 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 8708582436844139558, guid: 3a86ae160413e409fb65364feebaf093, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: e0331ca8900ee454b8a1eb1bd6df89c1, type: 2} - - target: {fileID: 8708582437401951304, guid: 3a86ae160413e409fb65364feebaf093, - type: 3} - propertyPath: m_RootOrder - value: 11 - objectReference: {fileID: 0} - - target: {fileID: 8708582437401951304, guid: 3a86ae160413e409fb65364feebaf093, - type: 3} - propertyPath: m_LocalPosition.x - value: 11 - objectReference: {fileID: 0} - - target: {fileID: 8708582437401951304, guid: 3a86ae160413e409fb65364feebaf093, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8708582437401951304, guid: 3a86ae160413e409fb65364feebaf093, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8708582437401951304, guid: 3a86ae160413e409fb65364feebaf093, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8708582437401951304, guid: 3a86ae160413e409fb65364feebaf093, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8708582437401951304, guid: 3a86ae160413e409fb65364feebaf093, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8708582437401951304, guid: 3a86ae160413e409fb65364feebaf093, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8708582437401951304, guid: 3a86ae160413e409fb65364feebaf093, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8708582437401951304, guid: 3a86ae160413e409fb65364feebaf093, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8708582437401951304, guid: 3a86ae160413e409fb65364feebaf093, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8708582437401951305, guid: 3a86ae160413e409fb65364feebaf093, - type: 3} - propertyPath: m_Name - value: BaseColorTextureFade - objectReference: {fileID: 0} - - target: {fileID: 9124852653656771481, guid: 3a86ae160413e409fb65364feebaf093, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: e0331ca8900ee454b8a1eb1bd6df89c1, type: 2} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 3a86ae160413e409fb65364feebaf093, type: 3} ---- !u!1001 &1186733530 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 8658038003165771589, guid: 4773f44f5a0654d6bbd5638e82956a00, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: eebe50e4a31634f96a232e0e0a60537b, type: 2} - - target: {fileID: 8658038003402654540, guid: 4773f44f5a0654d6bbd5638e82956a00, - type: 3} - propertyPath: m_Name - value: WrapModeU - objectReference: {fileID: 0} - - target: {fileID: 8658038003402654543, guid: 4773f44f5a0654d6bbd5638e82956a00, - type: 3} - propertyPath: m_RootOrder - value: 33 - objectReference: {fileID: 0} - - target: {fileID: 8658038003402654543, guid: 4773f44f5a0654d6bbd5638e82956a00, - type: 3} - propertyPath: m_LocalPosition.x - value: 33 - objectReference: {fileID: 0} - - target: {fileID: 8658038003402654543, guid: 4773f44f5a0654d6bbd5638e82956a00, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8658038003402654543, guid: 4773f44f5a0654d6bbd5638e82956a00, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8658038003402654543, guid: 4773f44f5a0654d6bbd5638e82956a00, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8658038003402654543, guid: 4773f44f5a0654d6bbd5638e82956a00, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8658038003402654543, guid: 4773f44f5a0654d6bbd5638e82956a00, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8658038003402654543, guid: 4773f44f5a0654d6bbd5638e82956a00, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8658038003402654543, guid: 4773f44f5a0654d6bbd5638e82956a00, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8658038003402654543, guid: 4773f44f5a0654d6bbd5638e82956a00, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8658038003402654543, guid: 4773f44f5a0654d6bbd5638e82956a00, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8658038004496133827, guid: 4773f44f5a0654d6bbd5638e82956a00, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: db3bef9e455d6493c8ada699e890bc8b, type: 2} - - target: {fileID: 8658038005001019010, guid: 4773f44f5a0654d6bbd5638e82956a00, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 681f4553b32014be587b69563c2837b9, type: 2} - - target: {fileID: 8658038005069141083, guid: 4773f44f5a0654d6bbd5638e82956a00, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 1d1f7ca66894c47a8b4749f806dd0a26, type: 2} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 4773f44f5a0654d6bbd5638e82956a00, type: 3} ---- !u!1001 &1270367290 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 3549832593190132279, guid: cc811ce490edd4dcb915c7d355d606e6, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 31f4969c5e330438a8486617223f2865, type: 2} - - target: {fileID: 3549832593247449849, guid: cc811ce490edd4dcb915c7d355d606e6, - type: 3} - propertyPath: m_Name - value: IdenticalTextureName - objectReference: {fileID: 0} - - target: {fileID: 3549832593247449850, guid: cc811ce490edd4dcb915c7d355d606e6, - type: 3} - propertyPath: m_RootOrder - value: 32 - objectReference: {fileID: 0} - - target: {fileID: 3549832593247449850, guid: cc811ce490edd4dcb915c7d355d606e6, - type: 3} - propertyPath: m_LocalPosition.x - value: 32 - objectReference: {fileID: 0} - - target: {fileID: 3549832593247449850, guid: cc811ce490edd4dcb915c7d355d606e6, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3549832593247449850, guid: cc811ce490edd4dcb915c7d355d606e6, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3549832593247449850, guid: cc811ce490edd4dcb915c7d355d606e6, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 3549832593247449850, guid: cc811ce490edd4dcb915c7d355d606e6, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3549832593247449850, guid: cc811ce490edd4dcb915c7d355d606e6, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3549832593247449850, guid: cc811ce490edd4dcb915c7d355d606e6, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3549832593247449850, guid: cc811ce490edd4dcb915c7d355d606e6, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3549832593247449850, guid: cc811ce490edd4dcb915c7d355d606e6, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3549832593247449850, guid: cc811ce490edd4dcb915c7d355d606e6, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3549832594372694394, guid: cc811ce490edd4dcb915c7d355d606e6, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 97acd04191dde47e2a7be74b266ce0a2, type: 2} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: cc811ce490edd4dcb915c7d355d606e6, type: 3} ---- !u!1001 &1398004106 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 1169093083258378431, guid: 3b40254c498714114baaf3d410ed353f, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: c97ac67f2de3940f58e2122cbedb2b73, type: 2} - - target: {fileID: 1604292218823750537, guid: 3b40254c498714114baaf3d410ed353f, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: c97ac67f2de3940f58e2122cbedb2b73, type: 2} - - target: {fileID: 1604292218941850420, guid: 3b40254c498714114baaf3d410ed353f, - type: 3} - propertyPath: m_Name - value: EmissiveTexture - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: 3b40254c498714114baaf3d410ed353f, - type: 3} - propertyPath: m_RootOrder - value: 23 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: 3b40254c498714114baaf3d410ed353f, - type: 3} - propertyPath: m_LocalPosition.x - value: 23 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: 3b40254c498714114baaf3d410ed353f, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: 3b40254c498714114baaf3d410ed353f, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: 3b40254c498714114baaf3d410ed353f, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: 3b40254c498714114baaf3d410ed353f, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: 3b40254c498714114baaf3d410ed353f, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: 3b40254c498714114baaf3d410ed353f, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: 3b40254c498714114baaf3d410ed353f, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: 3b40254c498714114baaf3d410ed353f, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: 3b40254c498714114baaf3d410ed353f, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 3b40254c498714114baaf3d410ed353f, type: 3} ---- !u!1001 &1508586908 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 4791588095660755778, guid: ed59fb738842e4a128ad84414e02748a, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: da13c4718329541fe8b2c313c3e847fa, type: 2} - - target: {fileID: 4901542910963442051, guid: ed59fb738842e4a128ad84414e02748a, - type: 3} - propertyPath: m_RootOrder - value: 12 - objectReference: {fileID: 0} - - target: {fileID: 4901542910963442051, guid: ed59fb738842e4a128ad84414e02748a, - type: 3} - propertyPath: m_LocalPosition.x - value: 12 - objectReference: {fileID: 0} - - target: {fileID: 4901542910963442051, guid: ed59fb738842e4a128ad84414e02748a, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4901542910963442051, guid: ed59fb738842e4a128ad84414e02748a, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4901542910963442051, guid: ed59fb738842e4a128ad84414e02748a, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4901542910963442051, guid: ed59fb738842e4a128ad84414e02748a, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4901542910963442051, guid: ed59fb738842e4a128ad84414e02748a, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4901542910963442051, guid: ed59fb738842e4a128ad84414e02748a, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4901542910963442051, guid: ed59fb738842e4a128ad84414e02748a, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4901542910963442051, guid: ed59fb738842e4a128ad84414e02748a, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4901542910963442051, guid: ed59fb738842e4a128ad84414e02748a, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4901542910963442060, guid: ed59fb738842e4a128ad84414e02748a, - type: 3} - propertyPath: m_Name - value: BaseColorTextureTransparent - objectReference: {fileID: 0} - - target: {fileID: 4901542911290970295, guid: ed59fb738842e4a128ad84414e02748a, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: da13c4718329541fe8b2c313c3e847fa, type: 2} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: ed59fb738842e4a128ad84414e02748a, type: 3} ---- !u!1001 &1573729502 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 2309446972562551030, guid: e914395ea5e224466bd3465c41148359, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 9527d653515fc482f845eb2fa4428e56, type: 2} - - target: {fileID: 2771448233056139569, guid: e914395ea5e224466bd3465c41148359, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 9527d653515fc482f845eb2fa4428e56, type: 2} - - target: {fileID: 2771448233178563540, guid: e914395ea5e224466bd3465c41148359, - type: 3} - propertyPath: m_Name - value: EmissiveTextureFactor - objectReference: {fileID: 0} - - target: {fileID: 2771448233178563541, guid: e914395ea5e224466bd3465c41148359, - type: 3} - propertyPath: m_RootOrder - value: 24 - objectReference: {fileID: 0} - - target: {fileID: 2771448233178563541, guid: e914395ea5e224466bd3465c41148359, - type: 3} - propertyPath: m_LocalPosition.x - value: 24 - objectReference: {fileID: 0} - - target: {fileID: 2771448233178563541, guid: e914395ea5e224466bd3465c41148359, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2771448233178563541, guid: e914395ea5e224466bd3465c41148359, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2771448233178563541, guid: e914395ea5e224466bd3465c41148359, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 2771448233178563541, guid: e914395ea5e224466bd3465c41148359, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2771448233178563541, guid: e914395ea5e224466bd3465c41148359, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2771448233178563541, guid: e914395ea5e224466bd3465c41148359, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2771448233178563541, guid: e914395ea5e224466bd3465c41148359, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2771448233178563541, guid: e914395ea5e224466bd3465c41148359, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2771448233178563541, guid: e914395ea5e224466bd3465c41148359, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: e914395ea5e224466bd3465c41148359, type: 3} ---- !u!1001 &1581108868 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 8752636197792707283, guid: c2c9cd0016016402fbf39d1705884133, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 65ef678d2c61c4c5897194d16d052cbe, type: 2} - - target: {fileID: 8752636198445173441, guid: c2c9cd0016016402fbf39d1705884133, - type: 3} - propertyPath: m_RootOrder - value: 20 - objectReference: {fileID: 0} - - target: {fileID: 8752636198445173441, guid: c2c9cd0016016402fbf39d1705884133, - type: 3} - propertyPath: m_LocalPosition.x - value: 20 - objectReference: {fileID: 0} - - target: {fileID: 8752636198445173441, guid: c2c9cd0016016402fbf39d1705884133, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8752636198445173441, guid: c2c9cd0016016402fbf39d1705884133, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8752636198445173441, guid: c2c9cd0016016402fbf39d1705884133, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8752636198445173441, guid: c2c9cd0016016402fbf39d1705884133, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8752636198445173441, guid: c2c9cd0016016402fbf39d1705884133, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8752636198445173441, guid: c2c9cd0016016402fbf39d1705884133, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8752636198445173441, guid: c2c9cd0016016402fbf39d1705884133, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8752636198445173441, guid: c2c9cd0016016402fbf39d1705884133, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8752636198445173441, guid: c2c9cd0016016402fbf39d1705884133, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8752636198445173442, guid: c2c9cd0016016402fbf39d1705884133, - type: 3} - propertyPath: m_Name - value: OcclusionTexture - objectReference: {fileID: 0} - - target: {fileID: 9155106165755681815, guid: c2c9cd0016016402fbf39d1705884133, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 65ef678d2c61c4c5897194d16d052cbe, type: 2} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: c2c9cd0016016402fbf39d1705884133, type: 3} ---- !u!1001 &1691386647 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 4254605940877794721, guid: cfb983a48091d4b499bdad45e13ad0be, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 6a9364207c59a4335baf8aff4e985bf9, type: 2} - - target: {fileID: 4427462008483443318, guid: cfb983a48091d4b499bdad45e13ad0be, - type: 3} - propertyPath: m_Name - value: MetallicTexture - objectReference: {fileID: 0} - - target: {fileID: 4427462008483443319, guid: cfb983a48091d4b499bdad45e13ad0be, - type: 3} - propertyPath: m_RootOrder - value: 26 - objectReference: {fileID: 0} - - target: {fileID: 4427462008483443319, guid: cfb983a48091d4b499bdad45e13ad0be, - type: 3} - propertyPath: m_LocalPosition.x - value: 26 - objectReference: {fileID: 0} - - target: {fileID: 4427462008483443319, guid: cfb983a48091d4b499bdad45e13ad0be, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4427462008483443319, guid: cfb983a48091d4b499bdad45e13ad0be, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4427462008483443319, guid: cfb983a48091d4b499bdad45e13ad0be, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4427462008483443319, guid: cfb983a48091d4b499bdad45e13ad0be, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4427462008483443319, guid: cfb983a48091d4b499bdad45e13ad0be, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4427462008483443319, guid: cfb983a48091d4b499bdad45e13ad0be, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4427462008483443319, guid: cfb983a48091d4b499bdad45e13ad0be, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4427462008483443319, guid: cfb983a48091d4b499bdad45e13ad0be, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4427462008483443319, guid: cfb983a48091d4b499bdad45e13ad0be, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4427462008771985828, guid: cfb983a48091d4b499bdad45e13ad0be, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 6a9364207c59a4335baf8aff4e985bf9, type: 2} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: cfb983a48091d4b499bdad45e13ad0be, type: 3} ---- !u!1001 &1878200000 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 5373842615229894333, guid: 92719913ce37348078f1849114cef239, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: b5fd26fc810a64fe4aafc3611bc728d1, type: 2} - - target: {fileID: 5542063964532821008, guid: 92719913ce37348078f1849114cef239, - type: 3} - propertyPath: m_Name - value: SmoothnessTexture - objectReference: {fileID: 0} - - target: {fileID: 5542063964532821011, guid: 92719913ce37348078f1849114cef239, - type: 3} - propertyPath: m_RootOrder - value: 25 - objectReference: {fileID: 0} - - target: {fileID: 5542063964532821011, guid: 92719913ce37348078f1849114cef239, - type: 3} - propertyPath: m_LocalPosition.x - value: 25 - objectReference: {fileID: 0} - - target: {fileID: 5542063964532821011, guid: 92719913ce37348078f1849114cef239, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5542063964532821011, guid: 92719913ce37348078f1849114cef239, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5542063964532821011, guid: 92719913ce37348078f1849114cef239, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 5542063964532821011, guid: 92719913ce37348078f1849114cef239, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5542063964532821011, guid: 92719913ce37348078f1849114cef239, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5542063964532821011, guid: 92719913ce37348078f1849114cef239, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5542063964532821011, guid: 92719913ce37348078f1849114cef239, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5542063964532821011, guid: 92719913ce37348078f1849114cef239, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5542063964532821011, guid: 92719913ce37348078f1849114cef239, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5542063965211100224, guid: 92719913ce37348078f1849114cef239, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: b5fd26fc810a64fe4aafc3611bc728d1, type: 2} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 92719913ce37348078f1849114cef239, type: 3} ---- !u!1001 &1962451712 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 695671047794976346, guid: 4f3faa6302e404605852678e205439ba, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: e192574a685c24fe4bbba97c35aa7e66, type: 2} - - target: {fileID: 695671047801497548, guid: 4f3faa6302e404605852678e205439ba, - type: 3} - propertyPath: m_Name - value: EmissiveFactor - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 4f3faa6302e404605852678e205439ba, - type: 3} - propertyPath: m_RootOrder - value: 22 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 4f3faa6302e404605852678e205439ba, - type: 3} - propertyPath: m_LocalPosition.x - value: 22 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 4f3faa6302e404605852678e205439ba, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 4f3faa6302e404605852678e205439ba, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 4f3faa6302e404605852678e205439ba, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 4f3faa6302e404605852678e205439ba, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 4f3faa6302e404605852678e205439ba, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 4f3faa6302e404605852678e205439ba, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 4f3faa6302e404605852678e205439ba, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 4f3faa6302e404605852678e205439ba, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 4f3faa6302e404605852678e205439ba, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1143177165508683232, guid: 4f3faa6302e404605852678e205439ba, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: e192574a685c24fe4bbba97c35aa7e66, type: 2} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 4f3faa6302e404605852678e205439ba, type: 3} ---- !u!1001 &1990932815 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 4706764071881520257, guid: d91af84dcddcb4d40a7247f2cf63141a, - type: 3} - propertyPath: m_RootOrder - value: 7 - objectReference: {fileID: 0} - - target: {fileID: 4706764071881520257, guid: d91af84dcddcb4d40a7247f2cf63141a, - type: 3} - propertyPath: m_LocalPosition.x - value: 7 - objectReference: {fileID: 0} - - target: {fileID: 4706764071881520257, guid: d91af84dcddcb4d40a7247f2cf63141a, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4706764071881520257, guid: d91af84dcddcb4d40a7247f2cf63141a, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4706764071881520257, guid: d91af84dcddcb4d40a7247f2cf63141a, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4706764071881520257, guid: d91af84dcddcb4d40a7247f2cf63141a, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4706764071881520257, guid: d91af84dcddcb4d40a7247f2cf63141a, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4706764071881520257, guid: d91af84dcddcb4d40a7247f2cf63141a, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4706764071881520257, guid: d91af84dcddcb4d40a7247f2cf63141a, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4706764071881520257, guid: d91af84dcddcb4d40a7247f2cf63141a, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4706764071881520257, guid: d91af84dcddcb4d40a7247f2cf63141a, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4706764071881520258, guid: d91af84dcddcb4d40a7247f2cf63141a, - type: 3} - propertyPath: m_Name - value: Metallic - objectReference: {fileID: 0} - - target: {fileID: 5128241316508293330, guid: d91af84dcddcb4d40a7247f2cf63141a, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 18dfa796e179e491eb4616196e34d939, type: 2} - - target: {fileID: 5128241316579697262, guid: d91af84dcddcb4d40a7247f2cf63141a, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 93526043b5fd84f6491c4a89a1f08045, type: 2} - - target: {fileID: 5128241317373992079, guid: d91af84dcddcb4d40a7247f2cf63141a, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 4eed0577c4b6c4e27bf2e3541c7fb39b, type: 2} - - target: {fileID: 5128241317713530554, guid: d91af84dcddcb4d40a7247f2cf63141a, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: e0fd61a91b8054e8da1e26233bd83103, type: 2} - - target: {fileID: 5128241317968589462, guid: d91af84dcddcb4d40a7247f2cf63141a, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 488b12d31c7d44b4b8574d903b4e16a9, type: 2} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: d91af84dcddcb4d40a7247f2cf63141a, type: 3} ---- !u!1001 &2125987682 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 695671047794976346, guid: 58c997adcad2de54492e931bfa9c2d75, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 0} - - target: {fileID: 695671047801497548, guid: 58c997adcad2de54492e931bfa9c2d75, - type: 3} - propertyPath: m_Name - value: ClearcoatFactor - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 58c997adcad2de54492e931bfa9c2d75, - type: 3} - propertyPath: m_RootOrder - value: 37 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 58c997adcad2de54492e931bfa9c2d75, - type: 3} - propertyPath: m_LocalPosition.x - value: 39 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 58c997adcad2de54492e931bfa9c2d75, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 58c997adcad2de54492e931bfa9c2d75, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 58c997adcad2de54492e931bfa9c2d75, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 58c997adcad2de54492e931bfa9c2d75, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 58c997adcad2de54492e931bfa9c2d75, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 58c997adcad2de54492e931bfa9c2d75, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 58c997adcad2de54492e931bfa9c2d75, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 58c997adcad2de54492e931bfa9c2d75, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 58c997adcad2de54492e931bfa9c2d75, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1143177165508683232, guid: 58c997adcad2de54492e931bfa9c2d75, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 58c997adcad2de54492e931bfa9c2d75, type: 3} ---- !u!1001 &1445058239599054070 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 1445058241322456620, guid: a89df64aba53046ba99da011a2e3ac97, - type: 3} - propertyPath: m_Name - value: Cameras - objectReference: {fileID: 0} - - target: {fileID: 1445058241322456621, guid: a89df64aba53046ba99da011a2e3ac97, - type: 3} - propertyPath: m_RootOrder - value: 39 - objectReference: {fileID: 0} - - target: {fileID: 1445058241322456621, guid: a89df64aba53046ba99da011a2e3ac97, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1445058241322456621, guid: a89df64aba53046ba99da011a2e3ac97, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1445058241322456621, guid: a89df64aba53046ba99da011a2e3ac97, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: a89df64aba53046ba99da011a2e3ac97, type: 3} ---- !u!1001 &2899843863210789394 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 2899843863761531798, guid: 0c37636b256674062bf315fa8d4c732a, - type: 3} - propertyPath: m_Name - value: LightAreaDisc - objectReference: {fileID: 0} - - target: {fileID: 2899843863761531799, guid: 0c37636b256674062bf315fa8d4c732a, - type: 3} - propertyPath: m_RootOrder - value: 44 - objectReference: {fileID: 0} - - target: {fileID: 2899843863761531799, guid: 0c37636b256674062bf315fa8d4c732a, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2899843863761531799, guid: 0c37636b256674062bf315fa8d4c732a, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2899843863761531799, guid: 0c37636b256674062bf315fa8d4c732a, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 0c37636b256674062bf315fa8d4c732a, type: 3} ---- !u!1001 &3115860733025209477 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 3115860733498111582, guid: 4782c22115e84481282f80aaaeb4de69, - type: 3} - propertyPath: m_RootOrder - value: 45 - objectReference: {fileID: 0} - - target: {fileID: 3115860733498111582, guid: 4782c22115e84481282f80aaaeb4de69, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3115860733498111582, guid: 4782c22115e84481282f80aaaeb4de69, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3115860733498111582, guid: 4782c22115e84481282f80aaaeb4de69, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3115860733498111582, guid: 4782c22115e84481282f80aaaeb4de69, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 3115860733498111582, guid: 4782c22115e84481282f80aaaeb4de69, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3115860733498111582, guid: 4782c22115e84481282f80aaaeb4de69, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3115860733498111582, guid: 4782c22115e84481282f80aaaeb4de69, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3115860733498111582, guid: 4782c22115e84481282f80aaaeb4de69, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3115860733498111582, guid: 4782c22115e84481282f80aaaeb4de69, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3115860733498111582, guid: 4782c22115e84481282f80aaaeb4de69, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3115860733498111583, guid: 4782c22115e84481282f80aaaeb4de69, - type: 3} - propertyPath: m_Name - value: HierarchyObjectsInactive - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 4782c22115e84481282f80aaaeb4de69, type: 3} ---- !u!1001 &3376375832852237401 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 2249844528828181838, guid: 5b4dad3ea67ce4da193d14d96b3bde7b, - type: 3} - propertyPath: m_Name - value: HierarchyComponentsDisabled - objectReference: {fileID: 0} - - target: {fileID: 2249844528828181839, guid: 5b4dad3ea67ce4da193d14d96b3bde7b, - type: 3} - propertyPath: m_RootOrder - value: 46 - objectReference: {fileID: 0} - - target: {fileID: 2249844528828181839, guid: 5b4dad3ea67ce4da193d14d96b3bde7b, - type: 3} - propertyPath: m_LocalPosition.x - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 2249844528828181839, guid: 5b4dad3ea67ce4da193d14d96b3bde7b, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2249844528828181839, guid: 5b4dad3ea67ce4da193d14d96b3bde7b, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2249844528828181839, guid: 5b4dad3ea67ce4da193d14d96b3bde7b, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 2249844528828181839, guid: 5b4dad3ea67ce4da193d14d96b3bde7b, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2249844528828181839, guid: 5b4dad3ea67ce4da193d14d96b3bde7b, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2249844528828181839, guid: 5b4dad3ea67ce4da193d14d96b3bde7b, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2249844528828181839, guid: 5b4dad3ea67ce4da193d14d96b3bde7b, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2249844528828181839, guid: 5b4dad3ea67ce4da193d14d96b3bde7b, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2249844528828181839, guid: 5b4dad3ea67ce4da193d14d96b3bde7b, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 5b4dad3ea67ce4da193d14d96b3bde7b, type: 3} ---- !u!1001 &4085411946834437154 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 8941176062987350910, guid: 250fd5b1250834aa0bf5d346075ff01f, - type: 3} - propertyPath: m_RootOrder - value: 41 - objectReference: {fileID: 0} - - target: {fileID: 8941176062987350910, guid: 250fd5b1250834aa0bf5d346075ff01f, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8941176062987350910, guid: 250fd5b1250834aa0bf5d346075ff01f, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8941176062987350910, guid: 250fd5b1250834aa0bf5d346075ff01f, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8969483273716569924, guid: 250fd5b1250834aa0bf5d346075ff01f, - type: 3} - propertyPath: m_Name - value: LightsSpot - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 250fd5b1250834aa0bf5d346075ff01f, type: 3} ---- !u!1001 &4152874829528536175 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 640007408641535397, guid: 5be1854a1ab874a308e65b5db418388a, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: fd533e111abc0470ca1dd461bdc23903, type: 2} - - target: {fileID: 2774690736646702308, guid: 5be1854a1ab874a308e65b5db418388a, - type: 3} - propertyPath: m_Name - value: BoxVertexColors - objectReference: {fileID: 0} - - target: {fileID: 8488108769735457949, guid: 5be1854a1ab874a308e65b5db418388a, - type: 3} - propertyPath: m_RootOrder - value: 35 - objectReference: {fileID: 0} - - target: {fileID: 8488108769735457949, guid: 5be1854a1ab874a308e65b5db418388a, - type: 3} - propertyPath: m_LocalPosition.x - value: 35 - objectReference: {fileID: 0} - - target: {fileID: 8488108769735457949, guid: 5be1854a1ab874a308e65b5db418388a, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8488108769735457949, guid: 5be1854a1ab874a308e65b5db418388a, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8488108769735457949, guid: 5be1854a1ab874a308e65b5db418388a, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8488108769735457949, guid: 5be1854a1ab874a308e65b5db418388a, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8488108769735457949, guid: 5be1854a1ab874a308e65b5db418388a, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8488108769735457949, guid: 5be1854a1ab874a308e65b5db418388a, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8488108769735457949, guid: 5be1854a1ab874a308e65b5db418388a, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8488108769735457949, guid: 5be1854a1ab874a308e65b5db418388a, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8488108769735457949, guid: 5be1854a1ab874a308e65b5db418388a, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 5be1854a1ab874a308e65b5db418388a, type: 3} ---- !u!1001 &5322191972499138006 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 1710052028259021068, guid: 7e0702104e34e4a68aeb6753eaa14b03, - type: 3} - propertyPath: m_Name - value: LightsPoint - objectReference: {fileID: 0} - - target: {fileID: 1717035293030847798, guid: 7e0702104e34e4a68aeb6753eaa14b03, - type: 3} - propertyPath: m_RootOrder - value: 40 - objectReference: {fileID: 0} - - target: {fileID: 1717035293030847798, guid: 7e0702104e34e4a68aeb6753eaa14b03, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1717035293030847798, guid: 7e0702104e34e4a68aeb6753eaa14b03, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1717035293030847798, guid: 7e0702104e34e4a68aeb6753eaa14b03, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 7e0702104e34e4a68aeb6753eaa14b03, type: 3} ---- !u!1001 &5618614727782783711 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 4291603288428147330, guid: e9946dab301cf489d9ae439b5cede120, - type: 3} - propertyPath: m_Name - value: LightAreaRectangle - objectReference: {fileID: 0} - - target: {fileID: 8517333664161760638, guid: e9946dab301cf489d9ae439b5cede120, - type: 3} - propertyPath: m_RootOrder - value: 43 - objectReference: {fileID: 0} - - target: {fileID: 8517333664161760638, guid: e9946dab301cf489d9ae439b5cede120, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8517333664161760638, guid: e9946dab301cf489d9ae439b5cede120, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8517333664161760638, guid: e9946dab301cf489d9ae439b5cede120, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: e9946dab301cf489d9ae439b5cede120, type: 3} ---- !u!1001 &5918396695648626396 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 7319686964981122328, guid: 7792de72d326d48acb68c6159a3a9777, - type: 3} - propertyPath: m_RootOrder - value: 36 - objectReference: {fileID: 0} - - target: {fileID: 7319686964981122328, guid: 7792de72d326d48acb68c6159a3a9777, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7319686964981122328, guid: 7792de72d326d48acb68c6159a3a9777, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7319686964981122328, guid: 7792de72d326d48acb68c6159a3a9777, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8237554354107154443, guid: 7792de72d326d48acb68c6159a3a9777, - type: 3} - propertyPath: m_Name - value: PointCloud - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 7792de72d326d48acb68c6159a3a9777, type: 3} ---- !u!1001 &7136773955668166713 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 1025221992404563395, guid: bceb870a5146b47b8a9aef4ea183308b, - type: 3} - propertyPath: m_RootOrder - value: 42 - objectReference: {fileID: 0} - - target: {fileID: 1025221992404563395, guid: bceb870a5146b47b8a9aef4ea183308b, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1025221992404563395, guid: bceb870a5146b47b8a9aef4ea183308b, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1025221992404563395, guid: bceb870a5146b47b8a9aef4ea183308b, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4865895703870685759, guid: bceb870a5146b47b8a9aef4ea183308b, - type: 3} - propertyPath: m_Name - value: LightDirectional - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: bceb870a5146b47b8a9aef4ea183308b, type: 3} ---- !u!1001 &7562238441629031332 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 7220147725944403170, guid: 935afbc92ed3646488ea2105a5864d6c, - type: 3} - propertyPath: m_Name - value: Submesh - objectReference: {fileID: 0} - - target: {fileID: 8032397220058951256, guid: 935afbc92ed3646488ea2105a5864d6c, - type: 3} - propertyPath: m_RootOrder - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8032397220058951256, guid: 935afbc92ed3646488ea2105a5864d6c, - type: 3} - propertyPath: m_LocalPosition.x - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8032397220058951256, guid: 935afbc92ed3646488ea2105a5864d6c, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8032397220058951256, guid: 935afbc92ed3646488ea2105a5864d6c, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8032397220058951256, guid: 935afbc92ed3646488ea2105a5864d6c, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8032397220058951256, guid: 935afbc92ed3646488ea2105a5864d6c, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8032397220058951256, guid: 935afbc92ed3646488ea2105a5864d6c, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8032397220058951256, guid: 935afbc92ed3646488ea2105a5864d6c, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8032397220058951256, guid: 935afbc92ed3646488ea2105a5864d6c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8032397220058951256, guid: 935afbc92ed3646488ea2105a5864d6c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8032397220058951256, guid: 935afbc92ed3646488ea2105a5864d6c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 935afbc92ed3646488ea2105a5864d6c, type: 3} ---- !u!1001 &8929015145332366755 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 5334651974385157424, guid: ffa2bc2a634cf422599acb37b2cab989, - type: 3} - propertyPath: m_RootOrder - value: 47 - objectReference: {fileID: 0} - - target: {fileID: 5334651974385157424, guid: ffa2bc2a634cf422599acb37b2cab989, - type: 3} - propertyPath: m_LocalPosition.x - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 5334651974385157424, guid: ffa2bc2a634cf422599acb37b2cab989, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5334651974385157424, guid: ffa2bc2a634cf422599acb37b2cab989, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5334651974385157424, guid: ffa2bc2a634cf422599acb37b2cab989, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 5334651974385157424, guid: ffa2bc2a634cf422599acb37b2cab989, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5334651974385157424, guid: ffa2bc2a634cf422599acb37b2cab989, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5334651974385157424, guid: ffa2bc2a634cf422599acb37b2cab989, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5334651974385157424, guid: ffa2bc2a634cf422599acb37b2cab989, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5334651974385157424, guid: ffa2bc2a634cf422599acb37b2cab989, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5334651974385157424, guid: ffa2bc2a634cf422599acb37b2cab989, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5334651974385157425, guid: ffa2bc2a634cf422599acb37b2cab989, - type: 3} - propertyPath: m_Name - value: HierarchyEditorOnlyTag - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: ffa2bc2a634cf422599acb37b2cab989, type: 3} diff --git a/Tests/Runtime/Export/Scenes/ExportSceneBuiltIn.unity.meta b/Tests/Runtime/Export/Scenes/ExportSceneBuiltIn.unity.meta deleted file mode 100644 index e727fe95d..000000000 --- a/Tests/Runtime/Export/Scenes/ExportSceneBuiltIn.unity.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 73f3aef2a2f804af18c408d874958bd1 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Scenes/ExportSceneHighDefinition-ObjectList.txt b/Tests/Runtime/Export/Scenes/ExportSceneHighDefinition-ObjectList.txt deleted file mode 100644 index 2ae38deb8..000000000 --- a/Tests/Runtime/Export/Scenes/ExportSceneHighDefinition-ObjectList.txt +++ /dev/null @@ -1,48 +0,0 @@ -Simple -Submesh -NoMaterial -NoMaterial2 -MeshMaterialReuse -MeshReuse -Bounds -Metallic -Dielectric -BaseColorTexture -BaseColorTextureCutout -BaseColorTextureFade -BaseColorTextureTransparent -BaseColorTextureTransform -NormalTexture -Unlit -UnlitTextured -UnlitTexturedTransform -DoubleSided -Quads -OcclusionTexture -OcclusionTextureStrength -EmissiveFactor -EmissiveTexture -EmissiveTextureFactor -SmoothnessTexture -MetallicTexture -MetallicSmoothnessTexture -MetallicSmoothnessOcclusionTexture -BaseColorSmoothnessTexture -BaseColorSmoothnessMetalTexture -BaseColorSmoothnessMetalOcclusionTexture -IdenticalTextureName -WrapModeU -WrapModeV -BoxVertexColors -PointCloud -ClearcoatFactor -ClearcoatTexture -Cameras -LightsPoint -LightsSpot -LightDirectional -LightAreaRectangle -LightAreaDisc -HierarchyObjectsInactive -HierarchyComponentsDisabled -HierarchyEditorOnlyTag diff --git a/Tests/Runtime/Export/Scenes/ExportSceneHighDefinition-ObjectList.txt.meta b/Tests/Runtime/Export/Scenes/ExportSceneHighDefinition-ObjectList.txt.meta deleted file mode 100644 index 1ae1572f4..000000000 --- a/Tests/Runtime/Export/Scenes/ExportSceneHighDefinition-ObjectList.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 8e8bf1faf834845f7872de1554001043 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Scenes/ExportSceneHighDefinition.unity b/Tests/Runtime/Export/Scenes/ExportSceneHighDefinition.unity deleted file mode 100644 index 45d748f84..000000000 --- a/Tests/Runtime/Export/Scenes/ExportSceneHighDefinition.unity +++ /dev/null @@ -1,4473 +0,0 @@ -%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: 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: 262.3369, g: 325.0498, b: 430.21924, 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!1001 &63740129 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 3115860733498111582, guid: 4782c22115e84481282f80aaaeb4de69, type: 3} - propertyPath: m_RootOrder - value: 45 - objectReference: {fileID: 0} - - target: {fileID: 3115860733498111582, guid: 4782c22115e84481282f80aaaeb4de69, type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3115860733498111582, guid: 4782c22115e84481282f80aaaeb4de69, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3115860733498111582, guid: 4782c22115e84481282f80aaaeb4de69, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3115860733498111582, guid: 4782c22115e84481282f80aaaeb4de69, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 3115860733498111582, guid: 4782c22115e84481282f80aaaeb4de69, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3115860733498111582, guid: 4782c22115e84481282f80aaaeb4de69, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3115860733498111582, guid: 4782c22115e84481282f80aaaeb4de69, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3115860733498111582, guid: 4782c22115e84481282f80aaaeb4de69, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3115860733498111582, guid: 4782c22115e84481282f80aaaeb4de69, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3115860733498111582, guid: 4782c22115e84481282f80aaaeb4de69, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3115860733498111583, guid: 4782c22115e84481282f80aaaeb4de69, type: 3} - propertyPath: m_Name - value: HierarchyObjectsInactive - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 4782c22115e84481282f80aaaeb4de69, type: 3} ---- !u!1001 &140093293 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 695671047794976346, guid: 58c997adcad2de54492e931bfa9c2d75, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 155aa643dd7b31e40832390b31682cba, type: 2} - - target: {fileID: 695671047801497548, guid: 58c997adcad2de54492e931bfa9c2d75, type: 3} - propertyPath: m_Name - value: ClearcoatFactor - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 58c997adcad2de54492e931bfa9c2d75, type: 3} - propertyPath: m_RootOrder - value: 37 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 58c997adcad2de54492e931bfa9c2d75, type: 3} - propertyPath: m_LocalPosition.x - value: 39 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 58c997adcad2de54492e931bfa9c2d75, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 58c997adcad2de54492e931bfa9c2d75, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 58c997adcad2de54492e931bfa9c2d75, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 58c997adcad2de54492e931bfa9c2d75, type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 58c997adcad2de54492e931bfa9c2d75, type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 58c997adcad2de54492e931bfa9c2d75, type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 58c997adcad2de54492e931bfa9c2d75, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 58c997adcad2de54492e931bfa9c2d75, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 58c997adcad2de54492e931bfa9c2d75, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1143177165508683232, guid: 58c997adcad2de54492e931bfa9c2d75, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 155aa643dd7b31e40832390b31682cba, type: 2} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 58c997adcad2de54492e931bfa9c2d75, type: 3} ---- !u!1001 &424896358 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 7319686964981122328, guid: 7792de72d326d48acb68c6159a3a9777, type: 3} - propertyPath: m_RootOrder - value: 36 - objectReference: {fileID: 0} - - target: {fileID: 7319686964981122328, guid: 7792de72d326d48acb68c6159a3a9777, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7319686964981122328, guid: 7792de72d326d48acb68c6159a3a9777, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7319686964981122328, guid: 7792de72d326d48acb68c6159a3a9777, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8237554354107154443, guid: 7792de72d326d48acb68c6159a3a9777, type: 3} - propertyPath: m_Name - value: PointCloud - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 7792de72d326d48acb68c6159a3a9777, type: 3} ---- !u!1001 &528529656 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 1025221992404563395, guid: bceb870a5146b47b8a9aef4ea183308b, type: 3} - propertyPath: m_RootOrder - value: 42 - objectReference: {fileID: 0} - - target: {fileID: 1025221992404563395, guid: bceb870a5146b47b8a9aef4ea183308b, type: 3} - propertyPath: m_LocalPosition.x - value: 25 - objectReference: {fileID: 0} - - target: {fileID: 1025221992404563395, guid: bceb870a5146b47b8a9aef4ea183308b, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1025221992404563395, guid: bceb870a5146b47b8a9aef4ea183308b, type: 3} - propertyPath: m_LocalPosition.z - value: 10 - objectReference: {fileID: 0} - - target: {fileID: 1025221992404563395, guid: bceb870a5146b47b8a9aef4ea183308b, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1025221992404563395, guid: bceb870a5146b47b8a9aef4ea183308b, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1025221992404563395, guid: bceb870a5146b47b8a9aef4ea183308b, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1025221992404563395, guid: bceb870a5146b47b8a9aef4ea183308b, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1025221992404563395, guid: bceb870a5146b47b8a9aef4ea183308b, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1025221992404563395, guid: bceb870a5146b47b8a9aef4ea183308b, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1025221992404563395, guid: bceb870a5146b47b8a9aef4ea183308b, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2128916189315744975, guid: bceb870a5146b47b8a9aef4ea183308b, type: 3} - propertyPath: m_Intensity - value: 0.1 - objectReference: {fileID: 0} - - target: {fileID: 2128916189315744975, guid: bceb870a5146b47b8a9aef4ea183308b, type: 3} - propertyPath: m_AreaSize.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 2128916189315744975, guid: bceb870a5146b47b8a9aef4ea183308b, type: 3} - propertyPath: m_AreaSize.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 2128916189315744975, guid: bceb870a5146b47b8a9aef4ea183308b, type: 3} - propertyPath: m_LightShadowCasterMode - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 4409433564132416314, guid: bceb870a5146b47b8a9aef4ea183308b, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 276068e48ae0b45c3897d1104a8dc424, type: 2} - - target: {fileID: 4865895703870685759, guid: bceb870a5146b47b8a9aef4ea183308b, type: 3} - propertyPath: m_Name - value: LightDirectional - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: bceb870a5146b47b8a9aef4ea183308b, type: 3} ---- !u!1 &528529657 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 2128916189315744973, guid: bceb870a5146b47b8a9aef4ea183308b, type: 3} - m_PrefabInstance: {fileID: 528529656} - m_PrefabAsset: {fileID: 0} ---- !u!114 &528529658 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 528529657} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 7a68c43fe1f2a47cfa234b5eeaa98012, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Version: 11 - m_ObsoleteShadowResolutionTier: 1 - m_ObsoleteUseShadowQualitySettings: 0 - m_ObsoleteCustomShadowResolution: 512 - m_ObsoleteContactShadows: 0 - m_PointlightHDType: 0 - m_SpotLightShape: 0 - m_AreaLightShape: 0 - m_Intensity: 0.1 - m_EnableSpotReflector: 0 - m_LuxAtDistance: 1 - m_InnerSpotPercent: 0 - m_SpotIESCutoffPercent: 100 - m_LightDimmer: 1 - m_VolumetricDimmer: 1 - m_LightUnit: 2 - m_FadeDistance: 10000 - m_VolumetricFadeDistance: 10000 - m_AffectDiffuse: 1 - m_AffectSpecular: 1 - m_NonLightmappedOnly: 0 - m_ShapeWidth: 0.5 - m_ShapeHeight: 0.5 - m_AspectRatio: 1 - m_ShapeRadius: 0.025 - m_SoftnessScale: 1 - m_UseCustomSpotLightShadowCone: 0 - m_CustomSpotLightShadowCone: 30 - m_MaxSmoothness: 0.99 - m_ApplyRangeAttenuation: 1 - m_DisplayAreaLightEmissiveMesh: 0 - m_AreaLightCookie: {fileID: 0} - m_IESPoint: {fileID: 0} - m_IESSpot: {fileID: 0} - m_IncludeForRayTracing: 1 - m_AreaLightShadowCone: 120 - m_UseScreenSpaceShadows: 0 - m_InteractsWithSky: 1 - m_AngularDiameter: 0.5 - m_FlareSize: 2 - m_FlareTint: {r: 1, g: 1, b: 1, a: 1} - m_FlareFalloff: 4 - m_SurfaceTexture: {fileID: 0} - m_SurfaceTint: {r: 1, g: 1, b: 1, a: 1} - m_Distance: 1.5e+11 - m_UseRayTracedShadows: 0 - m_NumRayTracingSamples: 4 - m_FilterTracedShadow: 1 - m_FilterSizeTraced: 16 - m_SunLightConeAngle: 0.5 - m_LightShadowRadius: 0.5 - m_SemiTransparentShadow: 0 - m_ColorShadow: 1 - m_DistanceBasedFiltering: 0 - m_EvsmExponent: 15 - m_EvsmLightLeakBias: 0 - m_EvsmVarianceBias: 0.00001 - m_EvsmBlurPasses: 0 - m_LightlayersMask: 1 - m_LinkShadowLayers: 1 - m_ShadowNearPlane: 0.1 - m_BlockerSampleCount: 24 - m_FilterSampleCount: 16 - m_MinFilterSize: 0.1 - m_KernelSize: 5 - m_LightAngle: 1 - m_MaxDepthBias: 0.001 - m_ShadowResolution: - m_Override: 512 - m_UseOverride: 1 - m_Level: 0 - m_ShadowDimmer: 1 - m_VolumetricShadowDimmer: 1 - m_ShadowFadeDistance: 10000 - m_UseContactShadow: - m_Override: 0 - m_UseOverride: 1 - m_Level: 0 - m_RayTracedContactShadow: 0 - m_ShadowTint: {r: 0, g: 0, b: 0, a: 1} - m_PenumbraTint: 0 - m_NormalBias: 0.75 - m_SlopeBias: 0.5 - m_ShadowUpdateMode: 0 - m_AlwaysDrawDynamicShadows: 0 - m_UpdateShadowOnLightMovement: 0 - m_CachedShadowTranslationThreshold: 0.01 - m_CachedShadowAngularThreshold: 0.5 - m_BarnDoorAngle: 90 - m_BarnDoorLength: 0.05 - m_preserveCachedShadow: 0 - m_ShadowCascadeRatios: - - 0.05 - - 0.2 - - 0.3 - m_ShadowCascadeBorders: - - 0.2 - - 0.2 - - 0.2 - - 0.2 - m_ShadowAlgorithm: 0 - m_ShadowVariant: 0 - m_ShadowPrecision: 0 - useOldInspector: 0 - useVolumetric: 1 - featuresFoldout: 1 - showAdditionalSettings: 0 - m_AreaLightEmissiveMeshShadowCastingMode: 0 - m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 - m_AreaLightEmissiveMeshLayer: -1 ---- !u!1001 &640859644 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 2899843863253005166, guid: 0c37636b256674062bf315fa8d4c732a, type: 3} - propertyPath: m_Intensity - value: 81.056946 - objectReference: {fileID: 0} - - target: {fileID: 2899843863253005166, guid: 0c37636b256674062bf315fa8d4c732a, type: 3} - propertyPath: m_LightShadowCasterMode - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 2899843863253005166, guid: 0c37636b256674062bf315fa8d4c732a, type: 3} - propertyPath: m_BoundingSphereOverride.w - value: 100.5 - objectReference: {fileID: 0} - - target: {fileID: 2899843863253005166, guid: 0c37636b256674062bf315fa8d4c732a, type: 3} - propertyPath: m_UseBoundingSphereOverride - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 2899843863382378989, guid: 0c37636b256674062bf315fa8d4c732a, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 276068e48ae0b45c3897d1104a8dc424, type: 2} - - target: {fileID: 2899843863761531798, guid: 0c37636b256674062bf315fa8d4c732a, type: 3} - propertyPath: m_Name - value: LightAreaDisc - objectReference: {fileID: 0} - - target: {fileID: 2899843863761531799, guid: 0c37636b256674062bf315fa8d4c732a, type: 3} - propertyPath: m_RootOrder - value: 44 - objectReference: {fileID: 0} - - target: {fileID: 2899843863761531799, guid: 0c37636b256674062bf315fa8d4c732a, type: 3} - propertyPath: m_LocalPosition.x - value: 45 - objectReference: {fileID: 0} - - target: {fileID: 2899843863761531799, guid: 0c37636b256674062bf315fa8d4c732a, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2899843863761531799, guid: 0c37636b256674062bf315fa8d4c732a, type: 3} - propertyPath: m_LocalPosition.z - value: 10 - objectReference: {fileID: 0} - - target: {fileID: 2899843863761531799, guid: 0c37636b256674062bf315fa8d4c732a, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 2899843863761531799, guid: 0c37636b256674062bf315fa8d4c732a, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2899843863761531799, guid: 0c37636b256674062bf315fa8d4c732a, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2899843863761531799, guid: 0c37636b256674062bf315fa8d4c732a, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2899843863761531799, guid: 0c37636b256674062bf315fa8d4c732a, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2899843863761531799, guid: 0c37636b256674062bf315fa8d4c732a, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2899843863761531799, guid: 0c37636b256674062bf315fa8d4c732a, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 0c37636b256674062bf315fa8d4c732a, type: 3} ---- !u!1 &640859645 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 2899843863253005160, guid: 0c37636b256674062bf315fa8d4c732a, type: 3} - m_PrefabInstance: {fileID: 640859644} - m_PrefabAsset: {fileID: 0} ---- !u!114 &640859646 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 640859645} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 7a68c43fe1f2a47cfa234b5eeaa98012, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Version: 11 - m_ObsoleteShadowResolutionTier: 1 - m_ObsoleteUseShadowQualitySettings: 0 - m_ObsoleteCustomShadowResolution: 512 - m_ObsoleteContactShadows: 0 - m_PointlightHDType: 1 - m_SpotLightShape: 0 - m_AreaLightShape: 2 - m_Intensity: 200 - m_EnableSpotReflector: 0 - m_LuxAtDistance: 1 - m_InnerSpotPercent: 0 - m_SpotIESCutoffPercent: 100 - m_LightDimmer: 1 - m_VolumetricDimmer: 1 - m_LightUnit: 0 - m_FadeDistance: 10000 - m_VolumetricFadeDistance: 10000 - m_AffectDiffuse: 1 - m_AffectSpecular: 1 - m_NonLightmappedOnly: 0 - m_ShapeWidth: 0.5 - m_ShapeHeight: 0.5 - m_AspectRatio: 1 - m_ShapeRadius: 0.025 - m_SoftnessScale: 1 - m_UseCustomSpotLightShadowCone: 0 - m_CustomSpotLightShadowCone: 30 - m_MaxSmoothness: 0.99 - m_ApplyRangeAttenuation: 1 - m_DisplayAreaLightEmissiveMesh: 0 - m_AreaLightCookie: {fileID: 0} - m_IESPoint: {fileID: 0} - m_IESSpot: {fileID: 0} - m_IncludeForRayTracing: 1 - m_AreaLightShadowCone: 120 - m_UseScreenSpaceShadows: 0 - m_InteractsWithSky: 1 - m_AngularDiameter: 0.5 - m_FlareSize: 2 - m_FlareTint: {r: 1, g: 1, b: 1, a: 1} - m_FlareFalloff: 4 - m_SurfaceTexture: {fileID: 0} - m_SurfaceTint: {r: 1, g: 1, b: 1, a: 1} - m_Distance: 1.5e+11 - m_UseRayTracedShadows: 0 - m_NumRayTracingSamples: 4 - m_FilterTracedShadow: 1 - m_FilterSizeTraced: 16 - m_SunLightConeAngle: 0.5 - m_LightShadowRadius: 0.5 - m_SemiTransparentShadow: 0 - m_ColorShadow: 1 - m_DistanceBasedFiltering: 0 - m_EvsmExponent: 15 - m_EvsmLightLeakBias: 0 - m_EvsmVarianceBias: 0.00001 - m_EvsmBlurPasses: 0 - m_LightlayersMask: 1 - m_LinkShadowLayers: 1 - m_ShadowNearPlane: 0.1 - m_BlockerSampleCount: 24 - m_FilterSampleCount: 16 - m_MinFilterSize: 0.1 - m_KernelSize: 5 - m_LightAngle: 1 - m_MaxDepthBias: 0.001 - m_ShadowResolution: - m_Override: 512 - m_UseOverride: 1 - m_Level: 0 - m_ShadowDimmer: 1 - m_VolumetricShadowDimmer: 1 - m_ShadowFadeDistance: 10000 - m_UseContactShadow: - m_Override: 0 - m_UseOverride: 1 - m_Level: 0 - m_RayTracedContactShadow: 0 - m_ShadowTint: {r: 0, g: 0, b: 0, a: 1} - m_PenumbraTint: 0 - m_NormalBias: 0.75 - m_SlopeBias: 0.5 - m_ShadowUpdateMode: 0 - m_AlwaysDrawDynamicShadows: 0 - m_UpdateShadowOnLightMovement: 0 - m_CachedShadowTranslationThreshold: 0.01 - m_CachedShadowAngularThreshold: 0.5 - m_BarnDoorAngle: 90 - m_BarnDoorLength: 0.05 - m_preserveCachedShadow: 0 - m_ShadowCascadeRatios: - - 0.05 - - 0.2 - - 0.3 - m_ShadowCascadeBorders: - - 0.2 - - 0.2 - - 0.2 - - 0.2 - m_ShadowAlgorithm: 0 - m_ShadowVariant: 0 - m_ShadowPrecision: 0 - useOldInspector: 0 - useVolumetric: 1 - featuresFoldout: 1 - showAdditionalSettings: 0 - m_AreaLightEmissiveMeshShadowCastingMode: 0 - m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 - m_AreaLightEmissiveMeshLayer: -1 ---- !u!1001 &663551315 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 1169093083258378431, guid: ef51f9d4ffd19424bb63ae05f3792943, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 3ac92d06993cc954697ad125a4360d81, type: 2} - - target: {fileID: 1604292218823750537, guid: ef51f9d4ffd19424bb63ae05f3792943, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 3ac92d06993cc954697ad125a4360d81, type: 2} - - target: {fileID: 1604292218941850420, guid: ef51f9d4ffd19424bb63ae05f3792943, type: 3} - propertyPath: m_Name - value: ClearcoatTexture - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: ef51f9d4ffd19424bb63ae05f3792943, type: 3} - propertyPath: m_RootOrder - value: 38 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: ef51f9d4ffd19424bb63ae05f3792943, type: 3} - propertyPath: m_LocalPosition.x - value: 40 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: ef51f9d4ffd19424bb63ae05f3792943, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: ef51f9d4ffd19424bb63ae05f3792943, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: ef51f9d4ffd19424bb63ae05f3792943, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: ef51f9d4ffd19424bb63ae05f3792943, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: ef51f9d4ffd19424bb63ae05f3792943, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: ef51f9d4ffd19424bb63ae05f3792943, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: ef51f9d4ffd19424bb63ae05f3792943, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: ef51f9d4ffd19424bb63ae05f3792943, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: ef51f9d4ffd19424bb63ae05f3792943, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: ef51f9d4ffd19424bb63ae05f3792943, type: 3} ---- !u!1001 &722107384 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 4291603288428147330, guid: e9946dab301cf489d9ae439b5cede120, type: 3} - propertyPath: m_Name - value: LightAreaRectangle - objectReference: {fileID: 0} - - target: {fileID: 4987877710243801991, guid: e9946dab301cf489d9ae439b5cede120, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 276068e48ae0b45c3897d1104a8dc424, type: 2} - - target: {fileID: 7314577871896966258, guid: e9946dab301cf489d9ae439b5cede120, type: 3} - propertyPath: m_Type - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 7314577871896966258, guid: e9946dab301cf489d9ae439b5cede120, type: 3} - propertyPath: m_Intensity - value: 254.6479 - objectReference: {fileID: 0} - - target: {fileID: 7314577871896966258, guid: e9946dab301cf489d9ae439b5cede120, type: 3} - propertyPath: m_Lightmapping - value: 4 - objectReference: {fileID: 0} - - target: {fileID: 7314577871896966258, guid: e9946dab301cf489d9ae439b5cede120, type: 3} - propertyPath: m_LightShadowCasterMode - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 7314577871896966258, guid: e9946dab301cf489d9ae439b5cede120, type: 3} - propertyPath: m_BoundingSphereOverride.w - value: 100 - objectReference: {fileID: 0} - - target: {fileID: 7314577871896966258, guid: e9946dab301cf489d9ae439b5cede120, type: 3} - propertyPath: m_UseBoundingSphereOverride - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8517333664161760638, guid: e9946dab301cf489d9ae439b5cede120, type: 3} - propertyPath: m_RootOrder - value: 43 - objectReference: {fileID: 0} - - target: {fileID: 8517333664161760638, guid: e9946dab301cf489d9ae439b5cede120, type: 3} - propertyPath: m_LocalPosition.x - value: 35 - objectReference: {fileID: 0} - - target: {fileID: 8517333664161760638, guid: e9946dab301cf489d9ae439b5cede120, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8517333664161760638, guid: e9946dab301cf489d9ae439b5cede120, type: 3} - propertyPath: m_LocalPosition.z - value: 10 - objectReference: {fileID: 0} - - target: {fileID: 8517333664161760638, guid: e9946dab301cf489d9ae439b5cede120, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8517333664161760638, guid: e9946dab301cf489d9ae439b5cede120, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8517333664161760638, guid: e9946dab301cf489d9ae439b5cede120, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8517333664161760638, guid: e9946dab301cf489d9ae439b5cede120, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8517333664161760638, guid: e9946dab301cf489d9ae439b5cede120, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8517333664161760638, guid: e9946dab301cf489d9ae439b5cede120, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8517333664161760638, guid: e9946dab301cf489d9ae439b5cede120, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: e9946dab301cf489d9ae439b5cede120, type: 3} ---- !u!1 &722107385 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 7314577871896966256, guid: e9946dab301cf489d9ae439b5cede120, type: 3} - m_PrefabInstance: {fileID: 722107384} - m_PrefabAsset: {fileID: 0} ---- !u!114 &722107386 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 722107385} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 7a68c43fe1f2a47cfa234b5eeaa98012, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Version: 11 - m_ObsoleteShadowResolutionTier: 1 - m_ObsoleteUseShadowQualitySettings: 0 - m_ObsoleteCustomShadowResolution: 512 - m_ObsoleteContactShadows: 0 - m_PointlightHDType: 1 - m_SpotLightShape: 0 - m_AreaLightShape: 0 - m_Intensity: 200 - m_EnableSpotReflector: 0 - m_LuxAtDistance: 1 - m_InnerSpotPercent: 0 - m_SpotIESCutoffPercent: 100 - m_LightDimmer: 1 - m_VolumetricDimmer: 1 - m_LightUnit: 0 - m_FadeDistance: 10000 - m_VolumetricFadeDistance: 10000 - m_AffectDiffuse: 1 - m_AffectSpecular: 1 - m_NonLightmappedOnly: 0 - m_ShapeWidth: 0.5 - m_ShapeHeight: 0.5 - m_AspectRatio: 1 - m_ShapeRadius: 0.025 - m_SoftnessScale: 1 - m_UseCustomSpotLightShadowCone: 0 - m_CustomSpotLightShadowCone: 30 - m_MaxSmoothness: 0.99 - m_ApplyRangeAttenuation: 1 - m_DisplayAreaLightEmissiveMesh: 0 - m_AreaLightCookie: {fileID: 0} - m_IESPoint: {fileID: 0} - m_IESSpot: {fileID: 0} - m_IncludeForRayTracing: 1 - m_AreaLightShadowCone: 120 - m_UseScreenSpaceShadows: 0 - m_InteractsWithSky: 1 - m_AngularDiameter: 0.5 - m_FlareSize: 2 - m_FlareTint: {r: 1, g: 1, b: 1, a: 1} - m_FlareFalloff: 4 - m_SurfaceTexture: {fileID: 0} - m_SurfaceTint: {r: 1, g: 1, b: 1, a: 1} - m_Distance: 1.5e+11 - m_UseRayTracedShadows: 0 - m_NumRayTracingSamples: 4 - m_FilterTracedShadow: 1 - m_FilterSizeTraced: 16 - m_SunLightConeAngle: 0.5 - m_LightShadowRadius: 0.5 - m_SemiTransparentShadow: 0 - m_ColorShadow: 1 - m_DistanceBasedFiltering: 0 - m_EvsmExponent: 15 - m_EvsmLightLeakBias: 0 - m_EvsmVarianceBias: 0.00001 - m_EvsmBlurPasses: 0 - m_LightlayersMask: 1 - m_LinkShadowLayers: 1 - m_ShadowNearPlane: 0.1 - m_BlockerSampleCount: 24 - m_FilterSampleCount: 16 - m_MinFilterSize: 0.1 - m_KernelSize: 5 - m_LightAngle: 1 - m_MaxDepthBias: 0.001 - m_ShadowResolution: - m_Override: 512 - m_UseOverride: 1 - m_Level: 0 - m_ShadowDimmer: 1 - m_VolumetricShadowDimmer: 1 - m_ShadowFadeDistance: 10000 - m_UseContactShadow: - m_Override: 0 - m_UseOverride: 1 - m_Level: 0 - m_RayTracedContactShadow: 0 - m_ShadowTint: {r: 0, g: 0, b: 0, a: 1} - m_PenumbraTint: 0 - m_NormalBias: 0.75 - m_SlopeBias: 0.5 - m_ShadowUpdateMode: 0 - m_AlwaysDrawDynamicShadows: 0 - m_UpdateShadowOnLightMovement: 0 - m_CachedShadowTranslationThreshold: 0.01 - m_CachedShadowAngularThreshold: 0.5 - m_BarnDoorAngle: 90 - m_BarnDoorLength: 0.05 - m_preserveCachedShadow: 0 - m_ShadowCascadeRatios: - - 0.05 - - 0.2 - - 0.3 - m_ShadowCascadeBorders: - - 0.2 - - 0.2 - - 0.2 - - 0.2 - m_ShadowAlgorithm: 0 - m_ShadowVariant: 0 - m_ShadowPrecision: 0 - useOldInspector: 0 - useVolumetric: 1 - featuresFoldout: 1 - showAdditionalSettings: 0 - m_AreaLightEmissiveMeshShadowCastingMode: 0 - m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 - m_AreaLightEmissiveMeshLayer: -1 ---- !u!1001 &730248275 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 1445058241322456620, guid: a89df64aba53046ba99da011a2e3ac97, type: 3} - propertyPath: m_Name - value: Cameras - objectReference: {fileID: 0} - - target: {fileID: 1445058241322456621, guid: a89df64aba53046ba99da011a2e3ac97, type: 3} - propertyPath: m_RootOrder - value: 39 - objectReference: {fileID: 0} - - target: {fileID: 1445058241322456621, guid: a89df64aba53046ba99da011a2e3ac97, type: 3} - propertyPath: m_LocalPosition.x - value: 59 - objectReference: {fileID: 0} - - target: {fileID: 1445058241322456621, guid: a89df64aba53046ba99da011a2e3ac97, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1445058241322456621, guid: a89df64aba53046ba99da011a2e3ac97, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1445058241322456621, guid: a89df64aba53046ba99da011a2e3ac97, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1445058241322456621, guid: a89df64aba53046ba99da011a2e3ac97, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1445058241322456621, guid: a89df64aba53046ba99da011a2e3ac97, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1445058241322456621, guid: a89df64aba53046ba99da011a2e3ac97, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1445058241322456621, guid: a89df64aba53046ba99da011a2e3ac97, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1445058241322456621, guid: a89df64aba53046ba99da011a2e3ac97, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1445058241322456621, guid: a89df64aba53046ba99da011a2e3ac97, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: a89df64aba53046ba99da011a2e3ac97, type: 3} ---- !u!1001 &1011611394 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 191247057164262236, guid: 250fd5b1250834aa0bf5d346075ff01f, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 276068e48ae0b45c3897d1104a8dc424, type: 2} - - target: {fileID: 2458239337327630036, guid: 250fd5b1250834aa0bf5d346075ff01f, type: 3} - propertyPath: m_Intensity - value: 400 - objectReference: {fileID: 0} - - target: {fileID: 2458239337327630036, guid: 250fd5b1250834aa0bf5d346075ff01f, type: 3} - propertyPath: m_AreaSize.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 2458239337327630036, guid: 250fd5b1250834aa0bf5d346075ff01f, type: 3} - propertyPath: m_AreaSize.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 2458239337327630036, guid: 250fd5b1250834aa0bf5d346075ff01f, type: 3} - propertyPath: m_LightShadowCasterMode - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 2458239337371731113, guid: 250fd5b1250834aa0bf5d346075ff01f, type: 3} - propertyPath: m_Intensity - value: 400 - objectReference: {fileID: 0} - - target: {fileID: 2458239337371731113, guid: 250fd5b1250834aa0bf5d346075ff01f, type: 3} - propertyPath: m_AreaSize.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 2458239337371731113, guid: 250fd5b1250834aa0bf5d346075ff01f, type: 3} - propertyPath: m_AreaSize.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 2458239337371731113, guid: 250fd5b1250834aa0bf5d346075ff01f, type: 3} - propertyPath: m_LightShadowCasterMode - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 2458239337494438701, guid: 250fd5b1250834aa0bf5d346075ff01f, type: 3} - propertyPath: m_Intensity - value: 400 - objectReference: {fileID: 0} - - target: {fileID: 2458239337494438701, guid: 250fd5b1250834aa0bf5d346075ff01f, type: 3} - propertyPath: m_AreaSize.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 2458239337494438701, guid: 250fd5b1250834aa0bf5d346075ff01f, type: 3} - propertyPath: m_AreaSize.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 2458239337494438701, guid: 250fd5b1250834aa0bf5d346075ff01f, type: 3} - propertyPath: m_LightShadowCasterMode - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 8941176062987350910, guid: 250fd5b1250834aa0bf5d346075ff01f, type: 3} - propertyPath: m_RootOrder - value: 41 - objectReference: {fileID: 0} - - target: {fileID: 8941176062987350910, guid: 250fd5b1250834aa0bf5d346075ff01f, type: 3} - propertyPath: m_LocalPosition.x - value: 15 - objectReference: {fileID: 0} - - target: {fileID: 8941176062987350910, guid: 250fd5b1250834aa0bf5d346075ff01f, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8941176062987350910, guid: 250fd5b1250834aa0bf5d346075ff01f, type: 3} - propertyPath: m_LocalPosition.z - value: 10 - objectReference: {fileID: 0} - - target: {fileID: 8941176062987350910, guid: 250fd5b1250834aa0bf5d346075ff01f, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8941176062987350910, guid: 250fd5b1250834aa0bf5d346075ff01f, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8941176062987350910, guid: 250fd5b1250834aa0bf5d346075ff01f, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8941176062987350910, guid: 250fd5b1250834aa0bf5d346075ff01f, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8941176062987350910, guid: 250fd5b1250834aa0bf5d346075ff01f, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8941176062987350910, guid: 250fd5b1250834aa0bf5d346075ff01f, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8941176062987350910, guid: 250fd5b1250834aa0bf5d346075ff01f, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8969483273716569924, guid: 250fd5b1250834aa0bf5d346075ff01f, type: 3} - propertyPath: m_Name - value: LightsSpot - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 250fd5b1250834aa0bf5d346075ff01f, type: 3} ---- !u!1 &1011611395 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 2458239337371731115, guid: 250fd5b1250834aa0bf5d346075ff01f, type: 3} - m_PrefabInstance: {fileID: 1011611394} - m_PrefabAsset: {fileID: 0} ---- !u!1 &1011611396 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 2458239337327630038, guid: 250fd5b1250834aa0bf5d346075ff01f, type: 3} - m_PrefabInstance: {fileID: 1011611394} - m_PrefabAsset: {fileID: 0} ---- !u!1 &1011611397 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 2458239337494438703, guid: 250fd5b1250834aa0bf5d346075ff01f, type: 3} - m_PrefabInstance: {fileID: 1011611394} - m_PrefabAsset: {fileID: 0} ---- !u!114 &1011611398 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1011611395} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 7a68c43fe1f2a47cfa234b5eeaa98012, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Version: 11 - m_ObsoleteShadowResolutionTier: 1 - m_ObsoleteUseShadowQualitySettings: 0 - m_ObsoleteCustomShadowResolution: 512 - m_ObsoleteContactShadows: 0 - m_PointlightHDType: 0 - m_SpotLightShape: 0 - m_AreaLightShape: 0 - m_Intensity: 400 - m_EnableSpotReflector: 0 - m_LuxAtDistance: 1 - m_InnerSpotPercent: 0 - m_SpotIESCutoffPercent: 100 - m_LightDimmer: 1 - m_VolumetricDimmer: 1 - m_LightUnit: 1 - m_FadeDistance: 10000 - m_VolumetricFadeDistance: 10000 - m_AffectDiffuse: 1 - m_AffectSpecular: 1 - m_NonLightmappedOnly: 0 - m_ShapeWidth: 0.5 - m_ShapeHeight: 0.5 - m_AspectRatio: 1 - m_ShapeRadius: 0.025 - m_SoftnessScale: 1 - m_UseCustomSpotLightShadowCone: 0 - m_CustomSpotLightShadowCone: 30 - m_MaxSmoothness: 0.99 - m_ApplyRangeAttenuation: 1 - m_DisplayAreaLightEmissiveMesh: 0 - m_AreaLightCookie: {fileID: 0} - m_IESPoint: {fileID: 0} - m_IESSpot: {fileID: 0} - m_IncludeForRayTracing: 1 - m_AreaLightShadowCone: 120 - m_UseScreenSpaceShadows: 0 - m_InteractsWithSky: 1 - m_AngularDiameter: 0.5 - m_FlareSize: 2 - m_FlareTint: {r: 1, g: 1, b: 1, a: 1} - m_FlareFalloff: 4 - m_SurfaceTexture: {fileID: 0} - m_SurfaceTint: {r: 1, g: 1, b: 1, a: 1} - m_Distance: 1.5e+11 - m_UseRayTracedShadows: 0 - m_NumRayTracingSamples: 4 - m_FilterTracedShadow: 1 - m_FilterSizeTraced: 16 - m_SunLightConeAngle: 0.5 - m_LightShadowRadius: 0.5 - m_SemiTransparentShadow: 0 - m_ColorShadow: 1 - m_DistanceBasedFiltering: 0 - m_EvsmExponent: 15 - m_EvsmLightLeakBias: 0 - m_EvsmVarianceBias: 0.00001 - m_EvsmBlurPasses: 0 - m_LightlayersMask: 1 - m_LinkShadowLayers: 1 - m_ShadowNearPlane: 0.1 - m_BlockerSampleCount: 24 - m_FilterSampleCount: 16 - m_MinFilterSize: 0.1 - m_KernelSize: 5 - m_LightAngle: 1 - m_MaxDepthBias: 0.001 - m_ShadowResolution: - m_Override: 512 - m_UseOverride: 1 - m_Level: 0 - m_ShadowDimmer: 1 - m_VolumetricShadowDimmer: 1 - m_ShadowFadeDistance: 10000 - m_UseContactShadow: - m_Override: 0 - m_UseOverride: 1 - m_Level: 0 - m_RayTracedContactShadow: 0 - m_ShadowTint: {r: 0, g: 0, b: 0, a: 1} - m_PenumbraTint: 0 - m_NormalBias: 0.75 - m_SlopeBias: 0.5 - m_ShadowUpdateMode: 0 - m_AlwaysDrawDynamicShadows: 0 - m_UpdateShadowOnLightMovement: 0 - m_CachedShadowTranslationThreshold: 0.01 - m_CachedShadowAngularThreshold: 0.5 - m_BarnDoorAngle: 90 - m_BarnDoorLength: 0.05 - m_preserveCachedShadow: 0 - m_ShadowCascadeRatios: - - 0.05 - - 0.2 - - 0.3 - m_ShadowCascadeBorders: - - 0.2 - - 0.2 - - 0.2 - - 0.2 - m_ShadowAlgorithm: 0 - m_ShadowVariant: 0 - m_ShadowPrecision: 0 - useOldInspector: 0 - useVolumetric: 1 - featuresFoldout: 1 - showAdditionalSettings: 0 - m_AreaLightEmissiveMeshShadowCastingMode: 0 - m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 - m_AreaLightEmissiveMeshLayer: -1 ---- !u!114 &1011611399 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1011611396} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 7a68c43fe1f2a47cfa234b5eeaa98012, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Version: 11 - m_ObsoleteShadowResolutionTier: 1 - m_ObsoleteUseShadowQualitySettings: 0 - m_ObsoleteCustomShadowResolution: 512 - m_ObsoleteContactShadows: 0 - m_PointlightHDType: 0 - m_SpotLightShape: 0 - m_AreaLightShape: 0 - m_Intensity: 400 - m_EnableSpotReflector: 0 - m_LuxAtDistance: 1 - m_InnerSpotPercent: 0 - m_SpotIESCutoffPercent: 100 - m_LightDimmer: 1 - m_VolumetricDimmer: 1 - m_LightUnit: 1 - m_FadeDistance: 10000 - m_VolumetricFadeDistance: 10000 - m_AffectDiffuse: 1 - m_AffectSpecular: 1 - m_NonLightmappedOnly: 0 - m_ShapeWidth: 0.5 - m_ShapeHeight: 0.5 - m_AspectRatio: 1 - m_ShapeRadius: 0.025 - m_SoftnessScale: 1 - m_UseCustomSpotLightShadowCone: 0 - m_CustomSpotLightShadowCone: 30 - m_MaxSmoothness: 0.99 - m_ApplyRangeAttenuation: 1 - m_DisplayAreaLightEmissiveMesh: 0 - m_AreaLightCookie: {fileID: 0} - m_IESPoint: {fileID: 0} - m_IESSpot: {fileID: 0} - m_IncludeForRayTracing: 1 - m_AreaLightShadowCone: 120 - m_UseScreenSpaceShadows: 0 - m_InteractsWithSky: 1 - m_AngularDiameter: 0.5 - m_FlareSize: 2 - m_FlareTint: {r: 1, g: 1, b: 1, a: 1} - m_FlareFalloff: 4 - m_SurfaceTexture: {fileID: 0} - m_SurfaceTint: {r: 1, g: 1, b: 1, a: 1} - m_Distance: 1.5e+11 - m_UseRayTracedShadows: 0 - m_NumRayTracingSamples: 4 - m_FilterTracedShadow: 1 - m_FilterSizeTraced: 16 - m_SunLightConeAngle: 0.5 - m_LightShadowRadius: 0.5 - m_SemiTransparentShadow: 0 - m_ColorShadow: 1 - m_DistanceBasedFiltering: 0 - m_EvsmExponent: 15 - m_EvsmLightLeakBias: 0 - m_EvsmVarianceBias: 0.00001 - m_EvsmBlurPasses: 0 - m_LightlayersMask: 1 - m_LinkShadowLayers: 1 - m_ShadowNearPlane: 0.1 - m_BlockerSampleCount: 24 - m_FilterSampleCount: 16 - m_MinFilterSize: 0.1 - m_KernelSize: 5 - m_LightAngle: 1 - m_MaxDepthBias: 0.001 - m_ShadowResolution: - m_Override: 512 - m_UseOverride: 1 - m_Level: 0 - m_ShadowDimmer: 1 - m_VolumetricShadowDimmer: 1 - m_ShadowFadeDistance: 10000 - m_UseContactShadow: - m_Override: 0 - m_UseOverride: 1 - m_Level: 0 - m_RayTracedContactShadow: 0 - m_ShadowTint: {r: 0, g: 0, b: 0, a: 1} - m_PenumbraTint: 0 - m_NormalBias: 0.75 - m_SlopeBias: 0.5 - m_ShadowUpdateMode: 0 - m_AlwaysDrawDynamicShadows: 0 - m_UpdateShadowOnLightMovement: 0 - m_CachedShadowTranslationThreshold: 0.01 - m_CachedShadowAngularThreshold: 0.5 - m_BarnDoorAngle: 90 - m_BarnDoorLength: 0.05 - m_preserveCachedShadow: 0 - m_ShadowCascadeRatios: - - 0.05 - - 0.2 - - 0.3 - m_ShadowCascadeBorders: - - 0.2 - - 0.2 - - 0.2 - - 0.2 - m_ShadowAlgorithm: 0 - m_ShadowVariant: 0 - m_ShadowPrecision: 0 - useOldInspector: 0 - useVolumetric: 1 - featuresFoldout: 1 - showAdditionalSettings: 0 - m_AreaLightEmissiveMeshShadowCastingMode: 0 - m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 - m_AreaLightEmissiveMeshLayer: -1 ---- !u!114 &1011611400 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1011611397} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 7a68c43fe1f2a47cfa234b5eeaa98012, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Version: 11 - m_ObsoleteShadowResolutionTier: 1 - m_ObsoleteUseShadowQualitySettings: 0 - m_ObsoleteCustomShadowResolution: 512 - m_ObsoleteContactShadows: 0 - m_PointlightHDType: 0 - m_SpotLightShape: 0 - m_AreaLightShape: 0 - m_Intensity: 400 - m_EnableSpotReflector: 0 - m_LuxAtDistance: 1 - m_InnerSpotPercent: 0 - m_SpotIESCutoffPercent: 100 - m_LightDimmer: 1 - m_VolumetricDimmer: 1 - m_LightUnit: 1 - m_FadeDistance: 10000 - m_VolumetricFadeDistance: 10000 - m_AffectDiffuse: 1 - m_AffectSpecular: 1 - m_NonLightmappedOnly: 0 - m_ShapeWidth: 0.5 - m_ShapeHeight: 0.5 - m_AspectRatio: 1 - m_ShapeRadius: 0.025 - m_SoftnessScale: 1 - m_UseCustomSpotLightShadowCone: 0 - m_CustomSpotLightShadowCone: 30 - m_MaxSmoothness: 0.99 - m_ApplyRangeAttenuation: 1 - m_DisplayAreaLightEmissiveMesh: 0 - m_AreaLightCookie: {fileID: 0} - m_IESPoint: {fileID: 0} - m_IESSpot: {fileID: 0} - m_IncludeForRayTracing: 1 - m_AreaLightShadowCone: 120 - m_UseScreenSpaceShadows: 0 - m_InteractsWithSky: 1 - m_AngularDiameter: 0.5 - m_FlareSize: 2 - m_FlareTint: {r: 1, g: 1, b: 1, a: 1} - m_FlareFalloff: 4 - m_SurfaceTexture: {fileID: 0} - m_SurfaceTint: {r: 1, g: 1, b: 1, a: 1} - m_Distance: 1.5e+11 - m_UseRayTracedShadows: 0 - m_NumRayTracingSamples: 4 - m_FilterTracedShadow: 1 - m_FilterSizeTraced: 16 - m_SunLightConeAngle: 0.5 - m_LightShadowRadius: 0.5 - m_SemiTransparentShadow: 0 - m_ColorShadow: 1 - m_DistanceBasedFiltering: 0 - m_EvsmExponent: 15 - m_EvsmLightLeakBias: 0 - m_EvsmVarianceBias: 0.00001 - m_EvsmBlurPasses: 0 - m_LightlayersMask: 1 - m_LinkShadowLayers: 1 - m_ShadowNearPlane: 0.1 - m_BlockerSampleCount: 24 - m_FilterSampleCount: 16 - m_MinFilterSize: 0.1 - m_KernelSize: 5 - m_LightAngle: 1 - m_MaxDepthBias: 0.001 - m_ShadowResolution: - m_Override: 512 - m_UseOverride: 1 - m_Level: 0 - m_ShadowDimmer: 1 - m_VolumetricShadowDimmer: 1 - m_ShadowFadeDistance: 10000 - m_UseContactShadow: - m_Override: 0 - m_UseOverride: 1 - m_Level: 0 - m_RayTracedContactShadow: 0 - m_ShadowTint: {r: 0, g: 0, b: 0, a: 1} - m_PenumbraTint: 0 - m_NormalBias: 0.75 - m_SlopeBias: 0.5 - m_ShadowUpdateMode: 0 - m_AlwaysDrawDynamicShadows: 0 - m_UpdateShadowOnLightMovement: 0 - m_CachedShadowTranslationThreshold: 0.01 - m_CachedShadowAngularThreshold: 0.5 - m_BarnDoorAngle: 90 - m_BarnDoorLength: 0.05 - m_preserveCachedShadow: 0 - m_ShadowCascadeRatios: - - 0.05 - - 0.2 - - 0.3 - m_ShadowCascadeBorders: - - 0.2 - - 0.2 - - 0.2 - - 0.2 - m_ShadowAlgorithm: 0 - m_ShadowVariant: 0 - m_ShadowPrecision: 0 - useOldInspector: 0 - useVolumetric: 1 - featuresFoldout: 1 - showAdditionalSettings: 0 - m_AreaLightEmissiveMeshShadowCastingMode: 0 - m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 - m_AreaLightEmissiveMeshLayer: -1 ---- !u!1001 &1265033591 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 1878571720307375283, guid: 3b8a6a1dcde574f2b9d8709361a260e8, type: 3} - propertyPath: m_Name - value: Bounds - objectReference: {fileID: 0} - - target: {fileID: 6384872455483799981, guid: 3b8a6a1dcde574f2b9d8709361a260e8, type: 3} - propertyPath: m_RootOrder - value: 6 - objectReference: {fileID: 0} - - target: {fileID: 6384872455483799981, guid: 3b8a6a1dcde574f2b9d8709361a260e8, type: 3} - propertyPath: m_LocalPosition.x - value: 6 - objectReference: {fileID: 0} - - target: {fileID: 6384872455483799981, guid: 3b8a6a1dcde574f2b9d8709361a260e8, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6384872455483799981, guid: 3b8a6a1dcde574f2b9d8709361a260e8, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6384872455483799981, guid: 3b8a6a1dcde574f2b9d8709361a260e8, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6384872455483799981, guid: 3b8a6a1dcde574f2b9d8709361a260e8, type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 6384872455483799981, guid: 3b8a6a1dcde574f2b9d8709361a260e8, type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 6384872455483799981, guid: 3b8a6a1dcde574f2b9d8709361a260e8, type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 6384872455483799981, guid: 3b8a6a1dcde574f2b9d8709361a260e8, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6384872455483799981, guid: 3b8a6a1dcde574f2b9d8709361a260e8, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6384872455483799981, guid: 3b8a6a1dcde574f2b9d8709361a260e8, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 3b8a6a1dcde574f2b9d8709361a260e8, type: 3} ---- !u!1 &1305763462 -GameObject: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1305763464} - - component: {fileID: 1305763463} - m_Layer: 0 - m_Name: StaticLightingSky - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1305763463 -MonoBehaviour: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1305763462} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 441482e8936e35048a1dffac814e3ef8, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Profile: {fileID: 0} - m_StaticLightingSkyUniqueID: 0 ---- !u!4 &1305763464 -Transform: - m_ObjectHideFlags: 1 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1305763462} - 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: 48 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1001 &1465343623 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 640007408641535397, guid: 5be1854a1ab874a308e65b5db418388a, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 0} - - target: {fileID: 2774690736646702308, guid: 5be1854a1ab874a308e65b5db418388a, type: 3} - propertyPath: m_Name - value: BoxVertexColors - objectReference: {fileID: 0} - - target: {fileID: 8488108769735457949, guid: 5be1854a1ab874a308e65b5db418388a, type: 3} - propertyPath: m_RootOrder - value: 35 - objectReference: {fileID: 0} - - target: {fileID: 8488108769735457949, guid: 5be1854a1ab874a308e65b5db418388a, type: 3} - propertyPath: m_LocalPosition.x - value: 35 - objectReference: {fileID: 0} - - target: {fileID: 8488108769735457949, guid: 5be1854a1ab874a308e65b5db418388a, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8488108769735457949, guid: 5be1854a1ab874a308e65b5db418388a, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8488108769735457949, guid: 5be1854a1ab874a308e65b5db418388a, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8488108769735457949, guid: 5be1854a1ab874a308e65b5db418388a, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8488108769735457949, guid: 5be1854a1ab874a308e65b5db418388a, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8488108769735457949, guid: 5be1854a1ab874a308e65b5db418388a, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8488108769735457949, guid: 5be1854a1ab874a308e65b5db418388a, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8488108769735457949, guid: 5be1854a1ab874a308e65b5db418388a, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8488108769735457949, guid: 5be1854a1ab874a308e65b5db418388a, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 5be1854a1ab874a308e65b5db418388a, type: 3} ---- !u!1001 &1505319721 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 2249844528828181838, guid: 5b4dad3ea67ce4da193d14d96b3bde7b, type: 3} - propertyPath: m_Name - value: HierarchyComponentsDisabled - objectReference: {fileID: 0} - - target: {fileID: 2249844528828181839, guid: 5b4dad3ea67ce4da193d14d96b3bde7b, type: 3} - propertyPath: m_RootOrder - value: 46 - objectReference: {fileID: 0} - - target: {fileID: 2249844528828181839, guid: 5b4dad3ea67ce4da193d14d96b3bde7b, type: 3} - propertyPath: m_LocalPosition.x - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 2249844528828181839, guid: 5b4dad3ea67ce4da193d14d96b3bde7b, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2249844528828181839, guid: 5b4dad3ea67ce4da193d14d96b3bde7b, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2249844528828181839, guid: 5b4dad3ea67ce4da193d14d96b3bde7b, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 2249844528828181839, guid: 5b4dad3ea67ce4da193d14d96b3bde7b, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2249844528828181839, guid: 5b4dad3ea67ce4da193d14d96b3bde7b, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2249844528828181839, guid: 5b4dad3ea67ce4da193d14d96b3bde7b, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2249844528828181839, guid: 5b4dad3ea67ce4da193d14d96b3bde7b, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2249844528828181839, guid: 5b4dad3ea67ce4da193d14d96b3bde7b, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2249844528828181839, guid: 5b4dad3ea67ce4da193d14d96b3bde7b, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 5b4dad3ea67ce4da193d14d96b3bde7b, type: 3} ---- !u!1001 &1641287326 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 1710052028259021068, guid: 7e0702104e34e4a68aeb6753eaa14b03, type: 3} - propertyPath: m_Name - value: LightsPoint - objectReference: {fileID: 0} - - target: {fileID: 1717035293030847798, guid: 7e0702104e34e4a68aeb6753eaa14b03, type: 3} - propertyPath: m_RootOrder - value: 40 - objectReference: {fileID: 0} - - target: {fileID: 1717035293030847798, guid: 7e0702104e34e4a68aeb6753eaa14b03, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1717035293030847798, guid: 7e0702104e34e4a68aeb6753eaa14b03, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1717035293030847798, guid: 7e0702104e34e4a68aeb6753eaa14b03, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1717035293030847798, guid: 7e0702104e34e4a68aeb6753eaa14b03, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1717035293030847798, guid: 7e0702104e34e4a68aeb6753eaa14b03, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1717035293030847798, guid: 7e0702104e34e4a68aeb6753eaa14b03, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1717035293030847798, guid: 7e0702104e34e4a68aeb6753eaa14b03, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5322191972096591205, guid: 7e0702104e34e4a68aeb6753eaa14b03, type: 3} - propertyPath: m_Intensity - value: 50 - objectReference: {fileID: 0} - - target: {fileID: 5322191972096591205, guid: 7e0702104e34e4a68aeb6753eaa14b03, type: 3} - propertyPath: m_AreaSize.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 5322191972096591205, guid: 7e0702104e34e4a68aeb6753eaa14b03, type: 3} - propertyPath: m_AreaSize.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 5322191972096591205, guid: 7e0702104e34e4a68aeb6753eaa14b03, type: 3} - propertyPath: m_LightShadowCasterMode - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 5322191972504478433, guid: 7e0702104e34e4a68aeb6753eaa14b03, type: 3} - propertyPath: m_Intensity - value: 50 - objectReference: {fileID: 0} - - target: {fileID: 5322191972504478433, guid: 7e0702104e34e4a68aeb6753eaa14b03, type: 3} - propertyPath: m_AreaSize.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 5322191972504478433, guid: 7e0702104e34e4a68aeb6753eaa14b03, type: 3} - propertyPath: m_AreaSize.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 5322191972504478433, guid: 7e0702104e34e4a68aeb6753eaa14b03, type: 3} - propertyPath: m_LightShadowCasterMode - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 5322191972531810460, guid: 7e0702104e34e4a68aeb6753eaa14b03, type: 3} - propertyPath: m_Intensity - value: 50 - objectReference: {fileID: 0} - - target: {fileID: 5322191972531810460, guid: 7e0702104e34e4a68aeb6753eaa14b03, type: 3} - propertyPath: m_AreaSize.x - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 5322191972531810460, guid: 7e0702104e34e4a68aeb6753eaa14b03, type: 3} - propertyPath: m_AreaSize.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 5322191972531810460, guid: 7e0702104e34e4a68aeb6753eaa14b03, type: 3} - propertyPath: m_LightShadowCasterMode - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 7594794031903866132, guid: 7e0702104e34e4a68aeb6753eaa14b03, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 276068e48ae0b45c3897d1104a8dc424, type: 2} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 7e0702104e34e4a68aeb6753eaa14b03, type: 3} ---- !u!1 &1641287327 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 5322191972504478435, guid: 7e0702104e34e4a68aeb6753eaa14b03, type: 3} - m_PrefabInstance: {fileID: 1641287326} - m_PrefabAsset: {fileID: 0} ---- !u!1 &1641287328 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 5322191972531810462, guid: 7e0702104e34e4a68aeb6753eaa14b03, type: 3} - m_PrefabInstance: {fileID: 1641287326} - m_PrefabAsset: {fileID: 0} ---- !u!1 &1641287329 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 5322191972096591207, guid: 7e0702104e34e4a68aeb6753eaa14b03, type: 3} - m_PrefabInstance: {fileID: 1641287326} - m_PrefabAsset: {fileID: 0} ---- !u!114 &1641287330 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1641287327} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 7a68c43fe1f2a47cfa234b5eeaa98012, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Version: 11 - m_ObsoleteShadowResolutionTier: 1 - m_ObsoleteUseShadowQualitySettings: 0 - m_ObsoleteCustomShadowResolution: 512 - m_ObsoleteContactShadows: 0 - m_PointlightHDType: 0 - m_SpotLightShape: 0 - m_AreaLightShape: 0 - m_Intensity: 50 - m_EnableSpotReflector: 0 - m_LuxAtDistance: 1 - m_InnerSpotPercent: 0 - m_SpotIESCutoffPercent: 100 - m_LightDimmer: 1 - m_VolumetricDimmer: 1 - m_LightUnit: 1 - m_FadeDistance: 10000 - m_VolumetricFadeDistance: 10000 - m_AffectDiffuse: 1 - m_AffectSpecular: 1 - m_NonLightmappedOnly: 0 - m_ShapeWidth: 0.5 - m_ShapeHeight: 0.5 - m_AspectRatio: 1 - m_ShapeRadius: 0.025 - m_SoftnessScale: 1 - m_UseCustomSpotLightShadowCone: 0 - m_CustomSpotLightShadowCone: 30 - m_MaxSmoothness: 0.99 - m_ApplyRangeAttenuation: 1 - m_DisplayAreaLightEmissiveMesh: 0 - m_AreaLightCookie: {fileID: 0} - m_IESPoint: {fileID: 0} - m_IESSpot: {fileID: 0} - m_IncludeForRayTracing: 1 - m_AreaLightShadowCone: 120 - m_UseScreenSpaceShadows: 0 - m_InteractsWithSky: 1 - m_AngularDiameter: 0.5 - m_FlareSize: 2 - m_FlareTint: {r: 1, g: 1, b: 1, a: 1} - m_FlareFalloff: 4 - m_SurfaceTexture: {fileID: 0} - m_SurfaceTint: {r: 1, g: 1, b: 1, a: 1} - m_Distance: 1.5e+11 - m_UseRayTracedShadows: 0 - m_NumRayTracingSamples: 4 - m_FilterTracedShadow: 1 - m_FilterSizeTraced: 16 - m_SunLightConeAngle: 0.5 - m_LightShadowRadius: 0.5 - m_SemiTransparentShadow: 0 - m_ColorShadow: 1 - m_DistanceBasedFiltering: 0 - m_EvsmExponent: 15 - m_EvsmLightLeakBias: 0 - m_EvsmVarianceBias: 0.00001 - m_EvsmBlurPasses: 0 - m_LightlayersMask: 1 - m_LinkShadowLayers: 1 - m_ShadowNearPlane: 0.1 - m_BlockerSampleCount: 24 - m_FilterSampleCount: 16 - m_MinFilterSize: 0.1 - m_KernelSize: 5 - m_LightAngle: 1 - m_MaxDepthBias: 0.001 - m_ShadowResolution: - m_Override: 512 - m_UseOverride: 1 - m_Level: 0 - m_ShadowDimmer: 1 - m_VolumetricShadowDimmer: 1 - m_ShadowFadeDistance: 10000 - m_UseContactShadow: - m_Override: 0 - m_UseOverride: 1 - m_Level: 0 - m_RayTracedContactShadow: 0 - m_ShadowTint: {r: 0, g: 0, b: 0, a: 1} - m_PenumbraTint: 0 - m_NormalBias: 0.75 - m_SlopeBias: 0.5 - m_ShadowUpdateMode: 0 - m_AlwaysDrawDynamicShadows: 0 - m_UpdateShadowOnLightMovement: 0 - m_CachedShadowTranslationThreshold: 0.01 - m_CachedShadowAngularThreshold: 0.5 - m_BarnDoorAngle: 90 - m_BarnDoorLength: 0.05 - m_preserveCachedShadow: 0 - m_ShadowCascadeRatios: - - 0.05 - - 0.2 - - 0.3 - m_ShadowCascadeBorders: - - 0.2 - - 0.2 - - 0.2 - - 0.2 - m_ShadowAlgorithm: 0 - m_ShadowVariant: 0 - m_ShadowPrecision: 0 - useOldInspector: 0 - useVolumetric: 1 - featuresFoldout: 1 - showAdditionalSettings: 0 - m_AreaLightEmissiveMeshShadowCastingMode: 0 - m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 - m_AreaLightEmissiveMeshLayer: -1 ---- !u!114 &1641287331 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1641287328} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 7a68c43fe1f2a47cfa234b5eeaa98012, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Version: 11 - m_ObsoleteShadowResolutionTier: 1 - m_ObsoleteUseShadowQualitySettings: 0 - m_ObsoleteCustomShadowResolution: 512 - m_ObsoleteContactShadows: 0 - m_PointlightHDType: 0 - m_SpotLightShape: 0 - m_AreaLightShape: 0 - m_Intensity: 50 - m_EnableSpotReflector: 0 - m_LuxAtDistance: 1 - m_InnerSpotPercent: 0 - m_SpotIESCutoffPercent: 100 - m_LightDimmer: 1 - m_VolumetricDimmer: 1 - m_LightUnit: 1 - m_FadeDistance: 10000 - m_VolumetricFadeDistance: 10000 - m_AffectDiffuse: 1 - m_AffectSpecular: 1 - m_NonLightmappedOnly: 0 - m_ShapeWidth: 0.5 - m_ShapeHeight: 0.5 - m_AspectRatio: 1 - m_ShapeRadius: 0.025 - m_SoftnessScale: 1 - m_UseCustomSpotLightShadowCone: 0 - m_CustomSpotLightShadowCone: 30 - m_MaxSmoothness: 0.99 - m_ApplyRangeAttenuation: 1 - m_DisplayAreaLightEmissiveMesh: 0 - m_AreaLightCookie: {fileID: 0} - m_IESPoint: {fileID: 0} - m_IESSpot: {fileID: 0} - m_IncludeForRayTracing: 1 - m_AreaLightShadowCone: 120 - m_UseScreenSpaceShadows: 0 - m_InteractsWithSky: 1 - m_AngularDiameter: 0.5 - m_FlareSize: 2 - m_FlareTint: {r: 1, g: 1, b: 1, a: 1} - m_FlareFalloff: 4 - m_SurfaceTexture: {fileID: 0} - m_SurfaceTint: {r: 1, g: 1, b: 1, a: 1} - m_Distance: 1.5e+11 - m_UseRayTracedShadows: 0 - m_NumRayTracingSamples: 4 - m_FilterTracedShadow: 1 - m_FilterSizeTraced: 16 - m_SunLightConeAngle: 0.5 - m_LightShadowRadius: 0.5 - m_SemiTransparentShadow: 0 - m_ColorShadow: 1 - m_DistanceBasedFiltering: 0 - m_EvsmExponent: 15 - m_EvsmLightLeakBias: 0 - m_EvsmVarianceBias: 0.00001 - m_EvsmBlurPasses: 0 - m_LightlayersMask: 1 - m_LinkShadowLayers: 1 - m_ShadowNearPlane: 0.1 - m_BlockerSampleCount: 24 - m_FilterSampleCount: 16 - m_MinFilterSize: 0.1 - m_KernelSize: 5 - m_LightAngle: 1 - m_MaxDepthBias: 0.001 - m_ShadowResolution: - m_Override: 512 - m_UseOverride: 1 - m_Level: 0 - m_ShadowDimmer: 1 - m_VolumetricShadowDimmer: 1 - m_ShadowFadeDistance: 10000 - m_UseContactShadow: - m_Override: 0 - m_UseOverride: 1 - m_Level: 0 - m_RayTracedContactShadow: 0 - m_ShadowTint: {r: 0, g: 0, b: 0, a: 1} - m_PenumbraTint: 0 - m_NormalBias: 0.75 - m_SlopeBias: 0.5 - m_ShadowUpdateMode: 0 - m_AlwaysDrawDynamicShadows: 0 - m_UpdateShadowOnLightMovement: 0 - m_CachedShadowTranslationThreshold: 0.01 - m_CachedShadowAngularThreshold: 0.5 - m_BarnDoorAngle: 90 - m_BarnDoorLength: 0.05 - m_preserveCachedShadow: 0 - m_ShadowCascadeRatios: - - 0.05 - - 0.2 - - 0.3 - m_ShadowCascadeBorders: - - 0.2 - - 0.2 - - 0.2 - - 0.2 - m_ShadowAlgorithm: 0 - m_ShadowVariant: 0 - m_ShadowPrecision: 0 - useOldInspector: 0 - useVolumetric: 1 - featuresFoldout: 1 - showAdditionalSettings: 0 - m_AreaLightEmissiveMeshShadowCastingMode: 0 - m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 - m_AreaLightEmissiveMeshLayer: -1 ---- !u!114 &1641287332 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1641287329} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 7a68c43fe1f2a47cfa234b5eeaa98012, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Version: 11 - m_ObsoleteShadowResolutionTier: 1 - m_ObsoleteUseShadowQualitySettings: 0 - m_ObsoleteCustomShadowResolution: 512 - m_ObsoleteContactShadows: 0 - m_PointlightHDType: 0 - m_SpotLightShape: 0 - m_AreaLightShape: 0 - m_Intensity: 50 - m_EnableSpotReflector: 0 - m_LuxAtDistance: 1 - m_InnerSpotPercent: 0 - m_SpotIESCutoffPercent: 100 - m_LightDimmer: 1 - m_VolumetricDimmer: 1 - m_LightUnit: 1 - m_FadeDistance: 10000 - m_VolumetricFadeDistance: 10000 - m_AffectDiffuse: 1 - m_AffectSpecular: 1 - m_NonLightmappedOnly: 0 - m_ShapeWidth: 0.5 - m_ShapeHeight: 0.5 - m_AspectRatio: 1 - m_ShapeRadius: 0.025 - m_SoftnessScale: 1 - m_UseCustomSpotLightShadowCone: 0 - m_CustomSpotLightShadowCone: 30 - m_MaxSmoothness: 0.99 - m_ApplyRangeAttenuation: 1 - m_DisplayAreaLightEmissiveMesh: 0 - m_AreaLightCookie: {fileID: 0} - m_IESPoint: {fileID: 0} - m_IESSpot: {fileID: 0} - m_IncludeForRayTracing: 1 - m_AreaLightShadowCone: 120 - m_UseScreenSpaceShadows: 0 - m_InteractsWithSky: 1 - m_AngularDiameter: 0.5 - m_FlareSize: 2 - m_FlareTint: {r: 1, g: 1, b: 1, a: 1} - m_FlareFalloff: 4 - m_SurfaceTexture: {fileID: 0} - m_SurfaceTint: {r: 1, g: 1, b: 1, a: 1} - m_Distance: 1.5e+11 - m_UseRayTracedShadows: 0 - m_NumRayTracingSamples: 4 - m_FilterTracedShadow: 1 - m_FilterSizeTraced: 16 - m_SunLightConeAngle: 0.5 - m_LightShadowRadius: 0.5 - m_SemiTransparentShadow: 0 - m_ColorShadow: 1 - m_DistanceBasedFiltering: 0 - m_EvsmExponent: 15 - m_EvsmLightLeakBias: 0 - m_EvsmVarianceBias: 0.00001 - m_EvsmBlurPasses: 0 - m_LightlayersMask: 1 - m_LinkShadowLayers: 1 - m_ShadowNearPlane: 0.1 - m_BlockerSampleCount: 24 - m_FilterSampleCount: 16 - m_MinFilterSize: 0.1 - m_KernelSize: 5 - m_LightAngle: 1 - m_MaxDepthBias: 0.001 - m_ShadowResolution: - m_Override: 512 - m_UseOverride: 1 - m_Level: 0 - m_ShadowDimmer: 1 - m_VolumetricShadowDimmer: 1 - m_ShadowFadeDistance: 10000 - m_UseContactShadow: - m_Override: 0 - m_UseOverride: 1 - m_Level: 0 - m_RayTracedContactShadow: 0 - m_ShadowTint: {r: 0, g: 0, b: 0, a: 1} - m_PenumbraTint: 0 - m_NormalBias: 0.75 - m_SlopeBias: 0.5 - m_ShadowUpdateMode: 0 - m_AlwaysDrawDynamicShadows: 0 - m_UpdateShadowOnLightMovement: 0 - m_CachedShadowTranslationThreshold: 0.01 - m_CachedShadowAngularThreshold: 0.5 - m_BarnDoorAngle: 90 - m_BarnDoorLength: 0.05 - m_preserveCachedShadow: 0 - m_ShadowCascadeRatios: - - 0.05 - - 0.2 - - 0.3 - m_ShadowCascadeBorders: - - 0.2 - - 0.2 - - 0.2 - - 0.2 - m_ShadowAlgorithm: 0 - m_ShadowVariant: 0 - m_ShadowPrecision: 0 - useOldInspector: 0 - useVolumetric: 1 - featuresFoldout: 1 - showAdditionalSettings: 0 - m_AreaLightEmissiveMeshShadowCastingMode: 0 - m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 - m_AreaLightEmissiveMeshLayer: -1 ---- !u!1001 &1909192266 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 5334651974385157424, guid: ffa2bc2a634cf422599acb37b2cab989, type: 3} - propertyPath: m_RootOrder - value: 47 - objectReference: {fileID: 0} - - target: {fileID: 5334651974385157424, guid: ffa2bc2a634cf422599acb37b2cab989, type: 3} - propertyPath: m_LocalPosition.x - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 5334651974385157424, guid: ffa2bc2a634cf422599acb37b2cab989, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5334651974385157424, guid: ffa2bc2a634cf422599acb37b2cab989, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5334651974385157424, guid: ffa2bc2a634cf422599acb37b2cab989, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 5334651974385157424, guid: ffa2bc2a634cf422599acb37b2cab989, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5334651974385157424, guid: ffa2bc2a634cf422599acb37b2cab989, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5334651974385157424, guid: ffa2bc2a634cf422599acb37b2cab989, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5334651974385157424, guid: ffa2bc2a634cf422599acb37b2cab989, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5334651974385157424, guid: ffa2bc2a634cf422599acb37b2cab989, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5334651974385157424, guid: ffa2bc2a634cf422599acb37b2cab989, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5334651974385157425, guid: ffa2bc2a634cf422599acb37b2cab989, type: 3} - propertyPath: m_Name - value: HierarchyEditorOnlyTag - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: ffa2bc2a634cf422599acb37b2cab989, type: 3} ---- !u!1001 &2127925783 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: -8679921383154817045, guid: 46e6c0cd0c7d34d5793180969a50fde4, type: 3} - propertyPath: m_RootOrder - value: 1 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 46e6c0cd0c7d34d5793180969a50fde4, type: 3} - propertyPath: m_LocalPosition.x - value: 1 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 46e6c0cd0c7d34d5793180969a50fde4, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 46e6c0cd0c7d34d5793180969a50fde4, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 46e6c0cd0c7d34d5793180969a50fde4, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 46e6c0cd0c7d34d5793180969a50fde4, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 46e6c0cd0c7d34d5793180969a50fde4, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 46e6c0cd0c7d34d5793180969a50fde4, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 46e6c0cd0c7d34d5793180969a50fde4, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 46e6c0cd0c7d34d5793180969a50fde4, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -8679921383154817045, guid: 46e6c0cd0c7d34d5793180969a50fde4, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: -7511558181221131132, guid: 46e6c0cd0c7d34d5793180969a50fde4, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 3d1f35f7020b74011a0204e8f6c8f49e, type: 2} - - target: {fileID: -7511558181221131132, guid: 46e6c0cd0c7d34d5793180969a50fde4, type: 3} - propertyPath: m_Materials.Array.data[1] - value: - objectReference: {fileID: 2100000, guid: 4033ff0f0d27e4a27bd71649ac26200e, type: 2} - - target: {fileID: 919132149155446097, guid: 46e6c0cd0c7d34d5793180969a50fde4, type: 3} - propertyPath: m_Name - value: Submesh - objectReference: {fileID: 0} - - target: {fileID: 919132149155446097, guid: 46e6c0cd0c7d34d5793180969a50fde4, type: 3} - propertyPath: m_IsActive - value: 1 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 46e6c0cd0c7d34d5793180969a50fde4, type: 3} ---- !u!1001 &695671048011524576 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 695671047794976346, guid: 4f3faa6302e404605852678e205439ba, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 12c40466ef7bd486f85fa2633b4d36e7, type: 2} - - target: {fileID: 695671047801497548, guid: 4f3faa6302e404605852678e205439ba, type: 3} - propertyPath: m_Name - value: EmissiveFactor - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 4f3faa6302e404605852678e205439ba, type: 3} - propertyPath: m_RootOrder - value: 22 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 4f3faa6302e404605852678e205439ba, type: 3} - propertyPath: m_LocalPosition.x - value: 22 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 4f3faa6302e404605852678e205439ba, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 4f3faa6302e404605852678e205439ba, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 4f3faa6302e404605852678e205439ba, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 4f3faa6302e404605852678e205439ba, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 4f3faa6302e404605852678e205439ba, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 4f3faa6302e404605852678e205439ba, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 4f3faa6302e404605852678e205439ba, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 4f3faa6302e404605852678e205439ba, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 4f3faa6302e404605852678e205439ba, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1143177165508683232, guid: 4f3faa6302e404605852678e205439ba, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 12c40466ef7bd486f85fa2633b4d36e7, type: 2} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 4f3faa6302e404605852678e205439ba, type: 3} ---- !u!1001 &1050992880407660266 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 1050992881129428316, guid: 293fb8f07bf3d4c13acd52d0d508a96e, type: 3} - propertyPath: m_RootOrder - value: 16 - objectReference: {fileID: 0} - - target: {fileID: 1050992881129428316, guid: 293fb8f07bf3d4c13acd52d0d508a96e, type: 3} - propertyPath: m_LocalPosition.x - value: 16 - objectReference: {fileID: 0} - - target: {fileID: 1050992881129428316, guid: 293fb8f07bf3d4c13acd52d0d508a96e, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1050992881129428316, guid: 293fb8f07bf3d4c13acd52d0d508a96e, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1050992881129428316, guid: 293fb8f07bf3d4c13acd52d0d508a96e, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1050992881129428316, guid: 293fb8f07bf3d4c13acd52d0d508a96e, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1050992881129428316, guid: 293fb8f07bf3d4c13acd52d0d508a96e, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1050992881129428316, guid: 293fb8f07bf3d4c13acd52d0d508a96e, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1050992881129428316, guid: 293fb8f07bf3d4c13acd52d0d508a96e, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1050992881129428316, guid: 293fb8f07bf3d4c13acd52d0d508a96e, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1050992881129428316, guid: 293fb8f07bf3d4c13acd52d0d508a96e, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1050992881129428319, guid: 293fb8f07bf3d4c13acd52d0d508a96e, type: 3} - propertyPath: m_Name - value: UnlitTextured - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 293fb8f07bf3d4c13acd52d0d508a96e, type: 3} ---- !u!1001 &1346562254710139041 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 1346562252654694610, guid: 0d8624f4a39af4179b99f78392428f83, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 50b1d70e9a2df40baa46a0511aafeb7b, type: 2} - - target: {fileID: 1346562253930123856, guid: 0d8624f4a39af4179b99f78392428f83, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 4033ff0f0d27e4a27bd71649ac26200e, type: 2} - - target: {fileID: 1346562254272868396, guid: 0d8624f4a39af4179b99f78392428f83, type: 3} - propertyPath: m_RootOrder - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1346562254272868396, guid: 0d8624f4a39af4179b99f78392428f83, type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1346562254272868396, guid: 0d8624f4a39af4179b99f78392428f83, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1346562254272868396, guid: 0d8624f4a39af4179b99f78392428f83, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1346562254272868396, guid: 0d8624f4a39af4179b99f78392428f83, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1346562254272868396, guid: 0d8624f4a39af4179b99f78392428f83, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1346562254272868396, guid: 0d8624f4a39af4179b99f78392428f83, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1346562254272868396, guid: 0d8624f4a39af4179b99f78392428f83, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1346562254272868396, guid: 0d8624f4a39af4179b99f78392428f83, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1346562254272868396, guid: 0d8624f4a39af4179b99f78392428f83, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1346562254272868396, guid: 0d8624f4a39af4179b99f78392428f83, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1346562254272868397, guid: 0d8624f4a39af4179b99f78392428f83, type: 3} - propertyPath: m_Name - value: Simple - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 0d8624f4a39af4179b99f78392428f83, type: 3} ---- !u!1001 &1604292218629993340 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 1169093083258378431, guid: 3b40254c498714114baaf3d410ed353f, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 5ae63719472fe425e9dfaa2420f80f01, type: 2} - - target: {fileID: 1604292218823750537, guid: 3b40254c498714114baaf3d410ed353f, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 5ae63719472fe425e9dfaa2420f80f01, type: 2} - - target: {fileID: 1604292218941850420, guid: 3b40254c498714114baaf3d410ed353f, type: 3} - propertyPath: m_Name - value: EmissiveTexture - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: 3b40254c498714114baaf3d410ed353f, type: 3} - propertyPath: m_RootOrder - value: 23 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: 3b40254c498714114baaf3d410ed353f, type: 3} - propertyPath: m_LocalPosition.x - value: 23 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: 3b40254c498714114baaf3d410ed353f, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: 3b40254c498714114baaf3d410ed353f, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: 3b40254c498714114baaf3d410ed353f, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: 3b40254c498714114baaf3d410ed353f, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: 3b40254c498714114baaf3d410ed353f, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: 3b40254c498714114baaf3d410ed353f, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: 3b40254c498714114baaf3d410ed353f, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: 3b40254c498714114baaf3d410ed353f, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: 3b40254c498714114baaf3d410ed353f, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 3b40254c498714114baaf3d410ed353f, type: 3} ---- !u!1001 &1765603340612356061 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 1099224946644255422, guid: 8d4497c445d7a4c4fbbe110d953054ef, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 6edfac86e868c4ec59a6d0c250f283a8, type: 2} - - target: {fileID: 1765603341679898645, guid: 8d4497c445d7a4c4fbbe110d953054ef, type: 3} - propertyPath: m_RootOrder - value: 19 - objectReference: {fileID: 0} - - target: {fileID: 1765603341679898645, guid: 8d4497c445d7a4c4fbbe110d953054ef, type: 3} - propertyPath: m_LocalPosition.x - value: 19 - objectReference: {fileID: 0} - - target: {fileID: 1765603341679898645, guid: 8d4497c445d7a4c4fbbe110d953054ef, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1765603341679898645, guid: 8d4497c445d7a4c4fbbe110d953054ef, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1765603341679898645, guid: 8d4497c445d7a4c4fbbe110d953054ef, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1765603341679898645, guid: 8d4497c445d7a4c4fbbe110d953054ef, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1765603341679898645, guid: 8d4497c445d7a4c4fbbe110d953054ef, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1765603341679898645, guid: 8d4497c445d7a4c4fbbe110d953054ef, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1765603341679898645, guid: 8d4497c445d7a4c4fbbe110d953054ef, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1765603341679898645, guid: 8d4497c445d7a4c4fbbe110d953054ef, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1765603341679898645, guid: 8d4497c445d7a4c4fbbe110d953054ef, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1765603341679898650, guid: 8d4497c445d7a4c4fbbe110d953054ef, type: 3} - propertyPath: m_Name - value: Quads - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 8d4497c445d7a4c4fbbe110d953054ef, type: 3} ---- !u!1001 &1837308860102053930 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 1837308858197592432, guid: 7e27f597db0874ac48859da192048e04, type: 3} - propertyPath: m_RootOrder - value: 27 - objectReference: {fileID: 0} - - target: {fileID: 1837308858197592432, guid: 7e27f597db0874ac48859da192048e04, type: 3} - propertyPath: m_LocalPosition.x - value: 27 - objectReference: {fileID: 0} - - target: {fileID: 1837308858197592432, guid: 7e27f597db0874ac48859da192048e04, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1837308858197592432, guid: 7e27f597db0874ac48859da192048e04, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1837308858197592432, guid: 7e27f597db0874ac48859da192048e04, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1837308858197592432, guid: 7e27f597db0874ac48859da192048e04, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1837308858197592432, guid: 7e27f597db0874ac48859da192048e04, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1837308858197592432, guid: 7e27f597db0874ac48859da192048e04, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1837308858197592432, guid: 7e27f597db0874ac48859da192048e04, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1837308858197592432, guid: 7e27f597db0874ac48859da192048e04, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1837308858197592432, guid: 7e27f597db0874ac48859da192048e04, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1837308858197592435, guid: 7e27f597db0874ac48859da192048e04, type: 3} - propertyPath: m_Name - value: MetallicSmoothnessTexture - objectReference: {fileID: 0} - - target: {fileID: 1837308858662075054, guid: 7e27f597db0874ac48859da192048e04, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: e9a76c4254ec44b288aaf2ea668bda1a, type: 2} - - target: {fileID: 2235344654551744137, guid: 7e27f597db0874ac48859da192048e04, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: e9a76c4254ec44b288aaf2ea668bda1a, type: 2} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 7e27f597db0874ac48859da192048e04, type: 3} ---- !u!1001 &2503265296865531781 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 2503265295800656036, guid: b3ff2e7be18db40c08349ea257ef7cbd, type: 3} - propertyPath: m_Name - value: BaseColorTextureCutout - objectReference: {fileID: 0} - - target: {fileID: 2503265295800656039, guid: b3ff2e7be18db40c08349ea257ef7cbd, type: 3} - propertyPath: m_RootOrder - value: 10 - objectReference: {fileID: 0} - - target: {fileID: 2503265295800656039, guid: b3ff2e7be18db40c08349ea257ef7cbd, type: 3} - propertyPath: m_LocalPosition.x - value: 10 - objectReference: {fileID: 0} - - target: {fileID: 2503265295800656039, guid: b3ff2e7be18db40c08349ea257ef7cbd, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2503265295800656039, guid: b3ff2e7be18db40c08349ea257ef7cbd, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2503265295800656039, guid: b3ff2e7be18db40c08349ea257ef7cbd, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 2503265295800656039, guid: b3ff2e7be18db40c08349ea257ef7cbd, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2503265295800656039, guid: b3ff2e7be18db40c08349ea257ef7cbd, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2503265295800656039, guid: b3ff2e7be18db40c08349ea257ef7cbd, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2503265295800656039, guid: b3ff2e7be18db40c08349ea257ef7cbd, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2503265295800656039, guid: b3ff2e7be18db40c08349ea257ef7cbd, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2503265295800656039, guid: b3ff2e7be18db40c08349ea257ef7cbd, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2503265297564210168, guid: b3ff2e7be18db40c08349ea257ef7cbd, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 09e430d4dc0b14f8b9f604f88958acc9, type: 2} - - target: {fileID: 2650234467324164972, guid: b3ff2e7be18db40c08349ea257ef7cbd, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 09e430d4dc0b14f8b9f604f88958acc9, type: 2} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: b3ff2e7be18db40c08349ea257ef7cbd, type: 3} ---- !u!1001 &2705451771970716381 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 2705451771127871402, guid: ffc86ab9ea12e43ed969436659c6dc8e, type: 3} - propertyPath: m_RootOrder - value: 17 - objectReference: {fileID: 0} - - target: {fileID: 2705451771127871402, guid: ffc86ab9ea12e43ed969436659c6dc8e, type: 3} - propertyPath: m_LocalPosition.x - value: 17 - objectReference: {fileID: 0} - - target: {fileID: 2705451771127871402, guid: ffc86ab9ea12e43ed969436659c6dc8e, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2705451771127871402, guid: ffc86ab9ea12e43ed969436659c6dc8e, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2705451771127871402, guid: ffc86ab9ea12e43ed969436659c6dc8e, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 2705451771127871402, guid: ffc86ab9ea12e43ed969436659c6dc8e, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2705451771127871402, guid: ffc86ab9ea12e43ed969436659c6dc8e, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2705451771127871402, guid: ffc86ab9ea12e43ed969436659c6dc8e, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2705451771127871402, guid: ffc86ab9ea12e43ed969436659c6dc8e, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2705451771127871402, guid: ffc86ab9ea12e43ed969436659c6dc8e, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2705451771127871402, guid: ffc86ab9ea12e43ed969436659c6dc8e, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2705451771127871403, guid: ffc86ab9ea12e43ed969436659c6dc8e, type: 3} - propertyPath: m_Name - value: UnlitTexturedTransform - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: ffc86ab9ea12e43ed969436659c6dc8e, type: 3} ---- !u!1001 &2771448232039893644 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 2309446972562551030, guid: e914395ea5e224466bd3465c41148359, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 6990d6a1741674e91ac5e7e4a5bae8ff, type: 2} - - target: {fileID: 2771448233056139569, guid: e914395ea5e224466bd3465c41148359, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 6990d6a1741674e91ac5e7e4a5bae8ff, type: 2} - - target: {fileID: 2771448233178563540, guid: e914395ea5e224466bd3465c41148359, type: 3} - propertyPath: m_Name - value: EmissiveTextureFactor - objectReference: {fileID: 0} - - target: {fileID: 2771448233178563541, guid: e914395ea5e224466bd3465c41148359, type: 3} - propertyPath: m_RootOrder - value: 24 - objectReference: {fileID: 0} - - target: {fileID: 2771448233178563541, guid: e914395ea5e224466bd3465c41148359, type: 3} - propertyPath: m_LocalPosition.x - value: 24 - objectReference: {fileID: 0} - - target: {fileID: 2771448233178563541, guid: e914395ea5e224466bd3465c41148359, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2771448233178563541, guid: e914395ea5e224466bd3465c41148359, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2771448233178563541, guid: e914395ea5e224466bd3465c41148359, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 2771448233178563541, guid: e914395ea5e224466bd3465c41148359, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2771448233178563541, guid: e914395ea5e224466bd3465c41148359, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2771448233178563541, guid: e914395ea5e224466bd3465c41148359, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2771448233178563541, guid: e914395ea5e224466bd3465c41148359, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2771448233178563541, guid: e914395ea5e224466bd3465c41148359, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2771448233178563541, guid: e914395ea5e224466bd3465c41148359, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: e914395ea5e224466bd3465c41148359, type: 3} ---- !u!1001 &2783487831809300882 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 2367217601757676444, guid: 5ae29474b4f794bef9af8b935730bef7, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 8720016663d9d4354896c9be0317dcbd, type: 2} - - target: {fileID: 2783487829809861907, guid: 5ae29474b4f794bef9af8b935730bef7, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 8720016663d9d4354896c9be0317dcbd, type: 2} - - target: {fileID: 2783487831035117616, guid: 5ae29474b4f794bef9af8b935730bef7, type: 3} - propertyPath: m_RootOrder - value: 29 - objectReference: {fileID: 0} - - target: {fileID: 2783487831035117616, guid: 5ae29474b4f794bef9af8b935730bef7, type: 3} - propertyPath: m_LocalPosition.x - value: 29 - objectReference: {fileID: 0} - - target: {fileID: 2783487831035117616, guid: 5ae29474b4f794bef9af8b935730bef7, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2783487831035117616, guid: 5ae29474b4f794bef9af8b935730bef7, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2783487831035117616, guid: 5ae29474b4f794bef9af8b935730bef7, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 2783487831035117616, guid: 5ae29474b4f794bef9af8b935730bef7, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2783487831035117616, guid: 5ae29474b4f794bef9af8b935730bef7, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2783487831035117616, guid: 5ae29474b4f794bef9af8b935730bef7, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2783487831035117616, guid: 5ae29474b4f794bef9af8b935730bef7, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2783487831035117616, guid: 5ae29474b4f794bef9af8b935730bef7, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2783487831035117616, guid: 5ae29474b4f794bef9af8b935730bef7, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2783487831035117619, guid: 5ae29474b4f794bef9af8b935730bef7, type: 3} - propertyPath: m_Name - value: BaseColorSmoothnessTexture - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 5ae29474b4f794bef9af8b935730bef7, type: 3} ---- !u!1001 &2915868154213214355 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 2915868153665871304, guid: ae43b9ff98e994a19a62b0c474ddd427, type: 3} - propertyPath: m_Name - value: MeshMaterialReuse - objectReference: {fileID: 0} - - target: {fileID: 2915868153665871311, guid: ae43b9ff98e994a19a62b0c474ddd427, type: 3} - propertyPath: m_RootOrder - value: 4 - objectReference: {fileID: 0} - - target: {fileID: 2915868153665871311, guid: ae43b9ff98e994a19a62b0c474ddd427, type: 3} - propertyPath: m_LocalPosition.x - value: 4 - objectReference: {fileID: 0} - - target: {fileID: 2915868153665871311, guid: ae43b9ff98e994a19a62b0c474ddd427, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2915868153665871311, guid: ae43b9ff98e994a19a62b0c474ddd427, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2915868153665871311, guid: ae43b9ff98e994a19a62b0c474ddd427, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 2915868153665871311, guid: ae43b9ff98e994a19a62b0c474ddd427, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2915868153665871311, guid: ae43b9ff98e994a19a62b0c474ddd427, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2915868153665871311, guid: ae43b9ff98e994a19a62b0c474ddd427, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2915868153665871311, guid: ae43b9ff98e994a19a62b0c474ddd427, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2915868153665871311, guid: ae43b9ff98e994a19a62b0c474ddd427, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2915868153665871311, guid: ae43b9ff98e994a19a62b0c474ddd427, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2915868154634156449, guid: ae43b9ff98e994a19a62b0c474ddd427, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 4033ff0f0d27e4a27bd71649ac26200e, type: 2} - - target: {fileID: 2915868154823642519, guid: ae43b9ff98e994a19a62b0c474ddd427, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 4033ff0f0d27e4a27bd71649ac26200e, type: 2} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: ae43b9ff98e994a19a62b0c474ddd427, type: 3} ---- !u!1001 &3231760095421906467 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 3231760096108800245, guid: d11274dc7d69d40a0a8bb8d422875e12, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: a344378c64c6842629641fcef7dca0bf, type: 2} - - target: {fileID: 3231760096108800246, guid: d11274dc7d69d40a0a8bb8d422875e12, type: 3} - propertyPath: m_Name - value: DoubleSided - objectReference: {fileID: 0} - - target: {fileID: 3231760096108800251, guid: d11274dc7d69d40a0a8bb8d422875e12, type: 3} - propertyPath: m_RootOrder - value: 18 - objectReference: {fileID: 0} - - target: {fileID: 3231760096108800251, guid: d11274dc7d69d40a0a8bb8d422875e12, type: 3} - propertyPath: m_LocalPosition.x - value: 18 - objectReference: {fileID: 0} - - target: {fileID: 3231760096108800251, guid: d11274dc7d69d40a0a8bb8d422875e12, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3231760096108800251, guid: d11274dc7d69d40a0a8bb8d422875e12, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3231760096108800251, guid: d11274dc7d69d40a0a8bb8d422875e12, type: 3} - propertyPath: m_LocalRotation.w - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 3231760096108800251, guid: d11274dc7d69d40a0a8bb8d422875e12, type: 3} - propertyPath: m_LocalRotation.x - value: -0.5 - objectReference: {fileID: 0} - - target: {fileID: 3231760096108800251, guid: d11274dc7d69d40a0a8bb8d422875e12, type: 3} - propertyPath: m_LocalRotation.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 3231760096108800251, guid: d11274dc7d69d40a0a8bb8d422875e12, type: 3} - propertyPath: m_LocalRotation.z - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 3231760096108800251, guid: d11274dc7d69d40a0a8bb8d422875e12, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: -90 - objectReference: {fileID: 0} - - target: {fileID: 3231760096108800251, guid: d11274dc7d69d40a0a8bb8d422875e12, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 90 - objectReference: {fileID: 0} - - target: {fileID: 3231760096108800251, guid: d11274dc7d69d40a0a8bb8d422875e12, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: d11274dc7d69d40a0a8bb8d422875e12, type: 3} ---- !u!1001 &3549832593047276252 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 3549832593190132279, guid: cc811ce490edd4dcb915c7d355d606e6, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 6edfac86e868c4ec59a6d0c250f283a8, type: 2} - - target: {fileID: 3549832593247449849, guid: cc811ce490edd4dcb915c7d355d606e6, type: 3} - propertyPath: m_Name - value: IdenticalTextureName - objectReference: {fileID: 0} - - target: {fileID: 3549832593247449850, guid: cc811ce490edd4dcb915c7d355d606e6, type: 3} - propertyPath: m_RootOrder - value: 32 - objectReference: {fileID: 0} - - target: {fileID: 3549832593247449850, guid: cc811ce490edd4dcb915c7d355d606e6, type: 3} - propertyPath: m_LocalPosition.x - value: 32 - objectReference: {fileID: 0} - - target: {fileID: 3549832593247449850, guid: cc811ce490edd4dcb915c7d355d606e6, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3549832593247449850, guid: cc811ce490edd4dcb915c7d355d606e6, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3549832593247449850, guid: cc811ce490edd4dcb915c7d355d606e6, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 3549832593247449850, guid: cc811ce490edd4dcb915c7d355d606e6, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3549832593247449850, guid: cc811ce490edd4dcb915c7d355d606e6, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3549832593247449850, guid: cc811ce490edd4dcb915c7d355d606e6, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3549832593247449850, guid: cc811ce490edd4dcb915c7d355d606e6, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3549832593247449850, guid: cc811ce490edd4dcb915c7d355d606e6, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3549832593247449850, guid: cc811ce490edd4dcb915c7d355d606e6, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3549832594372694394, guid: cc811ce490edd4dcb915c7d355d606e6, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 99b6bb2a537eb40778b2f3670a5e1ef5, type: 2} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: cc811ce490edd4dcb915c7d355d606e6, type: 3} ---- !u!1001 &3599368584504456725 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 3599368584910199412, guid: 985cca58ca8ad48779838472dabe63f6, type: 3} - propertyPath: m_Name - value: BaseColorSmoothnessMetalTexture - objectReference: {fileID: 0} - - target: {fileID: 3599368584910199415, guid: 985cca58ca8ad48779838472dabe63f6, type: 3} - propertyPath: m_RootOrder - value: 30 - objectReference: {fileID: 0} - - target: {fileID: 3599368584910199415, guid: 985cca58ca8ad48779838472dabe63f6, type: 3} - propertyPath: m_LocalPosition.x - value: 30 - objectReference: {fileID: 0} - - target: {fileID: 3599368584910199415, guid: 985cca58ca8ad48779838472dabe63f6, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3599368584910199415, guid: 985cca58ca8ad48779838472dabe63f6, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3599368584910199415, guid: 985cca58ca8ad48779838472dabe63f6, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 3599368584910199415, guid: 985cca58ca8ad48779838472dabe63f6, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3599368584910199415, guid: 985cca58ca8ad48779838472dabe63f6, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3599368584910199415, guid: 985cca58ca8ad48779838472dabe63f6, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3599368584910199415, guid: 985cca58ca8ad48779838472dabe63f6, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3599368584910199415, guid: 985cca58ca8ad48779838472dabe63f6, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3599368584910199415, guid: 985cca58ca8ad48779838472dabe63f6, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3599368585411516166, guid: 985cca58ca8ad48779838472dabe63f6, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 75a579e97f8494106ad9a828236c8c4e, type: 2} - - target: {fileID: 4001837610784786408, guid: 985cca58ca8ad48779838472dabe63f6, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 75a579e97f8494106ad9a828236c8c4e, type: 2} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 985cca58ca8ad48779838472dabe63f6, type: 3} ---- !u!1001 &4034662270740670424 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 3568851224949313558, guid: afd51858e128e4af6bfaceb2876e6e0d, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: d76cb8d77ac004957ad34e6c0fb1218c, type: 2} - - target: {fileID: 4034662269119736318, guid: afd51858e128e4af6bfaceb2876e6e0d, type: 3} - propertyPath: m_Name - value: MetallicSmoothnessOcclusionTexture - objectReference: {fileID: 0} - - target: {fileID: 4034662269119736319, guid: afd51858e128e4af6bfaceb2876e6e0d, type: 3} - propertyPath: m_RootOrder - value: 28 - objectReference: {fileID: 0} - - target: {fileID: 4034662269119736319, guid: afd51858e128e4af6bfaceb2876e6e0d, type: 3} - propertyPath: m_LocalPosition.x - value: 28 - objectReference: {fileID: 0} - - target: {fileID: 4034662269119736319, guid: afd51858e128e4af6bfaceb2876e6e0d, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4034662269119736319, guid: afd51858e128e4af6bfaceb2876e6e0d, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4034662269119736319, guid: afd51858e128e4af6bfaceb2876e6e0d, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4034662269119736319, guid: afd51858e128e4af6bfaceb2876e6e0d, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4034662269119736319, guid: afd51858e128e4af6bfaceb2876e6e0d, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4034662269119736319, guid: afd51858e128e4af6bfaceb2876e6e0d, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4034662269119736319, guid: afd51858e128e4af6bfaceb2876e6e0d, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4034662269119736319, guid: afd51858e128e4af6bfaceb2876e6e0d, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4034662269119736319, guid: afd51858e128e4af6bfaceb2876e6e0d, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4034662270733228106, guid: afd51858e128e4af6bfaceb2876e6e0d, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: d76cb8d77ac004957ad34e6c0fb1218c, type: 2} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: afd51858e128e4af6bfaceb2876e6e0d, type: 3} ---- !u!1001 &4427462008516890642 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 4254605940877794721, guid: cfb983a48091d4b499bdad45e13ad0be, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 730fc1f99a46c47dd967c353da2ba26e, type: 2} - - target: {fileID: 4427462008483443318, guid: cfb983a48091d4b499bdad45e13ad0be, type: 3} - propertyPath: m_Name - value: MetallicTexture - objectReference: {fileID: 0} - - target: {fileID: 4427462008483443319, guid: cfb983a48091d4b499bdad45e13ad0be, type: 3} - propertyPath: m_RootOrder - value: 26 - objectReference: {fileID: 0} - - target: {fileID: 4427462008483443319, guid: cfb983a48091d4b499bdad45e13ad0be, type: 3} - propertyPath: m_LocalPosition.x - value: 26 - objectReference: {fileID: 0} - - target: {fileID: 4427462008483443319, guid: cfb983a48091d4b499bdad45e13ad0be, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4427462008483443319, guid: cfb983a48091d4b499bdad45e13ad0be, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4427462008483443319, guid: cfb983a48091d4b499bdad45e13ad0be, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4427462008483443319, guid: cfb983a48091d4b499bdad45e13ad0be, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4427462008483443319, guid: cfb983a48091d4b499bdad45e13ad0be, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4427462008483443319, guid: cfb983a48091d4b499bdad45e13ad0be, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4427462008483443319, guid: cfb983a48091d4b499bdad45e13ad0be, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4427462008483443319, guid: cfb983a48091d4b499bdad45e13ad0be, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4427462008483443319, guid: cfb983a48091d4b499bdad45e13ad0be, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4427462008771985828, guid: cfb983a48091d4b499bdad45e13ad0be, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 730fc1f99a46c47dd967c353da2ba26e, type: 2} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: cfb983a48091d4b499bdad45e13ad0be, type: 3} ---- !u!1001 &4706764071897670667 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 4706764071881520257, guid: d91af84dcddcb4d40a7247f2cf63141a, type: 3} - propertyPath: m_RootOrder - value: 7 - objectReference: {fileID: 0} - - target: {fileID: 4706764071881520257, guid: d91af84dcddcb4d40a7247f2cf63141a, type: 3} - propertyPath: m_LocalPosition.x - value: 7 - objectReference: {fileID: 0} - - target: {fileID: 4706764071881520257, guid: d91af84dcddcb4d40a7247f2cf63141a, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4706764071881520257, guid: d91af84dcddcb4d40a7247f2cf63141a, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4706764071881520257, guid: d91af84dcddcb4d40a7247f2cf63141a, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4706764071881520257, guid: d91af84dcddcb4d40a7247f2cf63141a, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4706764071881520257, guid: d91af84dcddcb4d40a7247f2cf63141a, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4706764071881520257, guid: d91af84dcddcb4d40a7247f2cf63141a, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4706764071881520257, guid: d91af84dcddcb4d40a7247f2cf63141a, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4706764071881520257, guid: d91af84dcddcb4d40a7247f2cf63141a, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4706764071881520257, guid: d91af84dcddcb4d40a7247f2cf63141a, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4706764071881520258, guid: d91af84dcddcb4d40a7247f2cf63141a, type: 3} - propertyPath: m_Name - value: Metallic - objectReference: {fileID: 0} - - target: {fileID: 5128241316508293330, guid: d91af84dcddcb4d40a7247f2cf63141a, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 8be4120f6052e437ca91171ff0c4777c, type: 2} - - target: {fileID: 5128241316579697262, guid: d91af84dcddcb4d40a7247f2cf63141a, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 0a0d20b2a042a4bc3917f160f9a9b9ab, type: 2} - - target: {fileID: 5128241317373992079, guid: d91af84dcddcb4d40a7247f2cf63141a, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: c47f36ce9c3714e5380e848845eaa6bb, type: 2} - - target: {fileID: 5128241317713530554, guid: d91af84dcddcb4d40a7247f2cf63141a, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: f16762cf346164a1da0a3cdfe39fb3ec, type: 2} - - target: {fileID: 5128241317968589462, guid: d91af84dcddcb4d40a7247f2cf63141a, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: e807daf9a224e4650a911e7bc1a9b04b, type: 2} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: d91af84dcddcb4d40a7247f2cf63141a, type: 3} ---- !u!1001 &4711336672013349496 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 4711336672165233576, guid: 50fab60141c274403b5d9743803dd6e3, type: 3} - propertyPath: m_Name - value: NoMaterial - objectReference: {fileID: 0} - - target: {fileID: 4711336672165233577, guid: 50fab60141c274403b5d9743803dd6e3, type: 3} - propertyPath: m_RootOrder - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 4711336672165233577, guid: 50fab60141c274403b5d9743803dd6e3, type: 3} - propertyPath: m_LocalPosition.x - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 4711336672165233577, guid: 50fab60141c274403b5d9743803dd6e3, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4711336672165233577, guid: 50fab60141c274403b5d9743803dd6e3, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4711336672165233577, guid: 50fab60141c274403b5d9743803dd6e3, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4711336672165233577, guid: 50fab60141c274403b5d9743803dd6e3, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4711336672165233577, guid: 50fab60141c274403b5d9743803dd6e3, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4711336672165233577, guid: 50fab60141c274403b5d9743803dd6e3, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4711336672165233577, guid: 50fab60141c274403b5d9743803dd6e3, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4711336672165233577, guid: 50fab60141c274403b5d9743803dd6e3, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4711336672165233577, guid: 50fab60141c274403b5d9743803dd6e3, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 50fab60141c274403b5d9743803dd6e3, type: 3} ---- !u!1001 &4901542910764462219 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 4791588095660755778, guid: ed59fb738842e4a128ad84414e02748a, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: eed87a244eea145b1aa1542cc2a5664c, type: 2} - - target: {fileID: 4901542910963442051, guid: ed59fb738842e4a128ad84414e02748a, type: 3} - propertyPath: m_RootOrder - value: 12 - objectReference: {fileID: 0} - - target: {fileID: 4901542910963442051, guid: ed59fb738842e4a128ad84414e02748a, type: 3} - propertyPath: m_LocalPosition.x - value: 12 - objectReference: {fileID: 0} - - target: {fileID: 4901542910963442051, guid: ed59fb738842e4a128ad84414e02748a, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4901542910963442051, guid: ed59fb738842e4a128ad84414e02748a, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4901542910963442051, guid: ed59fb738842e4a128ad84414e02748a, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4901542910963442051, guid: ed59fb738842e4a128ad84414e02748a, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4901542910963442051, guid: ed59fb738842e4a128ad84414e02748a, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4901542910963442051, guid: ed59fb738842e4a128ad84414e02748a, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4901542910963442051, guid: ed59fb738842e4a128ad84414e02748a, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4901542910963442051, guid: ed59fb738842e4a128ad84414e02748a, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4901542910963442051, guid: ed59fb738842e4a128ad84414e02748a, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4901542910963442060, guid: ed59fb738842e4a128ad84414e02748a, type: 3} - propertyPath: m_Name - value: BaseColorTextureTransparent - objectReference: {fileID: 0} - - target: {fileID: 4901542911290970295, guid: ed59fb738842e4a128ad84414e02748a, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: eed87a244eea145b1aa1542cc2a5664c, type: 2} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: ed59fb738842e4a128ad84414e02748a, type: 3} ---- !u!1001 &5498003405735289642 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 5498003405349280032, guid: 2d2cacd3abf864e5b820c2d04d93bac9, type: 3} - propertyPath: m_RootOrder - value: 3 - objectReference: {fileID: 0} - - target: {fileID: 5498003405349280032, guid: 2d2cacd3abf864e5b820c2d04d93bac9, type: 3} - propertyPath: m_LocalPosition.x - value: 3 - objectReference: {fileID: 0} - - target: {fileID: 5498003405349280032, guid: 2d2cacd3abf864e5b820c2d04d93bac9, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5498003405349280032, guid: 2d2cacd3abf864e5b820c2d04d93bac9, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5498003405349280032, guid: 2d2cacd3abf864e5b820c2d04d93bac9, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 5498003405349280032, guid: 2d2cacd3abf864e5b820c2d04d93bac9, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5498003405349280032, guid: 2d2cacd3abf864e5b820c2d04d93bac9, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5498003405349280032, guid: 2d2cacd3abf864e5b820c2d04d93bac9, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5498003405349280032, guid: 2d2cacd3abf864e5b820c2d04d93bac9, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5498003405349280032, guid: 2d2cacd3abf864e5b820c2d04d93bac9, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5498003405349280032, guid: 2d2cacd3abf864e5b820c2d04d93bac9, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5498003405349280035, guid: 2d2cacd3abf864e5b820c2d04d93bac9, type: 3} - propertyPath: m_Name - value: NoMaterial2 - objectReference: {fileID: 0} - - target: {fileID: 6597000867055485301, guid: 2d2cacd3abf864e5b820c2d04d93bac9, type: 3} - propertyPath: m_Materials.Array.data[1] - value: - objectReference: {fileID: 2100000, guid: 4033ff0f0d27e4a27bd71649ac26200e, type: 2} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 2d2cacd3abf864e5b820c2d04d93bac9, type: 3} ---- !u!1001 &5542063965088215925 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 5373842615229894333, guid: 92719913ce37348078f1849114cef239, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 5d393e41a852d422d82011b8187163b5, type: 2} - - target: {fileID: 5542063964532821008, guid: 92719913ce37348078f1849114cef239, type: 3} - propertyPath: m_Name - value: SmoothnessTexture - objectReference: {fileID: 0} - - target: {fileID: 5542063964532821011, guid: 92719913ce37348078f1849114cef239, type: 3} - propertyPath: m_RootOrder - value: 25 - objectReference: {fileID: 0} - - target: {fileID: 5542063964532821011, guid: 92719913ce37348078f1849114cef239, type: 3} - propertyPath: m_LocalPosition.x - value: 25 - objectReference: {fileID: 0} - - target: {fileID: 5542063964532821011, guid: 92719913ce37348078f1849114cef239, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5542063964532821011, guid: 92719913ce37348078f1849114cef239, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5542063964532821011, guid: 92719913ce37348078f1849114cef239, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 5542063964532821011, guid: 92719913ce37348078f1849114cef239, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5542063964532821011, guid: 92719913ce37348078f1849114cef239, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5542063964532821011, guid: 92719913ce37348078f1849114cef239, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5542063964532821011, guid: 92719913ce37348078f1849114cef239, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5542063964532821011, guid: 92719913ce37348078f1849114cef239, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5542063964532821011, guid: 92719913ce37348078f1849114cef239, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5542063965211100224, guid: 92719913ce37348078f1849114cef239, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 5d393e41a852d422d82011b8187163b5, type: 2} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 92719913ce37348078f1849114cef239, type: 3} ---- !u!1001 &6039058246445970663 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 6039058246625723649, guid: 24c13edf962bf42d0ad1f71d10864824, type: 3} - propertyPath: m_RootOrder - value: 8 - objectReference: {fileID: 0} - - target: {fileID: 6039058246625723649, guid: 24c13edf962bf42d0ad1f71d10864824, type: 3} - propertyPath: m_LocalPosition.x - value: 8 - objectReference: {fileID: 0} - - target: {fileID: 6039058246625723649, guid: 24c13edf962bf42d0ad1f71d10864824, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6039058246625723649, guid: 24c13edf962bf42d0ad1f71d10864824, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6039058246625723649, guid: 24c13edf962bf42d0ad1f71d10864824, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6039058246625723649, guid: 24c13edf962bf42d0ad1f71d10864824, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6039058246625723649, guid: 24c13edf962bf42d0ad1f71d10864824, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6039058246625723649, guid: 24c13edf962bf42d0ad1f71d10864824, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6039058246625723649, guid: 24c13edf962bf42d0ad1f71d10864824, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6039058246625723649, guid: 24c13edf962bf42d0ad1f71d10864824, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6039058246625723649, guid: 24c13edf962bf42d0ad1f71d10864824, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6039058246625723650, guid: 24c13edf962bf42d0ad1f71d10864824, type: 3} - propertyPath: m_Name - value: Dielectric - objectReference: {fileID: 0} - - target: {fileID: 6176106106388571798, guid: 24c13edf962bf42d0ad1f71d10864824, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 86c972c759df74432a55d225a581ecdb, type: 2} - - target: {fileID: 6176106106825870733, guid: 24c13edf962bf42d0ad1f71d10864824, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: b40164f611c8c4dda980f07e6280cbee, type: 2} - - target: {fileID: 6176106107249733136, guid: 24c13edf962bf42d0ad1f71d10864824, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 9362e57de289d43cc93c5f82aedc1ebd, type: 2} - - target: {fileID: 6176106107637614780, guid: 24c13edf962bf42d0ad1f71d10864824, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 34c248f9aa4644bfca8adf96a8514f7b, type: 2} - - target: {fileID: 6176106108289953035, guid: 24c13edf962bf42d0ad1f71d10864824, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 2d0a99041f60148df9fd80bf0aebc354, type: 2} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 24c13edf962bf42d0ad1f71d10864824, type: 3} ---- !u!1001 &6325097510408152444 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 5890046536874630244, guid: f64232b9bb68345be9752c43ed0bfecc, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 2c273240b36b14050833c4e5127e37b0, type: 2} - - target: {fileID: 6325097510464842400, guid: f64232b9bb68345be9752c43ed0bfecc, type: 3} - propertyPath: m_Name - value: OcclusionTextureStrength - objectReference: {fileID: 0} - - target: {fileID: 6325097510464842401, guid: f64232b9bb68345be9752c43ed0bfecc, type: 3} - propertyPath: m_RootOrder - value: 21 - objectReference: {fileID: 0} - - target: {fileID: 6325097510464842401, guid: f64232b9bb68345be9752c43ed0bfecc, type: 3} - propertyPath: m_LocalPosition.x - value: 21 - objectReference: {fileID: 0} - - target: {fileID: 6325097510464842401, guid: f64232b9bb68345be9752c43ed0bfecc, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6325097510464842401, guid: f64232b9bb68345be9752c43ed0bfecc, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6325097510464842401, guid: f64232b9bb68345be9752c43ed0bfecc, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6325097510464842401, guid: f64232b9bb68345be9752c43ed0bfecc, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6325097510464842401, guid: f64232b9bb68345be9752c43ed0bfecc, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6325097510464842401, guid: f64232b9bb68345be9752c43ed0bfecc, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6325097510464842401, guid: f64232b9bb68345be9752c43ed0bfecc, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6325097510464842401, guid: f64232b9bb68345be9752c43ed0bfecc, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6325097510464842401, guid: f64232b9bb68345be9752c43ed0bfecc, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6325097511533786187, guid: f64232b9bb68345be9752c43ed0bfecc, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 2c273240b36b14050833c4e5127e37b0, type: 2} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: f64232b9bb68345be9752c43ed0bfecc, type: 3} ---- !u!1001 &6550277280395338989 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 6550277279279799940, guid: bd9a03713e9544d65b3a51b50b4c5665, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 50b1d70e9a2df40baa46a0511aafeb7b, type: 2} - - target: {fileID: 6550277279318986921, guid: bd9a03713e9544d65b3a51b50b4c5665, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 4033ff0f0d27e4a27bd71649ac26200e, type: 2} - - target: {fileID: 6550277280262782600, guid: bd9a03713e9544d65b3a51b50b4c5665, type: 3} - propertyPath: m_RootOrder - value: 5 - objectReference: {fileID: 0} - - target: {fileID: 6550277280262782600, guid: bd9a03713e9544d65b3a51b50b4c5665, type: 3} - propertyPath: m_LocalPosition.x - value: 5 - objectReference: {fileID: 0} - - target: {fileID: 6550277280262782600, guid: bd9a03713e9544d65b3a51b50b4c5665, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6550277280262782600, guid: bd9a03713e9544d65b3a51b50b4c5665, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6550277280262782600, guid: bd9a03713e9544d65b3a51b50b4c5665, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6550277280262782600, guid: bd9a03713e9544d65b3a51b50b4c5665, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6550277280262782600, guid: bd9a03713e9544d65b3a51b50b4c5665, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6550277280262782600, guid: bd9a03713e9544d65b3a51b50b4c5665, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6550277280262782600, guid: bd9a03713e9544d65b3a51b50b4c5665, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6550277280262782600, guid: bd9a03713e9544d65b3a51b50b4c5665, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6550277280262782600, guid: bd9a03713e9544d65b3a51b50b4c5665, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6550277280262782601, guid: bd9a03713e9544d65b3a51b50b4c5665, type: 3} - propertyPath: m_Name - value: MeshReuse - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: bd9a03713e9544d65b3a51b50b4c5665, type: 3} ---- !u!1001 &7057153715884366678 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 7057153715754798030, guid: aac4be4be56c04b50897274f9064b8e9, type: 3} - propertyPath: m_Name - value: BaseColorTextureTransform - objectReference: {fileID: 0} - - target: {fileID: 7057153715754798031, guid: aac4be4be56c04b50897274f9064b8e9, type: 3} - propertyPath: m_RootOrder - value: 13 - objectReference: {fileID: 0} - - target: {fileID: 7057153715754798031, guid: aac4be4be56c04b50897274f9064b8e9, type: 3} - propertyPath: m_LocalPosition.x - value: 13 - objectReference: {fileID: 0} - - target: {fileID: 7057153715754798031, guid: aac4be4be56c04b50897274f9064b8e9, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7057153715754798031, guid: aac4be4be56c04b50897274f9064b8e9, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7057153715754798031, guid: aac4be4be56c04b50897274f9064b8e9, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 7057153715754798031, guid: aac4be4be56c04b50897274f9064b8e9, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7057153715754798031, guid: aac4be4be56c04b50897274f9064b8e9, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7057153715754798031, guid: aac4be4be56c04b50897274f9064b8e9, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7057153715754798031, guid: aac4be4be56c04b50897274f9064b8e9, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7057153715754798031, guid: aac4be4be56c04b50897274f9064b8e9, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7057153715754798031, guid: aac4be4be56c04b50897274f9064b8e9, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7057153717863917472, guid: aac4be4be56c04b50897274f9064b8e9, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 5e8d070f9f6154565a24e56bbc53c8b3, type: 2} - - target: {fileID: 7461038896213985862, guid: aac4be4be56c04b50897274f9064b8e9, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 5e8d070f9f6154565a24e56bbc53c8b3, type: 2} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: aac4be4be56c04b50897274f9064b8e9, type: 3} ---- !u!1001 &7539730617459811740 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 7539730617632344402, guid: 0f1ddaf82c5594f18a30f08a74141629, type: 3} - propertyPath: m_Name - value: Unlit - objectReference: {fileID: 0} - - target: {fileID: 7539730617632344403, guid: 0f1ddaf82c5594f18a30f08a74141629, type: 3} - propertyPath: m_RootOrder - value: 15 - objectReference: {fileID: 0} - - target: {fileID: 7539730617632344403, guid: 0f1ddaf82c5594f18a30f08a74141629, type: 3} - propertyPath: m_LocalPosition.x - value: 15 - objectReference: {fileID: 0} - - target: {fileID: 7539730617632344403, guid: 0f1ddaf82c5594f18a30f08a74141629, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7539730617632344403, guid: 0f1ddaf82c5594f18a30f08a74141629, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7539730617632344403, guid: 0f1ddaf82c5594f18a30f08a74141629, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 7539730617632344403, guid: 0f1ddaf82c5594f18a30f08a74141629, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7539730617632344403, guid: 0f1ddaf82c5594f18a30f08a74141629, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7539730617632344403, guid: 0f1ddaf82c5594f18a30f08a74141629, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7539730617632344403, guid: 0f1ddaf82c5594f18a30f08a74141629, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7539730617632344403, guid: 0f1ddaf82c5594f18a30f08a74141629, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7539730617632344403, guid: 0f1ddaf82c5594f18a30f08a74141629, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 0f1ddaf82c5594f18a30f08a74141629, type: 3} ---- !u!1001 &7843275890501873237 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 7683718685196857247, guid: 26824e03f48cf4efc941995413e8cf94, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 6edfac86e868c4ec59a6d0c250f283a8, type: 2} - - target: {fileID: 7843275889068220699, guid: 26824e03f48cf4efc941995413e8cf94, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 6edfac86e868c4ec59a6d0c250f283a8, type: 2} - - target: {fileID: 7843275890532157482, guid: 26824e03f48cf4efc941995413e8cf94, type: 3} - propertyPath: m_RootOrder - value: 9 - objectReference: {fileID: 0} - - target: {fileID: 7843275890532157482, guid: 26824e03f48cf4efc941995413e8cf94, type: 3} - propertyPath: m_LocalPosition.x - value: 9 - objectReference: {fileID: 0} - - target: {fileID: 7843275890532157482, guid: 26824e03f48cf4efc941995413e8cf94, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7843275890532157482, guid: 26824e03f48cf4efc941995413e8cf94, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7843275890532157482, guid: 26824e03f48cf4efc941995413e8cf94, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 7843275890532157482, guid: 26824e03f48cf4efc941995413e8cf94, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7843275890532157482, guid: 26824e03f48cf4efc941995413e8cf94, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7843275890532157482, guid: 26824e03f48cf4efc941995413e8cf94, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7843275890532157482, guid: 26824e03f48cf4efc941995413e8cf94, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7843275890532157482, guid: 26824e03f48cf4efc941995413e8cf94, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7843275890532157482, guid: 26824e03f48cf4efc941995413e8cf94, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7843275890532157483, guid: 26824e03f48cf4efc941995413e8cf94, type: 3} - propertyPath: m_Name - value: BaseColorTexture - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 26824e03f48cf4efc941995413e8cf94, type: 3} ---- !u!1001 &7952931430597981074 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 7952931428957114072, guid: 1028f372405af49649f2f65cfc84354b, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: e92bcc9ae18394bed9500dd51fe4bd20, type: 2} - - target: {fileID: 7952931429172956884, guid: 1028f372405af49649f2f65cfc84354b, type: 3} - propertyPath: m_Name - value: WrapModeV - objectReference: {fileID: 0} - - target: {fileID: 7952931429172956885, guid: 1028f372405af49649f2f65cfc84354b, type: 3} - propertyPath: m_RootOrder - value: 34 - objectReference: {fileID: 0} - - target: {fileID: 7952931429172956885, guid: 1028f372405af49649f2f65cfc84354b, type: 3} - propertyPath: m_LocalPosition.x - value: 34 - objectReference: {fileID: 0} - - target: {fileID: 7952931429172956885, guid: 1028f372405af49649f2f65cfc84354b, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7952931429172956885, guid: 1028f372405af49649f2f65cfc84354b, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7952931429172956885, guid: 1028f372405af49649f2f65cfc84354b, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 7952931429172956885, guid: 1028f372405af49649f2f65cfc84354b, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7952931429172956885, guid: 1028f372405af49649f2f65cfc84354b, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7952931429172956885, guid: 1028f372405af49649f2f65cfc84354b, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7952931429172956885, guid: 1028f372405af49649f2f65cfc84354b, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7952931429172956885, guid: 1028f372405af49649f2f65cfc84354b, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7952931429172956885, guid: 1028f372405af49649f2f65cfc84354b, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7952931429409345981, guid: 1028f372405af49649f2f65cfc84354b, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 647a8f9223b6b4e6a865c5599613deb9, type: 2} - - target: {fileID: 7952931429550051001, guid: 1028f372405af49649f2f65cfc84354b, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 836064605be21413dae7a16fd04ad37d, type: 2} - - target: {fileID: 7952931430279745303, guid: 1028f372405af49649f2f65cfc84354b, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 5db95d3cded6d450c9cd847e375a2a3d, type: 2} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 1028f372405af49649f2f65cfc84354b, type: 3} ---- !u!1001 &8223214279538553564 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 8223214280729566700, guid: 07695d396174743ccb430abb15b9092b, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: c81bdf0c0eb8f4c6286a655824751c61, type: 2} - - target: {fileID: 8223214281202448712, guid: 07695d396174743ccb430abb15b9092b, type: 3} - propertyPath: m_Name - value: NormalTexture - objectReference: {fileID: 0} - - target: {fileID: 8223214281202448713, guid: 07695d396174743ccb430abb15b9092b, type: 3} - propertyPath: m_RootOrder - value: 14 - objectReference: {fileID: 0} - - target: {fileID: 8223214281202448713, guid: 07695d396174743ccb430abb15b9092b, type: 3} - propertyPath: m_LocalPosition.x - value: 14 - objectReference: {fileID: 0} - - target: {fileID: 8223214281202448713, guid: 07695d396174743ccb430abb15b9092b, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8223214281202448713, guid: 07695d396174743ccb430abb15b9092b, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8223214281202448713, guid: 07695d396174743ccb430abb15b9092b, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8223214281202448713, guid: 07695d396174743ccb430abb15b9092b, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8223214281202448713, guid: 07695d396174743ccb430abb15b9092b, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8223214281202448713, guid: 07695d396174743ccb430abb15b9092b, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8223214281202448713, guid: 07695d396174743ccb430abb15b9092b, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8223214281202448713, guid: 07695d396174743ccb430abb15b9092b, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8223214281202448713, guid: 07695d396174743ccb430abb15b9092b, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8386931086798906518, guid: 07695d396174743ccb430abb15b9092b, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: c81bdf0c0eb8f4c6286a655824751c61, type: 2} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 07695d396174743ccb430abb15b9092b, type: 3} ---- !u!1001 &8245904734173398405 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 8245904733867057375, guid: 1c29e60d0685d4dfea6319359d11a0b1, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 92fe048d4324743ee912a09ea5876790, type: 2} - - target: {fileID: 8245904734771390780, guid: 1c29e60d0685d4dfea6319359d11a0b1, type: 3} - propertyPath: m_Name - value: BaseColorSmoothnessMetalOcclusionTexture - objectReference: {fileID: 0} - - target: {fileID: 8245904734771390783, guid: 1c29e60d0685d4dfea6319359d11a0b1, type: 3} - propertyPath: m_RootOrder - value: 31 - objectReference: {fileID: 0} - - target: {fileID: 8245904734771390783, guid: 1c29e60d0685d4dfea6319359d11a0b1, type: 3} - propertyPath: m_LocalPosition.x - value: 31 - objectReference: {fileID: 0} - - target: {fileID: 8245904734771390783, guid: 1c29e60d0685d4dfea6319359d11a0b1, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8245904734771390783, guid: 1c29e60d0685d4dfea6319359d11a0b1, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8245904734771390783, guid: 1c29e60d0685d4dfea6319359d11a0b1, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8245904734771390783, guid: 1c29e60d0685d4dfea6319359d11a0b1, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8245904734771390783, guid: 1c29e60d0685d4dfea6319359d11a0b1, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8245904734771390783, guid: 1c29e60d0685d4dfea6319359d11a0b1, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8245904734771390783, guid: 1c29e60d0685d4dfea6319359d11a0b1, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8245904734771390783, guid: 1c29e60d0685d4dfea6319359d11a0b1, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8245904734771390783, guid: 1c29e60d0685d4dfea6319359d11a0b1, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8364787699709841009, guid: 1c29e60d0685d4dfea6319359d11a0b1, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 92fe048d4324743ee912a09ea5876790, type: 2} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 1c29e60d0685d4dfea6319359d11a0b1, type: 3} ---- !u!1001 &8658038003212679553 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 8658038003165771589, guid: 4773f44f5a0654d6bbd5638e82956a00, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 971210cfd784741c9bfd00734bcf33c8, type: 2} - - target: {fileID: 8658038003402654540, guid: 4773f44f5a0654d6bbd5638e82956a00, type: 3} - propertyPath: m_Name - value: WrapModeU - objectReference: {fileID: 0} - - target: {fileID: 8658038003402654543, guid: 4773f44f5a0654d6bbd5638e82956a00, type: 3} - propertyPath: m_RootOrder - value: 33 - objectReference: {fileID: 0} - - target: {fileID: 8658038003402654543, guid: 4773f44f5a0654d6bbd5638e82956a00, type: 3} - propertyPath: m_LocalPosition.x - value: 33 - objectReference: {fileID: 0} - - target: {fileID: 8658038003402654543, guid: 4773f44f5a0654d6bbd5638e82956a00, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8658038003402654543, guid: 4773f44f5a0654d6bbd5638e82956a00, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8658038003402654543, guid: 4773f44f5a0654d6bbd5638e82956a00, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8658038003402654543, guid: 4773f44f5a0654d6bbd5638e82956a00, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8658038003402654543, guid: 4773f44f5a0654d6bbd5638e82956a00, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8658038003402654543, guid: 4773f44f5a0654d6bbd5638e82956a00, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8658038003402654543, guid: 4773f44f5a0654d6bbd5638e82956a00, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8658038003402654543, guid: 4773f44f5a0654d6bbd5638e82956a00, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8658038003402654543, guid: 4773f44f5a0654d6bbd5638e82956a00, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8658038004496133827, guid: 4773f44f5a0654d6bbd5638e82956a00, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 647a8f9223b6b4e6a865c5599613deb9, type: 2} - - target: {fileID: 8658038005001019010, guid: 4773f44f5a0654d6bbd5638e82956a00, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 153f1c35da62e488d91fc8da23c92582, type: 2} - - target: {fileID: 8658038005069141083, guid: 4773f44f5a0654d6bbd5638e82956a00, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: 3b57dbc43dfe441f9976437516a66057, type: 2} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 4773f44f5a0654d6bbd5638e82956a00, type: 3} ---- !u!1001 &8708582436582535587 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 8708582436844139558, guid: 3a86ae160413e409fb65364feebaf093, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: d8c91f548093f4ae7b106fb225d1799d, type: 2} - - target: {fileID: 8708582437401951304, guid: 3a86ae160413e409fb65364feebaf093, type: 3} - propertyPath: m_RootOrder - value: 11 - objectReference: {fileID: 0} - - target: {fileID: 8708582437401951304, guid: 3a86ae160413e409fb65364feebaf093, type: 3} - propertyPath: m_LocalPosition.x - value: 11 - objectReference: {fileID: 0} - - target: {fileID: 8708582437401951304, guid: 3a86ae160413e409fb65364feebaf093, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8708582437401951304, guid: 3a86ae160413e409fb65364feebaf093, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8708582437401951304, guid: 3a86ae160413e409fb65364feebaf093, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8708582437401951304, guid: 3a86ae160413e409fb65364feebaf093, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8708582437401951304, guid: 3a86ae160413e409fb65364feebaf093, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8708582437401951304, guid: 3a86ae160413e409fb65364feebaf093, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8708582437401951304, guid: 3a86ae160413e409fb65364feebaf093, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8708582437401951304, guid: 3a86ae160413e409fb65364feebaf093, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8708582437401951304, guid: 3a86ae160413e409fb65364feebaf093, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8708582437401951305, guid: 3a86ae160413e409fb65364feebaf093, type: 3} - propertyPath: m_Name - value: BaseColorTextureFade - objectReference: {fileID: 0} - - target: {fileID: 9124852653656771481, guid: 3a86ae160413e409fb65364feebaf093, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: d8c91f548093f4ae7b106fb225d1799d, type: 2} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 3a86ae160413e409fb65364feebaf093, type: 3} ---- !u!1001 &8752636197654970903 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 8752636197792707283, guid: c2c9cd0016016402fbf39d1705884133, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: ea6fdf2fe250a42cf9c8e00c21e2e3cd, type: 2} - - target: {fileID: 8752636198445173441, guid: c2c9cd0016016402fbf39d1705884133, type: 3} - propertyPath: m_RootOrder - value: 20 - objectReference: {fileID: 0} - - target: {fileID: 8752636198445173441, guid: c2c9cd0016016402fbf39d1705884133, type: 3} - propertyPath: m_LocalPosition.x - value: 20 - objectReference: {fileID: 0} - - target: {fileID: 8752636198445173441, guid: c2c9cd0016016402fbf39d1705884133, type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8752636198445173441, guid: c2c9cd0016016402fbf39d1705884133, type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8752636198445173441, guid: c2c9cd0016016402fbf39d1705884133, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8752636198445173441, guid: c2c9cd0016016402fbf39d1705884133, type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8752636198445173441, guid: c2c9cd0016016402fbf39d1705884133, type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8752636198445173441, guid: c2c9cd0016016402fbf39d1705884133, type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8752636198445173441, guid: c2c9cd0016016402fbf39d1705884133, type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8752636198445173441, guid: c2c9cd0016016402fbf39d1705884133, type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8752636198445173441, guid: c2c9cd0016016402fbf39d1705884133, type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8752636198445173442, guid: c2c9cd0016016402fbf39d1705884133, type: 3} - propertyPath: m_Name - value: OcclusionTexture - objectReference: {fileID: 0} - - target: {fileID: 9155106165755681815, guid: c2c9cd0016016402fbf39d1705884133, type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: ea6fdf2fe250a42cf9c8e00c21e2e3cd, type: 2} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: c2c9cd0016016402fbf39d1705884133, type: 3} diff --git a/Tests/Runtime/Export/Scenes/ExportSceneHighDefinition.unity.meta b/Tests/Runtime/Export/Scenes/ExportSceneHighDefinition.unity.meta deleted file mode 100644 index bb3d25b2a..000000000 --- a/Tests/Runtime/Export/Scenes/ExportSceneHighDefinition.unity.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 785c18f0334a14b4ca92ebd37cdd2591 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Scenes/ExportSceneUniversal-ObjectList.txt b/Tests/Runtime/Export/Scenes/ExportSceneUniversal-ObjectList.txt deleted file mode 100644 index 2ae38deb8..000000000 --- a/Tests/Runtime/Export/Scenes/ExportSceneUniversal-ObjectList.txt +++ /dev/null @@ -1,48 +0,0 @@ -Simple -Submesh -NoMaterial -NoMaterial2 -MeshMaterialReuse -MeshReuse -Bounds -Metallic -Dielectric -BaseColorTexture -BaseColorTextureCutout -BaseColorTextureFade -BaseColorTextureTransparent -BaseColorTextureTransform -NormalTexture -Unlit -UnlitTextured -UnlitTexturedTransform -DoubleSided -Quads -OcclusionTexture -OcclusionTextureStrength -EmissiveFactor -EmissiveTexture -EmissiveTextureFactor -SmoothnessTexture -MetallicTexture -MetallicSmoothnessTexture -MetallicSmoothnessOcclusionTexture -BaseColorSmoothnessTexture -BaseColorSmoothnessMetalTexture -BaseColorSmoothnessMetalOcclusionTexture -IdenticalTextureName -WrapModeU -WrapModeV -BoxVertexColors -PointCloud -ClearcoatFactor -ClearcoatTexture -Cameras -LightsPoint -LightsSpot -LightDirectional -LightAreaRectangle -LightAreaDisc -HierarchyObjectsInactive -HierarchyComponentsDisabled -HierarchyEditorOnlyTag diff --git a/Tests/Runtime/Export/Scenes/ExportSceneUniversal-ObjectList.txt.meta b/Tests/Runtime/Export/Scenes/ExportSceneUniversal-ObjectList.txt.meta deleted file mode 100644 index 522dc940c..000000000 --- a/Tests/Runtime/Export/Scenes/ExportSceneUniversal-ObjectList.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 4b032eb229c944814890311eff41a3ca -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Scenes/ExportSceneUniversal.unity b/Tests/Runtime/Export/Scenes/ExportSceneUniversal.unity deleted file mode 100644 index 73bda525b..000000000 --- a/Tests/Runtime/Export/Scenes/ExportSceneUniversal.unity +++ /dev/null @@ -1,3865 +0,0 @@ -%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.17757887, g: 0.2223226, b: 0.30451846, 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: 3 - 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 - buildHeightMesh: 0 - maxJobWorkers: 0 - preserveTilesOutsideBounds: 0 - debug: - m_Flags: 0 - m_NavMeshData: {fileID: 0} ---- !u!1001 &97053087 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 2774690736646702308, guid: 5be1854a1ab874a308e65b5db418388a, - type: 3} - propertyPath: m_Name - value: BoxVertexColors - objectReference: {fileID: 0} - - target: {fileID: 8488108769735457949, guid: 5be1854a1ab874a308e65b5db418388a, - type: 3} - propertyPath: m_RootOrder - value: 35 - objectReference: {fileID: 0} - - target: {fileID: 8488108769735457949, guid: 5be1854a1ab874a308e65b5db418388a, - type: 3} - propertyPath: m_LocalPosition.x - value: 35 - objectReference: {fileID: 0} - - target: {fileID: 8488108769735457949, guid: 5be1854a1ab874a308e65b5db418388a, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8488108769735457949, guid: 5be1854a1ab874a308e65b5db418388a, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8488108769735457949, guid: 5be1854a1ab874a308e65b5db418388a, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8488108769735457949, guid: 5be1854a1ab874a308e65b5db418388a, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8488108769735457949, guid: 5be1854a1ab874a308e65b5db418388a, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8488108769735457949, guid: 5be1854a1ab874a308e65b5db418388a, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8488108769735457949, guid: 5be1854a1ab874a308e65b5db418388a, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8488108769735457949, guid: 5be1854a1ab874a308e65b5db418388a, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8488108769735457949, guid: 5be1854a1ab874a308e65b5db418388a, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 5be1854a1ab874a308e65b5db418388a, type: 3} ---- !u!1001 &784781973 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 2249844528828181838, guid: 5b4dad3ea67ce4da193d14d96b3bde7b, - type: 3} - propertyPath: m_Name - value: HierarchyComponentsDisabled - objectReference: {fileID: 0} - - target: {fileID: 2249844528828181839, guid: 5b4dad3ea67ce4da193d14d96b3bde7b, - type: 3} - propertyPath: m_RootOrder - value: 46 - objectReference: {fileID: 0} - - target: {fileID: 2249844528828181839, guid: 5b4dad3ea67ce4da193d14d96b3bde7b, - type: 3} - propertyPath: m_LocalPosition.x - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 2249844528828181839, guid: 5b4dad3ea67ce4da193d14d96b3bde7b, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2249844528828181839, guid: 5b4dad3ea67ce4da193d14d96b3bde7b, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2249844528828181839, guid: 5b4dad3ea67ce4da193d14d96b3bde7b, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 2249844528828181839, guid: 5b4dad3ea67ce4da193d14d96b3bde7b, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2249844528828181839, guid: 5b4dad3ea67ce4da193d14d96b3bde7b, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2249844528828181839, guid: 5b4dad3ea67ce4da193d14d96b3bde7b, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2249844528828181839, guid: 5b4dad3ea67ce4da193d14d96b3bde7b, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2249844528828181839, guid: 5b4dad3ea67ce4da193d14d96b3bde7b, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2249844528828181839, guid: 5b4dad3ea67ce4da193d14d96b3bde7b, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 5b4dad3ea67ce4da193d14d96b3bde7b, type: 3} ---- !u!1001 &833031916 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 2899843863382378989, guid: 0c37636b256674062bf315fa8d4c732a, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: c77d9fa6390394eafb6cc4d990aaedb1, type: 2} - - target: {fileID: 2899843863761531798, guid: 0c37636b256674062bf315fa8d4c732a, - type: 3} - propertyPath: m_Name - value: LightAreaDisc - objectReference: {fileID: 0} - - target: {fileID: 2899843863761531799, guid: 0c37636b256674062bf315fa8d4c732a, - type: 3} - propertyPath: m_RootOrder - value: 44 - objectReference: {fileID: 0} - - target: {fileID: 2899843863761531799, guid: 0c37636b256674062bf315fa8d4c732a, - type: 3} - propertyPath: m_LocalPosition.x - value: 45 - objectReference: {fileID: 0} - - target: {fileID: 2899843863761531799, guid: 0c37636b256674062bf315fa8d4c732a, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2899843863761531799, guid: 0c37636b256674062bf315fa8d4c732a, - type: 3} - propertyPath: m_LocalPosition.z - value: 10 - objectReference: {fileID: 0} - - target: {fileID: 2899843863761531799, guid: 0c37636b256674062bf315fa8d4c732a, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 2899843863761531799, guid: 0c37636b256674062bf315fa8d4c732a, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2899843863761531799, guid: 0c37636b256674062bf315fa8d4c732a, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2899843863761531799, guid: 0c37636b256674062bf315fa8d4c732a, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2899843863761531799, guid: 0c37636b256674062bf315fa8d4c732a, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2899843863761531799, guid: 0c37636b256674062bf315fa8d4c732a, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2899843863761531799, guid: 0c37636b256674062bf315fa8d4c732a, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 0c37636b256674062bf315fa8d4c732a, type: 3} ---- !u!1001 &866201077 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 1604292218941850420, guid: ef51f9d4ffd19424bb63ae05f3792943, - type: 3} - propertyPath: m_Name - value: ClearcoatTexture - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: ef51f9d4ffd19424bb63ae05f3792943, - type: 3} - propertyPath: m_RootOrder - value: 38 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: ef51f9d4ffd19424bb63ae05f3792943, - type: 3} - propertyPath: m_LocalPosition.x - value: 40 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: ef51f9d4ffd19424bb63ae05f3792943, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: ef51f9d4ffd19424bb63ae05f3792943, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: ef51f9d4ffd19424bb63ae05f3792943, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: ef51f9d4ffd19424bb63ae05f3792943, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: ef51f9d4ffd19424bb63ae05f3792943, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: ef51f9d4ffd19424bb63ae05f3792943, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: ef51f9d4ffd19424bb63ae05f3792943, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: ef51f9d4ffd19424bb63ae05f3792943, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: ef51f9d4ffd19424bb63ae05f3792943, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: ef51f9d4ffd19424bb63ae05f3792943, type: 3} ---- !u!1001 &979669765 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 695671047794976346, guid: 58c997adcad2de54492e931bfa9c2d75, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 0} - - target: {fileID: 695671047801497548, guid: 58c997adcad2de54492e931bfa9c2d75, - type: 3} - propertyPath: m_Name - value: ClearcoatFactor - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 58c997adcad2de54492e931bfa9c2d75, - type: 3} - propertyPath: m_RootOrder - value: 37 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 58c997adcad2de54492e931bfa9c2d75, - type: 3} - propertyPath: m_LocalPosition.x - value: 39 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 58c997adcad2de54492e931bfa9c2d75, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 58c997adcad2de54492e931bfa9c2d75, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 58c997adcad2de54492e931bfa9c2d75, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 58c997adcad2de54492e931bfa9c2d75, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 58c997adcad2de54492e931bfa9c2d75, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 58c997adcad2de54492e931bfa9c2d75, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 58c997adcad2de54492e931bfa9c2d75, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 58c997adcad2de54492e931bfa9c2d75, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 58c997adcad2de54492e931bfa9c2d75, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 58c997adcad2de54492e931bfa9c2d75, type: 3} ---- !u!1001 &993913861 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 7220147725944403170, guid: 935afbc92ed3646488ea2105a5864d6c, - type: 3} - propertyPath: m_Name - value: Submesh - objectReference: {fileID: 0} - - target: {fileID: 8032397220058951256, guid: 935afbc92ed3646488ea2105a5864d6c, - type: 3} - propertyPath: m_RootOrder - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8032397220058951256, guid: 935afbc92ed3646488ea2105a5864d6c, - type: 3} - propertyPath: m_LocalPosition.x - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8032397220058951256, guid: 935afbc92ed3646488ea2105a5864d6c, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8032397220058951256, guid: 935afbc92ed3646488ea2105a5864d6c, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8032397220058951256, guid: 935afbc92ed3646488ea2105a5864d6c, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8032397220058951256, guid: 935afbc92ed3646488ea2105a5864d6c, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8032397220058951256, guid: 935afbc92ed3646488ea2105a5864d6c, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8032397220058951256, guid: 935afbc92ed3646488ea2105a5864d6c, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8032397220058951256, guid: 935afbc92ed3646488ea2105a5864d6c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8032397220058951256, guid: 935afbc92ed3646488ea2105a5864d6c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8032397220058951256, guid: 935afbc92ed3646488ea2105a5864d6c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 9165918613543916855, guid: 935afbc92ed3646488ea2105a5864d6c, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: c3c71b8e240f0479cb7ee28c8927532d, type: 2} - - target: {fileID: 9165918613543916855, guid: 935afbc92ed3646488ea2105a5864d6c, - type: 3} - propertyPath: m_Materials.Array.data[1] - value: - objectReference: {fileID: 2100000, guid: af98d753eae734d93a0fe4e9132abe49, type: 2} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 935afbc92ed3646488ea2105a5864d6c, type: 3} ---- !u!1001 &1456870068 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 5334651974385157424, guid: ffa2bc2a634cf422599acb37b2cab989, - type: 3} - propertyPath: m_RootOrder - value: 47 - objectReference: {fileID: 0} - - target: {fileID: 5334651974385157424, guid: ffa2bc2a634cf422599acb37b2cab989, - type: 3} - propertyPath: m_LocalPosition.x - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 5334651974385157424, guid: ffa2bc2a634cf422599acb37b2cab989, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5334651974385157424, guid: ffa2bc2a634cf422599acb37b2cab989, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5334651974385157424, guid: ffa2bc2a634cf422599acb37b2cab989, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 5334651974385157424, guid: ffa2bc2a634cf422599acb37b2cab989, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5334651974385157424, guid: ffa2bc2a634cf422599acb37b2cab989, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5334651974385157424, guid: ffa2bc2a634cf422599acb37b2cab989, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5334651974385157424, guid: ffa2bc2a634cf422599acb37b2cab989, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5334651974385157424, guid: ffa2bc2a634cf422599acb37b2cab989, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5334651974385157424, guid: ffa2bc2a634cf422599acb37b2cab989, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5334651974385157425, guid: ffa2bc2a634cf422599acb37b2cab989, - type: 3} - propertyPath: m_Name - value: HierarchyEditorOnlyTag - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: ffa2bc2a634cf422599acb37b2cab989, type: 3} ---- !u!1001 &1518814321 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 3115860733498111582, guid: 4782c22115e84481282f80aaaeb4de69, - type: 3} - propertyPath: m_RootOrder - value: 45 - objectReference: {fileID: 0} - - target: {fileID: 3115860733498111582, guid: 4782c22115e84481282f80aaaeb4de69, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3115860733498111582, guid: 4782c22115e84481282f80aaaeb4de69, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3115860733498111582, guid: 4782c22115e84481282f80aaaeb4de69, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3115860733498111582, guid: 4782c22115e84481282f80aaaeb4de69, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 3115860733498111582, guid: 4782c22115e84481282f80aaaeb4de69, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3115860733498111582, guid: 4782c22115e84481282f80aaaeb4de69, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3115860733498111582, guid: 4782c22115e84481282f80aaaeb4de69, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3115860733498111582, guid: 4782c22115e84481282f80aaaeb4de69, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3115860733498111582, guid: 4782c22115e84481282f80aaaeb4de69, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3115860733498111582, guid: 4782c22115e84481282f80aaaeb4de69, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3115860733498111583, guid: 4782c22115e84481282f80aaaeb4de69, - type: 3} - propertyPath: m_Name - value: HierarchyObjectsInactive - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 4782c22115e84481282f80aaaeb4de69, type: 3} ---- !u!1001 &1675835537 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: -8835444030758487861, guid: 7792de72d326d48acb68c6159a3a9777, - type: 3} - propertyPath: m_RootOrder - value: 1 - objectReference: {fileID: 0} - - target: {fileID: -1651980943987628666, guid: 7792de72d326d48acb68c6159a3a9777, - type: 3} - propertyPath: m_RootOrder - value: 36 - objectReference: {fileID: 0} - - target: {fileID: -1651980943987628666, guid: 7792de72d326d48acb68c6159a3a9777, - type: 3} - propertyPath: m_LocalPosition.x - value: 37 - objectReference: {fileID: 0} - - target: {fileID: 7319686964981122328, guid: 7792de72d326d48acb68c6159a3a9777, - type: 3} - propertyPath: m_RootOrder - value: 36 - objectReference: {fileID: 0} - - target: {fileID: 7319686964981122328, guid: 7792de72d326d48acb68c6159a3a9777, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7319686964981122328, guid: 7792de72d326d48acb68c6159a3a9777, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7319686964981122328, guid: 7792de72d326d48acb68c6159a3a9777, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8237554354107154443, guid: 7792de72d326d48acb68c6159a3a9777, - type: 3} - propertyPath: m_Name - value: PointCloud - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 7792de72d326d48acb68c6159a3a9777, type: 3} ---- !u!1001 &1830215260 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 1710052028259021068, guid: 7e0702104e34e4a68aeb6753eaa14b03, - type: 3} - propertyPath: m_Name - value: LightsPoint - objectReference: {fileID: 0} - - target: {fileID: 1717035293030847798, guid: 7e0702104e34e4a68aeb6753eaa14b03, - type: 3} - propertyPath: m_RootOrder - value: 40 - objectReference: {fileID: 0} - - target: {fileID: 1717035293030847798, guid: 7e0702104e34e4a68aeb6753eaa14b03, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1717035293030847798, guid: 7e0702104e34e4a68aeb6753eaa14b03, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1717035293030847798, guid: 7e0702104e34e4a68aeb6753eaa14b03, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7594794031903866132, guid: 7e0702104e34e4a68aeb6753eaa14b03, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: c77d9fa6390394eafb6cc4d990aaedb1, type: 2} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: - - targetCorrespondingSourceObject: {fileID: 5322191972096591207, guid: 7e0702104e34e4a68aeb6753eaa14b03, - type: 3} - insertIndex: -1 - addedObject: {fileID: 1830215266} - - targetCorrespondingSourceObject: {fileID: 5322191972531810462, guid: 7e0702104e34e4a68aeb6753eaa14b03, - type: 3} - insertIndex: -1 - addedObject: {fileID: 1830215265} - - targetCorrespondingSourceObject: {fileID: 5322191972504478435, guid: 7e0702104e34e4a68aeb6753eaa14b03, - type: 3} - insertIndex: -1 - addedObject: {fileID: 1830215264} - m_SourcePrefab: {fileID: 100100000, guid: 7e0702104e34e4a68aeb6753eaa14b03, type: 3} ---- !u!1 &1830215261 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 5322191972504478435, guid: 7e0702104e34e4a68aeb6753eaa14b03, - type: 3} - m_PrefabInstance: {fileID: 1830215260} - m_PrefabAsset: {fileID: 0} ---- !u!1 &1830215262 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 5322191972531810462, guid: 7e0702104e34e4a68aeb6753eaa14b03, - type: 3} - m_PrefabInstance: {fileID: 1830215260} - m_PrefabAsset: {fileID: 0} ---- !u!1 &1830215263 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 5322191972096591207, guid: 7e0702104e34e4a68aeb6753eaa14b03, - type: 3} - m_PrefabInstance: {fileID: 1830215260} - m_PrefabAsset: {fileID: 0} ---- !u!114 &1830215264 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1830215261} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Version: 3 - m_UsePipelineSettings: 1 - m_AdditionalLightsShadowResolutionTier: 2 - m_LightLayerMask: 1 - m_RenderingLayers: 1 - m_CustomShadowLayers: 0 - m_ShadowLayerMask: 1 - m_ShadowRenderingLayers: 1 - m_LightCookieSize: {x: 1, y: 1} - m_LightCookieOffset: {x: 0, y: 0} - m_SoftShadowQuality: 0 ---- !u!114 &1830215265 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1830215262} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Version: 3 - m_UsePipelineSettings: 1 - m_AdditionalLightsShadowResolutionTier: 2 - m_LightLayerMask: 1 - m_RenderingLayers: 1 - m_CustomShadowLayers: 0 - m_ShadowLayerMask: 1 - m_ShadowRenderingLayers: 1 - m_LightCookieSize: {x: 1, y: 1} - m_LightCookieOffset: {x: 0, y: 0} - m_SoftShadowQuality: 0 ---- !u!114 &1830215266 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1830215263} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Version: 3 - m_UsePipelineSettings: 1 - m_AdditionalLightsShadowResolutionTier: 2 - m_LightLayerMask: 1 - m_RenderingLayers: 1 - m_CustomShadowLayers: 0 - m_ShadowLayerMask: 1 - m_ShadowRenderingLayers: 1 - m_LightCookieSize: {x: 1, y: 1} - m_LightCookieOffset: {x: 0, y: 0} - m_SoftShadowQuality: 0 ---- !u!1001 &1909481780 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 4291603288428147330, guid: e9946dab301cf489d9ae439b5cede120, - type: 3} - propertyPath: m_Name - value: LightAreaRectangle - objectReference: {fileID: 0} - - target: {fileID: 4987877710243801991, guid: e9946dab301cf489d9ae439b5cede120, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: c77d9fa6390394eafb6cc4d990aaedb1, type: 2} - - target: {fileID: 8517333664161760638, guid: e9946dab301cf489d9ae439b5cede120, - type: 3} - propertyPath: m_RootOrder - value: 43 - objectReference: {fileID: 0} - - target: {fileID: 8517333664161760638, guid: e9946dab301cf489d9ae439b5cede120, - type: 3} - propertyPath: m_LocalPosition.x - value: 35 - objectReference: {fileID: 0} - - target: {fileID: 8517333664161760638, guid: e9946dab301cf489d9ae439b5cede120, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8517333664161760638, guid: e9946dab301cf489d9ae439b5cede120, - type: 3} - propertyPath: m_LocalPosition.z - value: 10 - objectReference: {fileID: 0} - - target: {fileID: 8517333664161760638, guid: e9946dab301cf489d9ae439b5cede120, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8517333664161760638, guid: e9946dab301cf489d9ae439b5cede120, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8517333664161760638, guid: e9946dab301cf489d9ae439b5cede120, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8517333664161760638, guid: e9946dab301cf489d9ae439b5cede120, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8517333664161760638, guid: e9946dab301cf489d9ae439b5cede120, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8517333664161760638, guid: e9946dab301cf489d9ae439b5cede120, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8517333664161760638, guid: e9946dab301cf489d9ae439b5cede120, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: e9946dab301cf489d9ae439b5cede120, type: 3} ---- !u!1001 &2052158197 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 1025221992404563395, guid: bceb870a5146b47b8a9aef4ea183308b, - type: 3} - propertyPath: m_RootOrder - value: 42 - objectReference: {fileID: 0} - - target: {fileID: 1025221992404563395, guid: bceb870a5146b47b8a9aef4ea183308b, - type: 3} - propertyPath: m_LocalPosition.x - value: 25 - objectReference: {fileID: 0} - - target: {fileID: 1025221992404563395, guid: bceb870a5146b47b8a9aef4ea183308b, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1025221992404563395, guid: bceb870a5146b47b8a9aef4ea183308b, - type: 3} - propertyPath: m_LocalPosition.z - value: 10 - objectReference: {fileID: 0} - - target: {fileID: 1025221992404563395, guid: bceb870a5146b47b8a9aef4ea183308b, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1025221992404563395, guid: bceb870a5146b47b8a9aef4ea183308b, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1025221992404563395, guid: bceb870a5146b47b8a9aef4ea183308b, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1025221992404563395, guid: bceb870a5146b47b8a9aef4ea183308b, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1025221992404563395, guid: bceb870a5146b47b8a9aef4ea183308b, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1025221992404563395, guid: bceb870a5146b47b8a9aef4ea183308b, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1025221992404563395, guid: bceb870a5146b47b8a9aef4ea183308b, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4409433564132416314, guid: bceb870a5146b47b8a9aef4ea183308b, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: c77d9fa6390394eafb6cc4d990aaedb1, type: 2} - - target: {fileID: 4865895703870685759, guid: bceb870a5146b47b8a9aef4ea183308b, - type: 3} - propertyPath: m_Name - value: LightDirectional - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: - - targetCorrespondingSourceObject: {fileID: 2128916189315744973, guid: bceb870a5146b47b8a9aef4ea183308b, - type: 3} - insertIndex: -1 - addedObject: {fileID: 2052158199} - m_SourcePrefab: {fileID: 100100000, guid: bceb870a5146b47b8a9aef4ea183308b, type: 3} ---- !u!1 &2052158198 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 2128916189315744973, guid: bceb870a5146b47b8a9aef4ea183308b, - type: 3} - m_PrefabInstance: {fileID: 2052158197} - m_PrefabAsset: {fileID: 0} ---- !u!114 &2052158199 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2052158198} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Version: 3 - m_UsePipelineSettings: 1 - m_AdditionalLightsShadowResolutionTier: 2 - m_LightLayerMask: 1 - m_RenderingLayers: 1 - m_CustomShadowLayers: 0 - m_ShadowLayerMask: 1 - m_ShadowRenderingLayers: 1 - m_LightCookieSize: {x: 1, y: 1} - m_LightCookieOffset: {x: 0, y: 0} - m_SoftShadowQuality: 0 ---- !u!1001 &2062139504 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 191247057164262236, guid: 250fd5b1250834aa0bf5d346075ff01f, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: c77d9fa6390394eafb6cc4d990aaedb1, type: 2} - - target: {fileID: 2458239337327630036, guid: 250fd5b1250834aa0bf5d346075ff01f, - type: 3} - propertyPath: m_Intensity - value: 100 - objectReference: {fileID: 0} - - target: {fileID: 2458239337371731113, guid: 250fd5b1250834aa0bf5d346075ff01f, - type: 3} - propertyPath: m_Intensity - value: 100 - objectReference: {fileID: 0} - - target: {fileID: 2458239337494438701, guid: 250fd5b1250834aa0bf5d346075ff01f, - type: 3} - propertyPath: m_Intensity - value: 100 - objectReference: {fileID: 0} - - target: {fileID: 8941176062987350910, guid: 250fd5b1250834aa0bf5d346075ff01f, - type: 3} - propertyPath: m_RootOrder - value: 41 - objectReference: {fileID: 0} - - target: {fileID: 8941176062987350910, guid: 250fd5b1250834aa0bf5d346075ff01f, - type: 3} - propertyPath: m_LocalPosition.x - value: 15 - objectReference: {fileID: 0} - - target: {fileID: 8941176062987350910, guid: 250fd5b1250834aa0bf5d346075ff01f, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8941176062987350910, guid: 250fd5b1250834aa0bf5d346075ff01f, - type: 3} - propertyPath: m_LocalPosition.z - value: 10 - objectReference: {fileID: 0} - - target: {fileID: 8941176062987350910, guid: 250fd5b1250834aa0bf5d346075ff01f, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8941176062987350910, guid: 250fd5b1250834aa0bf5d346075ff01f, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8941176062987350910, guid: 250fd5b1250834aa0bf5d346075ff01f, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8941176062987350910, guid: 250fd5b1250834aa0bf5d346075ff01f, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8941176062987350910, guid: 250fd5b1250834aa0bf5d346075ff01f, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8941176062987350910, guid: 250fd5b1250834aa0bf5d346075ff01f, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8941176062987350910, guid: 250fd5b1250834aa0bf5d346075ff01f, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8969483273716569924, guid: 250fd5b1250834aa0bf5d346075ff01f, - type: 3} - propertyPath: m_Name - value: LightsSpot - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: - - targetCorrespondingSourceObject: {fileID: 2458239337494438703, guid: 250fd5b1250834aa0bf5d346075ff01f, - type: 3} - insertIndex: -1 - addedObject: {fileID: 2062139510} - - targetCorrespondingSourceObject: {fileID: 2458239337327630038, guid: 250fd5b1250834aa0bf5d346075ff01f, - type: 3} - insertIndex: -1 - addedObject: {fileID: 2062139509} - - targetCorrespondingSourceObject: {fileID: 2458239337371731115, guid: 250fd5b1250834aa0bf5d346075ff01f, - type: 3} - insertIndex: -1 - addedObject: {fileID: 2062139508} - m_SourcePrefab: {fileID: 100100000, guid: 250fd5b1250834aa0bf5d346075ff01f, type: 3} ---- !u!1 &2062139505 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 2458239337371731115, guid: 250fd5b1250834aa0bf5d346075ff01f, - type: 3} - m_PrefabInstance: {fileID: 2062139504} - m_PrefabAsset: {fileID: 0} ---- !u!1 &2062139506 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 2458239337327630038, guid: 250fd5b1250834aa0bf5d346075ff01f, - type: 3} - m_PrefabInstance: {fileID: 2062139504} - m_PrefabAsset: {fileID: 0} ---- !u!1 &2062139507 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 2458239337494438703, guid: 250fd5b1250834aa0bf5d346075ff01f, - type: 3} - m_PrefabInstance: {fileID: 2062139504} - m_PrefabAsset: {fileID: 0} ---- !u!114 &2062139508 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2062139505} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Version: 3 - m_UsePipelineSettings: 1 - m_AdditionalLightsShadowResolutionTier: 2 - m_LightLayerMask: 1 - m_RenderingLayers: 1 - m_CustomShadowLayers: 0 - m_ShadowLayerMask: 1 - m_ShadowRenderingLayers: 1 - m_LightCookieSize: {x: 1, y: 1} - m_LightCookieOffset: {x: 0, y: 0} - m_SoftShadowQuality: 0 ---- !u!114 &2062139509 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2062139506} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Version: 3 - m_UsePipelineSettings: 1 - m_AdditionalLightsShadowResolutionTier: 2 - m_LightLayerMask: 1 - m_RenderingLayers: 1 - m_CustomShadowLayers: 0 - m_ShadowLayerMask: 1 - m_ShadowRenderingLayers: 1 - m_LightCookieSize: {x: 1, y: 1} - m_LightCookieOffset: {x: 0, y: 0} - m_SoftShadowQuality: 0 ---- !u!114 &2062139510 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2062139507} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 474bcb49853aa07438625e644c072ee6, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Version: 3 - m_UsePipelineSettings: 1 - m_AdditionalLightsShadowResolutionTier: 2 - m_LightLayerMask: 1 - m_RenderingLayers: 1 - m_CustomShadowLayers: 0 - m_ShadowLayerMask: 1 - m_ShadowRenderingLayers: 1 - m_LightCookieSize: {x: 1, y: 1} - m_LightCookieOffset: {x: 0, y: 0} - m_SoftShadowQuality: 0 ---- !u!1001 &2079862650 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 1445058241322456620, guid: a89df64aba53046ba99da011a2e3ac97, - type: 3} - propertyPath: m_Name - value: Cameras - objectReference: {fileID: 0} - - target: {fileID: 1445058241322456621, guid: a89df64aba53046ba99da011a2e3ac97, - type: 3} - propertyPath: m_RootOrder - value: 39 - objectReference: {fileID: 0} - - target: {fileID: 1445058241322456621, guid: a89df64aba53046ba99da011a2e3ac97, - type: 3} - propertyPath: m_LocalPosition.x - value: 59 - objectReference: {fileID: 0} - - target: {fileID: 1445058241322456621, guid: a89df64aba53046ba99da011a2e3ac97, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1445058241322456621, guid: a89df64aba53046ba99da011a2e3ac97, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1445058241322456621, guid: a89df64aba53046ba99da011a2e3ac97, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1445058241322456621, guid: a89df64aba53046ba99da011a2e3ac97, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1445058241322456621, guid: a89df64aba53046ba99da011a2e3ac97, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1445058241322456621, guid: a89df64aba53046ba99da011a2e3ac97, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1445058241322456621, guid: a89df64aba53046ba99da011a2e3ac97, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1445058241322456621, guid: a89df64aba53046ba99da011a2e3ac97, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1445058241322456621, guid: a89df64aba53046ba99da011a2e3ac97, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: a89df64aba53046ba99da011a2e3ac97, type: 3} ---- !u!1001 &695671048011524576 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 695671047801497548, guid: 4f3faa6302e404605852678e205439ba, - type: 3} - propertyPath: m_Name - value: EmissiveFactor - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 4f3faa6302e404605852678e205439ba, - type: 3} - propertyPath: m_RootOrder - value: 22 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 4f3faa6302e404605852678e205439ba, - type: 3} - propertyPath: m_LocalPosition.x - value: 22 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 4f3faa6302e404605852678e205439ba, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 4f3faa6302e404605852678e205439ba, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 4f3faa6302e404605852678e205439ba, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 4f3faa6302e404605852678e205439ba, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 4f3faa6302e404605852678e205439ba, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 4f3faa6302e404605852678e205439ba, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 4f3faa6302e404605852678e205439ba, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 4f3faa6302e404605852678e205439ba, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 695671047801497549, guid: 4f3faa6302e404605852678e205439ba, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 4f3faa6302e404605852678e205439ba, type: 3} ---- !u!1001 &1050992880407660266 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 1050992881129428316, guid: 293fb8f07bf3d4c13acd52d0d508a96e, - type: 3} - propertyPath: m_RootOrder - value: 16 - objectReference: {fileID: 0} - - target: {fileID: 1050992881129428316, guid: 293fb8f07bf3d4c13acd52d0d508a96e, - type: 3} - propertyPath: m_LocalPosition.x - value: 16 - objectReference: {fileID: 0} - - target: {fileID: 1050992881129428316, guid: 293fb8f07bf3d4c13acd52d0d508a96e, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1050992881129428316, guid: 293fb8f07bf3d4c13acd52d0d508a96e, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1050992881129428316, guid: 293fb8f07bf3d4c13acd52d0d508a96e, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1050992881129428316, guid: 293fb8f07bf3d4c13acd52d0d508a96e, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1050992881129428316, guid: 293fb8f07bf3d4c13acd52d0d508a96e, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1050992881129428316, guid: 293fb8f07bf3d4c13acd52d0d508a96e, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1050992881129428316, guid: 293fb8f07bf3d4c13acd52d0d508a96e, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1050992881129428316, guid: 293fb8f07bf3d4c13acd52d0d508a96e, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1050992881129428316, guid: 293fb8f07bf3d4c13acd52d0d508a96e, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1050992881129428319, guid: 293fb8f07bf3d4c13acd52d0d508a96e, - type: 3} - propertyPath: m_Name - value: UnlitTextured - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 293fb8f07bf3d4c13acd52d0d508a96e, type: 3} ---- !u!1001 &1346562254710139041 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 1346562254272868396, guid: 0d8624f4a39af4179b99f78392428f83, - type: 3} - propertyPath: m_RootOrder - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1346562254272868396, guid: 0d8624f4a39af4179b99f78392428f83, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1346562254272868396, guid: 0d8624f4a39af4179b99f78392428f83, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1346562254272868396, guid: 0d8624f4a39af4179b99f78392428f83, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1346562254272868396, guid: 0d8624f4a39af4179b99f78392428f83, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1346562254272868396, guid: 0d8624f4a39af4179b99f78392428f83, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1346562254272868396, guid: 0d8624f4a39af4179b99f78392428f83, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1346562254272868396, guid: 0d8624f4a39af4179b99f78392428f83, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1346562254272868396, guid: 0d8624f4a39af4179b99f78392428f83, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1346562254272868396, guid: 0d8624f4a39af4179b99f78392428f83, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1346562254272868396, guid: 0d8624f4a39af4179b99f78392428f83, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1346562254272868397, guid: 0d8624f4a39af4179b99f78392428f83, - type: 3} - propertyPath: m_Name - value: Simple - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 0d8624f4a39af4179b99f78392428f83, type: 3} ---- !u!1001 &1604292218629993340 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 1604292218941850420, guid: 3b40254c498714114baaf3d410ed353f, - type: 3} - propertyPath: m_Name - value: EmissiveTexture - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: 3b40254c498714114baaf3d410ed353f, - type: 3} - propertyPath: m_RootOrder - value: 23 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: 3b40254c498714114baaf3d410ed353f, - type: 3} - propertyPath: m_LocalPosition.x - value: 23 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: 3b40254c498714114baaf3d410ed353f, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: 3b40254c498714114baaf3d410ed353f, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: 3b40254c498714114baaf3d410ed353f, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: 3b40254c498714114baaf3d410ed353f, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: 3b40254c498714114baaf3d410ed353f, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: 3b40254c498714114baaf3d410ed353f, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: 3b40254c498714114baaf3d410ed353f, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: 3b40254c498714114baaf3d410ed353f, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1604292218941850421, guid: 3b40254c498714114baaf3d410ed353f, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 3b40254c498714114baaf3d410ed353f, type: 3} ---- !u!1001 &1765603340612356061 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 1765603341679898645, guid: 8d4497c445d7a4c4fbbe110d953054ef, - type: 3} - propertyPath: m_RootOrder - value: 19 - objectReference: {fileID: 0} - - target: {fileID: 1765603341679898645, guid: 8d4497c445d7a4c4fbbe110d953054ef, - type: 3} - propertyPath: m_LocalPosition.x - value: 19 - objectReference: {fileID: 0} - - target: {fileID: 1765603341679898645, guid: 8d4497c445d7a4c4fbbe110d953054ef, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1765603341679898645, guid: 8d4497c445d7a4c4fbbe110d953054ef, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1765603341679898645, guid: 8d4497c445d7a4c4fbbe110d953054ef, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1765603341679898645, guid: 8d4497c445d7a4c4fbbe110d953054ef, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1765603341679898645, guid: 8d4497c445d7a4c4fbbe110d953054ef, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1765603341679898645, guid: 8d4497c445d7a4c4fbbe110d953054ef, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1765603341679898645, guid: 8d4497c445d7a4c4fbbe110d953054ef, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1765603341679898645, guid: 8d4497c445d7a4c4fbbe110d953054ef, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1765603341679898645, guid: 8d4497c445d7a4c4fbbe110d953054ef, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1765603341679898650, guid: 8d4497c445d7a4c4fbbe110d953054ef, - type: 3} - propertyPath: m_Name - value: Quads - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 8d4497c445d7a4c4fbbe110d953054ef, type: 3} ---- !u!1001 &1837308860102053930 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 1837308858197592432, guid: 7e27f597db0874ac48859da192048e04, - type: 3} - propertyPath: m_RootOrder - value: 27 - objectReference: {fileID: 0} - - target: {fileID: 1837308858197592432, guid: 7e27f597db0874ac48859da192048e04, - type: 3} - propertyPath: m_LocalPosition.x - value: 27 - objectReference: {fileID: 0} - - target: {fileID: 1837308858197592432, guid: 7e27f597db0874ac48859da192048e04, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1837308858197592432, guid: 7e27f597db0874ac48859da192048e04, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1837308858197592432, guid: 7e27f597db0874ac48859da192048e04, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 1837308858197592432, guid: 7e27f597db0874ac48859da192048e04, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1837308858197592432, guid: 7e27f597db0874ac48859da192048e04, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1837308858197592432, guid: 7e27f597db0874ac48859da192048e04, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1837308858197592432, guid: 7e27f597db0874ac48859da192048e04, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1837308858197592432, guid: 7e27f597db0874ac48859da192048e04, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1837308858197592432, guid: 7e27f597db0874ac48859da192048e04, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 1837308858197592435, guid: 7e27f597db0874ac48859da192048e04, - type: 3} - propertyPath: m_Name - value: MetallicSmoothnessTexture - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 7e27f597db0874ac48859da192048e04, type: 3} ---- !u!1001 &2503265296865531781 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 2503265295800656036, guid: b3ff2e7be18db40c08349ea257ef7cbd, - type: 3} - propertyPath: m_Name - value: BaseColorTextureCutout - objectReference: {fileID: 0} - - target: {fileID: 2503265295800656039, guid: b3ff2e7be18db40c08349ea257ef7cbd, - type: 3} - propertyPath: m_RootOrder - value: 10 - objectReference: {fileID: 0} - - target: {fileID: 2503265295800656039, guid: b3ff2e7be18db40c08349ea257ef7cbd, - type: 3} - propertyPath: m_LocalPosition.x - value: 10 - objectReference: {fileID: 0} - - target: {fileID: 2503265295800656039, guid: b3ff2e7be18db40c08349ea257ef7cbd, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2503265295800656039, guid: b3ff2e7be18db40c08349ea257ef7cbd, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2503265295800656039, guid: b3ff2e7be18db40c08349ea257ef7cbd, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 2503265295800656039, guid: b3ff2e7be18db40c08349ea257ef7cbd, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2503265295800656039, guid: b3ff2e7be18db40c08349ea257ef7cbd, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2503265295800656039, guid: b3ff2e7be18db40c08349ea257ef7cbd, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2503265295800656039, guid: b3ff2e7be18db40c08349ea257ef7cbd, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2503265295800656039, guid: b3ff2e7be18db40c08349ea257ef7cbd, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2503265295800656039, guid: b3ff2e7be18db40c08349ea257ef7cbd, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: b3ff2e7be18db40c08349ea257ef7cbd, type: 3} ---- !u!1001 &2705451771970716381 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 2705451771127871402, guid: ffc86ab9ea12e43ed969436659c6dc8e, - type: 3} - propertyPath: m_RootOrder - value: 17 - objectReference: {fileID: 0} - - target: {fileID: 2705451771127871402, guid: ffc86ab9ea12e43ed969436659c6dc8e, - type: 3} - propertyPath: m_LocalPosition.x - value: 17 - objectReference: {fileID: 0} - - target: {fileID: 2705451771127871402, guid: ffc86ab9ea12e43ed969436659c6dc8e, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2705451771127871402, guid: ffc86ab9ea12e43ed969436659c6dc8e, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2705451771127871402, guid: ffc86ab9ea12e43ed969436659c6dc8e, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 2705451771127871402, guid: ffc86ab9ea12e43ed969436659c6dc8e, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2705451771127871402, guid: ffc86ab9ea12e43ed969436659c6dc8e, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2705451771127871402, guid: ffc86ab9ea12e43ed969436659c6dc8e, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2705451771127871402, guid: ffc86ab9ea12e43ed969436659c6dc8e, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2705451771127871402, guid: ffc86ab9ea12e43ed969436659c6dc8e, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2705451771127871402, guid: ffc86ab9ea12e43ed969436659c6dc8e, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2705451771127871403, guid: ffc86ab9ea12e43ed969436659c6dc8e, - type: 3} - propertyPath: m_Name - value: UnlitTexturedTransform - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: ffc86ab9ea12e43ed969436659c6dc8e, type: 3} ---- !u!1001 &2771448232039893644 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 2771448233178563540, guid: e914395ea5e224466bd3465c41148359, - type: 3} - propertyPath: m_Name - value: EmissiveTextureFactor - objectReference: {fileID: 0} - - target: {fileID: 2771448233178563541, guid: e914395ea5e224466bd3465c41148359, - type: 3} - propertyPath: m_RootOrder - value: 24 - objectReference: {fileID: 0} - - target: {fileID: 2771448233178563541, guid: e914395ea5e224466bd3465c41148359, - type: 3} - propertyPath: m_LocalPosition.x - value: 24 - objectReference: {fileID: 0} - - target: {fileID: 2771448233178563541, guid: e914395ea5e224466bd3465c41148359, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2771448233178563541, guid: e914395ea5e224466bd3465c41148359, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2771448233178563541, guid: e914395ea5e224466bd3465c41148359, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 2771448233178563541, guid: e914395ea5e224466bd3465c41148359, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2771448233178563541, guid: e914395ea5e224466bd3465c41148359, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2771448233178563541, guid: e914395ea5e224466bd3465c41148359, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2771448233178563541, guid: e914395ea5e224466bd3465c41148359, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2771448233178563541, guid: e914395ea5e224466bd3465c41148359, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2771448233178563541, guid: e914395ea5e224466bd3465c41148359, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: e914395ea5e224466bd3465c41148359, type: 3} ---- !u!1001 &2783487831809300882 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 2783487831035117616, guid: 5ae29474b4f794bef9af8b935730bef7, - type: 3} - propertyPath: m_RootOrder - value: 29 - objectReference: {fileID: 0} - - target: {fileID: 2783487831035117616, guid: 5ae29474b4f794bef9af8b935730bef7, - type: 3} - propertyPath: m_LocalPosition.x - value: 29 - objectReference: {fileID: 0} - - target: {fileID: 2783487831035117616, guid: 5ae29474b4f794bef9af8b935730bef7, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2783487831035117616, guid: 5ae29474b4f794bef9af8b935730bef7, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2783487831035117616, guid: 5ae29474b4f794bef9af8b935730bef7, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 2783487831035117616, guid: 5ae29474b4f794bef9af8b935730bef7, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2783487831035117616, guid: 5ae29474b4f794bef9af8b935730bef7, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2783487831035117616, guid: 5ae29474b4f794bef9af8b935730bef7, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2783487831035117616, guid: 5ae29474b4f794bef9af8b935730bef7, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2783487831035117616, guid: 5ae29474b4f794bef9af8b935730bef7, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2783487831035117616, guid: 5ae29474b4f794bef9af8b935730bef7, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2783487831035117619, guid: 5ae29474b4f794bef9af8b935730bef7, - type: 3} - propertyPath: m_Name - value: BaseColorSmoothnessTexture - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 5ae29474b4f794bef9af8b935730bef7, type: 3} ---- !u!1001 &2915868154213214355 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 2915868153665871304, guid: ae43b9ff98e994a19a62b0c474ddd427, - type: 3} - propertyPath: m_Name - value: MeshMaterialReuse - objectReference: {fileID: 0} - - target: {fileID: 2915868153665871311, guid: ae43b9ff98e994a19a62b0c474ddd427, - type: 3} - propertyPath: m_RootOrder - value: 4 - objectReference: {fileID: 0} - - target: {fileID: 2915868153665871311, guid: ae43b9ff98e994a19a62b0c474ddd427, - type: 3} - propertyPath: m_LocalPosition.x - value: 4 - objectReference: {fileID: 0} - - target: {fileID: 2915868153665871311, guid: ae43b9ff98e994a19a62b0c474ddd427, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2915868153665871311, guid: ae43b9ff98e994a19a62b0c474ddd427, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2915868153665871311, guid: ae43b9ff98e994a19a62b0c474ddd427, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 2915868153665871311, guid: ae43b9ff98e994a19a62b0c474ddd427, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2915868153665871311, guid: ae43b9ff98e994a19a62b0c474ddd427, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2915868153665871311, guid: ae43b9ff98e994a19a62b0c474ddd427, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2915868153665871311, guid: ae43b9ff98e994a19a62b0c474ddd427, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2915868153665871311, guid: ae43b9ff98e994a19a62b0c474ddd427, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2915868153665871311, guid: ae43b9ff98e994a19a62b0c474ddd427, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: ae43b9ff98e994a19a62b0c474ddd427, type: 3} ---- !u!1001 &3231760095421906467 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 3231760096108800246, guid: d11274dc7d69d40a0a8bb8d422875e12, - type: 3} - propertyPath: m_Name - value: DoubleSided - objectReference: {fileID: 0} - - target: {fileID: 3231760096108800251, guid: d11274dc7d69d40a0a8bb8d422875e12, - type: 3} - propertyPath: m_RootOrder - value: 18 - objectReference: {fileID: 0} - - target: {fileID: 3231760096108800251, guid: d11274dc7d69d40a0a8bb8d422875e12, - type: 3} - propertyPath: m_LocalPosition.x - value: 18 - objectReference: {fileID: 0} - - target: {fileID: 3231760096108800251, guid: d11274dc7d69d40a0a8bb8d422875e12, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3231760096108800251, guid: d11274dc7d69d40a0a8bb8d422875e12, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3231760096108800251, guid: d11274dc7d69d40a0a8bb8d422875e12, - type: 3} - propertyPath: m_LocalRotation.w - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 3231760096108800251, guid: d11274dc7d69d40a0a8bb8d422875e12, - type: 3} - propertyPath: m_LocalRotation.x - value: -0.5 - objectReference: {fileID: 0} - - target: {fileID: 3231760096108800251, guid: d11274dc7d69d40a0a8bb8d422875e12, - type: 3} - propertyPath: m_LocalRotation.y - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 3231760096108800251, guid: d11274dc7d69d40a0a8bb8d422875e12, - type: 3} - propertyPath: m_LocalRotation.z - value: 0.5 - objectReference: {fileID: 0} - - target: {fileID: 3231760096108800251, guid: d11274dc7d69d40a0a8bb8d422875e12, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: -90 - objectReference: {fileID: 0} - - target: {fileID: 3231760096108800251, guid: d11274dc7d69d40a0a8bb8d422875e12, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 90 - objectReference: {fileID: 0} - - target: {fileID: 3231760096108800251, guid: d11274dc7d69d40a0a8bb8d422875e12, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: d11274dc7d69d40a0a8bb8d422875e12, type: 3} ---- !u!1001 &3549832593047276252 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 3549832593247449849, guid: cc811ce490edd4dcb915c7d355d606e6, - type: 3} - propertyPath: m_Name - value: IdenticalTextureName - objectReference: {fileID: 0} - - target: {fileID: 3549832593247449850, guid: cc811ce490edd4dcb915c7d355d606e6, - type: 3} - propertyPath: m_RootOrder - value: 32 - objectReference: {fileID: 0} - - target: {fileID: 3549832593247449850, guid: cc811ce490edd4dcb915c7d355d606e6, - type: 3} - propertyPath: m_LocalPosition.x - value: 32 - objectReference: {fileID: 0} - - target: {fileID: 3549832593247449850, guid: cc811ce490edd4dcb915c7d355d606e6, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3549832593247449850, guid: cc811ce490edd4dcb915c7d355d606e6, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3549832593247449850, guid: cc811ce490edd4dcb915c7d355d606e6, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 3549832593247449850, guid: cc811ce490edd4dcb915c7d355d606e6, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3549832593247449850, guid: cc811ce490edd4dcb915c7d355d606e6, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3549832593247449850, guid: cc811ce490edd4dcb915c7d355d606e6, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3549832593247449850, guid: cc811ce490edd4dcb915c7d355d606e6, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3549832593247449850, guid: cc811ce490edd4dcb915c7d355d606e6, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3549832593247449850, guid: cc811ce490edd4dcb915c7d355d606e6, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: cc811ce490edd4dcb915c7d355d606e6, type: 3} ---- !u!1001 &3599368584504456725 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 3599368584910199412, guid: 985cca58ca8ad48779838472dabe63f6, - type: 3} - propertyPath: m_Name - value: BaseColorSmoothnessMetalTexture - objectReference: {fileID: 0} - - target: {fileID: 3599368584910199415, guid: 985cca58ca8ad48779838472dabe63f6, - type: 3} - propertyPath: m_RootOrder - value: 30 - objectReference: {fileID: 0} - - target: {fileID: 3599368584910199415, guid: 985cca58ca8ad48779838472dabe63f6, - type: 3} - propertyPath: m_LocalPosition.x - value: 30 - objectReference: {fileID: 0} - - target: {fileID: 3599368584910199415, guid: 985cca58ca8ad48779838472dabe63f6, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3599368584910199415, guid: 985cca58ca8ad48779838472dabe63f6, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3599368584910199415, guid: 985cca58ca8ad48779838472dabe63f6, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 3599368584910199415, guid: 985cca58ca8ad48779838472dabe63f6, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3599368584910199415, guid: 985cca58ca8ad48779838472dabe63f6, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3599368584910199415, guid: 985cca58ca8ad48779838472dabe63f6, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3599368584910199415, guid: 985cca58ca8ad48779838472dabe63f6, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3599368584910199415, guid: 985cca58ca8ad48779838472dabe63f6, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3599368584910199415, guid: 985cca58ca8ad48779838472dabe63f6, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 985cca58ca8ad48779838472dabe63f6, type: 3} ---- !u!1001 &4034662270740670424 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 4034662269119736318, guid: afd51858e128e4af6bfaceb2876e6e0d, - type: 3} - propertyPath: m_Name - value: MetallicSmoothnessOcclusionTexture - objectReference: {fileID: 0} - - target: {fileID: 4034662269119736319, guid: afd51858e128e4af6bfaceb2876e6e0d, - type: 3} - propertyPath: m_RootOrder - value: 28 - objectReference: {fileID: 0} - - target: {fileID: 4034662269119736319, guid: afd51858e128e4af6bfaceb2876e6e0d, - type: 3} - propertyPath: m_LocalPosition.x - value: 28 - objectReference: {fileID: 0} - - target: {fileID: 4034662269119736319, guid: afd51858e128e4af6bfaceb2876e6e0d, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4034662269119736319, guid: afd51858e128e4af6bfaceb2876e6e0d, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4034662269119736319, guid: afd51858e128e4af6bfaceb2876e6e0d, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4034662269119736319, guid: afd51858e128e4af6bfaceb2876e6e0d, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4034662269119736319, guid: afd51858e128e4af6bfaceb2876e6e0d, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4034662269119736319, guid: afd51858e128e4af6bfaceb2876e6e0d, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4034662269119736319, guid: afd51858e128e4af6bfaceb2876e6e0d, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4034662269119736319, guid: afd51858e128e4af6bfaceb2876e6e0d, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4034662269119736319, guid: afd51858e128e4af6bfaceb2876e6e0d, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: afd51858e128e4af6bfaceb2876e6e0d, type: 3} ---- !u!1001 &4427462008516890642 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 4427462008483443318, guid: cfb983a48091d4b499bdad45e13ad0be, - type: 3} - propertyPath: m_Name - value: MetallicTexture - objectReference: {fileID: 0} - - target: {fileID: 4427462008483443319, guid: cfb983a48091d4b499bdad45e13ad0be, - type: 3} - propertyPath: m_RootOrder - value: 26 - objectReference: {fileID: 0} - - target: {fileID: 4427462008483443319, guid: cfb983a48091d4b499bdad45e13ad0be, - type: 3} - propertyPath: m_LocalPosition.x - value: 26 - objectReference: {fileID: 0} - - target: {fileID: 4427462008483443319, guid: cfb983a48091d4b499bdad45e13ad0be, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4427462008483443319, guid: cfb983a48091d4b499bdad45e13ad0be, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4427462008483443319, guid: cfb983a48091d4b499bdad45e13ad0be, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4427462008483443319, guid: cfb983a48091d4b499bdad45e13ad0be, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4427462008483443319, guid: cfb983a48091d4b499bdad45e13ad0be, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4427462008483443319, guid: cfb983a48091d4b499bdad45e13ad0be, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4427462008483443319, guid: cfb983a48091d4b499bdad45e13ad0be, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4427462008483443319, guid: cfb983a48091d4b499bdad45e13ad0be, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4427462008483443319, guid: cfb983a48091d4b499bdad45e13ad0be, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: cfb983a48091d4b499bdad45e13ad0be, type: 3} ---- !u!1001 &4706764071897670667 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 4706764071881520257, guid: d91af84dcddcb4d40a7247f2cf63141a, - type: 3} - propertyPath: m_RootOrder - value: 7 - objectReference: {fileID: 0} - - target: {fileID: 4706764071881520257, guid: d91af84dcddcb4d40a7247f2cf63141a, - type: 3} - propertyPath: m_LocalPosition.x - value: 7 - objectReference: {fileID: 0} - - target: {fileID: 4706764071881520257, guid: d91af84dcddcb4d40a7247f2cf63141a, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4706764071881520257, guid: d91af84dcddcb4d40a7247f2cf63141a, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4706764071881520257, guid: d91af84dcddcb4d40a7247f2cf63141a, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4706764071881520257, guid: d91af84dcddcb4d40a7247f2cf63141a, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4706764071881520257, guid: d91af84dcddcb4d40a7247f2cf63141a, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4706764071881520257, guid: d91af84dcddcb4d40a7247f2cf63141a, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4706764071881520257, guid: d91af84dcddcb4d40a7247f2cf63141a, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4706764071881520257, guid: d91af84dcddcb4d40a7247f2cf63141a, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4706764071881520257, guid: d91af84dcddcb4d40a7247f2cf63141a, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4706764071881520258, guid: d91af84dcddcb4d40a7247f2cf63141a, - type: 3} - propertyPath: m_Name - value: Metallic - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: d91af84dcddcb4d40a7247f2cf63141a, type: 3} ---- !u!1001 &4711336672013349496 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 4711336672165233576, guid: 50fab60141c274403b5d9743803dd6e3, - type: 3} - propertyPath: m_Name - value: NoMaterial - objectReference: {fileID: 0} - - target: {fileID: 4711336672165233577, guid: 50fab60141c274403b5d9743803dd6e3, - type: 3} - propertyPath: m_RootOrder - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 4711336672165233577, guid: 50fab60141c274403b5d9743803dd6e3, - type: 3} - propertyPath: m_LocalPosition.x - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 4711336672165233577, guid: 50fab60141c274403b5d9743803dd6e3, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4711336672165233577, guid: 50fab60141c274403b5d9743803dd6e3, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4711336672165233577, guid: 50fab60141c274403b5d9743803dd6e3, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4711336672165233577, guid: 50fab60141c274403b5d9743803dd6e3, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4711336672165233577, guid: 50fab60141c274403b5d9743803dd6e3, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4711336672165233577, guid: 50fab60141c274403b5d9743803dd6e3, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4711336672165233577, guid: 50fab60141c274403b5d9743803dd6e3, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4711336672165233577, guid: 50fab60141c274403b5d9743803dd6e3, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4711336672165233577, guid: 50fab60141c274403b5d9743803dd6e3, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 50fab60141c274403b5d9743803dd6e3, type: 3} ---- !u!1001 &4901542910764462219 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 4901542910963442051, guid: ed59fb738842e4a128ad84414e02748a, - type: 3} - propertyPath: m_RootOrder - value: 12 - objectReference: {fileID: 0} - - target: {fileID: 4901542910963442051, guid: ed59fb738842e4a128ad84414e02748a, - type: 3} - propertyPath: m_LocalPosition.x - value: 12 - objectReference: {fileID: 0} - - target: {fileID: 4901542910963442051, guid: ed59fb738842e4a128ad84414e02748a, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4901542910963442051, guid: ed59fb738842e4a128ad84414e02748a, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4901542910963442051, guid: ed59fb738842e4a128ad84414e02748a, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4901542910963442051, guid: ed59fb738842e4a128ad84414e02748a, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4901542910963442051, guid: ed59fb738842e4a128ad84414e02748a, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4901542910963442051, guid: ed59fb738842e4a128ad84414e02748a, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4901542910963442051, guid: ed59fb738842e4a128ad84414e02748a, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4901542910963442051, guid: ed59fb738842e4a128ad84414e02748a, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4901542910963442051, guid: ed59fb738842e4a128ad84414e02748a, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 4901542910963442060, guid: ed59fb738842e4a128ad84414e02748a, - type: 3} - propertyPath: m_Name - value: BaseColorTextureTransparent - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: ed59fb738842e4a128ad84414e02748a, type: 3} ---- !u!1001 &5498003405735289642 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 5498003405349280032, guid: 2d2cacd3abf864e5b820c2d04d93bac9, - type: 3} - propertyPath: m_RootOrder - value: 3 - objectReference: {fileID: 0} - - target: {fileID: 5498003405349280032, guid: 2d2cacd3abf864e5b820c2d04d93bac9, - type: 3} - propertyPath: m_LocalPosition.x - value: 3 - objectReference: {fileID: 0} - - target: {fileID: 5498003405349280032, guid: 2d2cacd3abf864e5b820c2d04d93bac9, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5498003405349280032, guid: 2d2cacd3abf864e5b820c2d04d93bac9, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5498003405349280032, guid: 2d2cacd3abf864e5b820c2d04d93bac9, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 5498003405349280032, guid: 2d2cacd3abf864e5b820c2d04d93bac9, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5498003405349280032, guid: 2d2cacd3abf864e5b820c2d04d93bac9, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5498003405349280032, guid: 2d2cacd3abf864e5b820c2d04d93bac9, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5498003405349280032, guid: 2d2cacd3abf864e5b820c2d04d93bac9, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5498003405349280032, guid: 2d2cacd3abf864e5b820c2d04d93bac9, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5498003405349280032, guid: 2d2cacd3abf864e5b820c2d04d93bac9, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5498003405349280035, guid: 2d2cacd3abf864e5b820c2d04d93bac9, - type: 3} - propertyPath: m_Name - value: NoMaterial2 - objectReference: {fileID: 0} - - target: {fileID: 6597000867055485301, guid: 2d2cacd3abf864e5b820c2d04d93bac9, - type: 3} - propertyPath: m_Materials.Array.data[1] - value: - objectReference: {fileID: 2100000, guid: af98d753eae734d93a0fe4e9132abe49, type: 2} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 2d2cacd3abf864e5b820c2d04d93bac9, type: 3} ---- !u!1001 &5542063965088215925 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 5542063964532821008, guid: 92719913ce37348078f1849114cef239, - type: 3} - propertyPath: m_Name - value: SmoothnessTexture - objectReference: {fileID: 0} - - target: {fileID: 5542063964532821011, guid: 92719913ce37348078f1849114cef239, - type: 3} - propertyPath: m_RootOrder - value: 25 - objectReference: {fileID: 0} - - target: {fileID: 5542063964532821011, guid: 92719913ce37348078f1849114cef239, - type: 3} - propertyPath: m_LocalPosition.x - value: 25 - objectReference: {fileID: 0} - - target: {fileID: 5542063964532821011, guid: 92719913ce37348078f1849114cef239, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5542063964532821011, guid: 92719913ce37348078f1849114cef239, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5542063964532821011, guid: 92719913ce37348078f1849114cef239, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 5542063964532821011, guid: 92719913ce37348078f1849114cef239, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5542063964532821011, guid: 92719913ce37348078f1849114cef239, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5542063964532821011, guid: 92719913ce37348078f1849114cef239, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5542063964532821011, guid: 92719913ce37348078f1849114cef239, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5542063964532821011, guid: 92719913ce37348078f1849114cef239, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5542063964532821011, guid: 92719913ce37348078f1849114cef239, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 92719913ce37348078f1849114cef239, type: 3} ---- !u!1001 &6039058246445970663 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 6039058246625723649, guid: 24c13edf962bf42d0ad1f71d10864824, - type: 3} - propertyPath: m_RootOrder - value: 8 - objectReference: {fileID: 0} - - target: {fileID: 6039058246625723649, guid: 24c13edf962bf42d0ad1f71d10864824, - type: 3} - propertyPath: m_LocalPosition.x - value: 8 - objectReference: {fileID: 0} - - target: {fileID: 6039058246625723649, guid: 24c13edf962bf42d0ad1f71d10864824, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6039058246625723649, guid: 24c13edf962bf42d0ad1f71d10864824, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6039058246625723649, guid: 24c13edf962bf42d0ad1f71d10864824, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6039058246625723649, guid: 24c13edf962bf42d0ad1f71d10864824, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6039058246625723649, guid: 24c13edf962bf42d0ad1f71d10864824, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6039058246625723649, guid: 24c13edf962bf42d0ad1f71d10864824, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6039058246625723649, guid: 24c13edf962bf42d0ad1f71d10864824, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6039058246625723649, guid: 24c13edf962bf42d0ad1f71d10864824, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6039058246625723649, guid: 24c13edf962bf42d0ad1f71d10864824, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6039058246625723650, guid: 24c13edf962bf42d0ad1f71d10864824, - type: 3} - propertyPath: m_Name - value: Dielectric - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 24c13edf962bf42d0ad1f71d10864824, type: 3} ---- !u!1001 &6325097510408152444 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 6325097510464842400, guid: f64232b9bb68345be9752c43ed0bfecc, - type: 3} - propertyPath: m_Name - value: OcclusionTextureStrength - objectReference: {fileID: 0} - - target: {fileID: 6325097510464842401, guid: f64232b9bb68345be9752c43ed0bfecc, - type: 3} - propertyPath: m_RootOrder - value: 21 - objectReference: {fileID: 0} - - target: {fileID: 6325097510464842401, guid: f64232b9bb68345be9752c43ed0bfecc, - type: 3} - propertyPath: m_LocalPosition.x - value: 21 - objectReference: {fileID: 0} - - target: {fileID: 6325097510464842401, guid: f64232b9bb68345be9752c43ed0bfecc, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6325097510464842401, guid: f64232b9bb68345be9752c43ed0bfecc, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6325097510464842401, guid: f64232b9bb68345be9752c43ed0bfecc, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6325097510464842401, guid: f64232b9bb68345be9752c43ed0bfecc, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6325097510464842401, guid: f64232b9bb68345be9752c43ed0bfecc, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6325097510464842401, guid: f64232b9bb68345be9752c43ed0bfecc, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6325097510464842401, guid: f64232b9bb68345be9752c43ed0bfecc, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6325097510464842401, guid: f64232b9bb68345be9752c43ed0bfecc, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6325097510464842401, guid: f64232b9bb68345be9752c43ed0bfecc, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: f64232b9bb68345be9752c43ed0bfecc, type: 3} ---- !u!1001 &6550277280395338989 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 6550277280262782600, guid: bd9a03713e9544d65b3a51b50b4c5665, - type: 3} - propertyPath: m_RootOrder - value: 5 - objectReference: {fileID: 0} - - target: {fileID: 6550277280262782600, guid: bd9a03713e9544d65b3a51b50b4c5665, - type: 3} - propertyPath: m_LocalPosition.x - value: 5 - objectReference: {fileID: 0} - - target: {fileID: 6550277280262782600, guid: bd9a03713e9544d65b3a51b50b4c5665, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6550277280262782600, guid: bd9a03713e9544d65b3a51b50b4c5665, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6550277280262782600, guid: bd9a03713e9544d65b3a51b50b4c5665, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6550277280262782600, guid: bd9a03713e9544d65b3a51b50b4c5665, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6550277280262782600, guid: bd9a03713e9544d65b3a51b50b4c5665, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6550277280262782600, guid: bd9a03713e9544d65b3a51b50b4c5665, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6550277280262782600, guid: bd9a03713e9544d65b3a51b50b4c5665, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6550277280262782600, guid: bd9a03713e9544d65b3a51b50b4c5665, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6550277280262782600, guid: bd9a03713e9544d65b3a51b50b4c5665, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6550277280262782601, guid: bd9a03713e9544d65b3a51b50b4c5665, - type: 3} - propertyPath: m_Name - value: MeshReuse - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: bd9a03713e9544d65b3a51b50b4c5665, type: 3} ---- !u!1001 &7057153715884366678 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 7057153715754798030, guid: aac4be4be56c04b50897274f9064b8e9, - type: 3} - propertyPath: m_Name - value: BaseColorTextureTransform - objectReference: {fileID: 0} - - target: {fileID: 7057153715754798031, guid: aac4be4be56c04b50897274f9064b8e9, - type: 3} - propertyPath: m_RootOrder - value: 13 - objectReference: {fileID: 0} - - target: {fileID: 7057153715754798031, guid: aac4be4be56c04b50897274f9064b8e9, - type: 3} - propertyPath: m_LocalPosition.x - value: 13 - objectReference: {fileID: 0} - - target: {fileID: 7057153715754798031, guid: aac4be4be56c04b50897274f9064b8e9, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7057153715754798031, guid: aac4be4be56c04b50897274f9064b8e9, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7057153715754798031, guid: aac4be4be56c04b50897274f9064b8e9, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 7057153715754798031, guid: aac4be4be56c04b50897274f9064b8e9, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7057153715754798031, guid: aac4be4be56c04b50897274f9064b8e9, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7057153715754798031, guid: aac4be4be56c04b50897274f9064b8e9, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7057153715754798031, guid: aac4be4be56c04b50897274f9064b8e9, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7057153715754798031, guid: aac4be4be56c04b50897274f9064b8e9, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7057153715754798031, guid: aac4be4be56c04b50897274f9064b8e9, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: aac4be4be56c04b50897274f9064b8e9, type: 3} ---- !u!1001 &7424448054860391435 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 1878571720307375283, guid: 3b8a6a1dcde574f2b9d8709361a260e8, - type: 3} - propertyPath: m_Name - value: Bounds - objectReference: {fileID: 0} - - target: {fileID: 6384872455483799981, guid: 3b8a6a1dcde574f2b9d8709361a260e8, - type: 3} - propertyPath: m_RootOrder - value: 6 - objectReference: {fileID: 0} - - target: {fileID: 6384872455483799981, guid: 3b8a6a1dcde574f2b9d8709361a260e8, - type: 3} - propertyPath: m_LocalPosition.x - value: 6 - objectReference: {fileID: 0} - - target: {fileID: 6384872455483799981, guid: 3b8a6a1dcde574f2b9d8709361a260e8, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6384872455483799981, guid: 3b8a6a1dcde574f2b9d8709361a260e8, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6384872455483799981, guid: 3b8a6a1dcde574f2b9d8709361a260e8, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 6384872455483799981, guid: 3b8a6a1dcde574f2b9d8709361a260e8, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 6384872455483799981, guid: 3b8a6a1dcde574f2b9d8709361a260e8, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 6384872455483799981, guid: 3b8a6a1dcde574f2b9d8709361a260e8, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 6384872455483799981, guid: 3b8a6a1dcde574f2b9d8709361a260e8, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6384872455483799981, guid: 3b8a6a1dcde574f2b9d8709361a260e8, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 6384872455483799981, guid: 3b8a6a1dcde574f2b9d8709361a260e8, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 3b8a6a1dcde574f2b9d8709361a260e8, type: 3} ---- !u!1001 &7539730617459811740 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 7539730617632344402, guid: 0f1ddaf82c5594f18a30f08a74141629, - type: 3} - propertyPath: m_Name - value: Unlit - objectReference: {fileID: 0} - - target: {fileID: 7539730617632344403, guid: 0f1ddaf82c5594f18a30f08a74141629, - type: 3} - propertyPath: m_RootOrder - value: 15 - objectReference: {fileID: 0} - - target: {fileID: 7539730617632344403, guid: 0f1ddaf82c5594f18a30f08a74141629, - type: 3} - propertyPath: m_LocalPosition.x - value: 15 - objectReference: {fileID: 0} - - target: {fileID: 7539730617632344403, guid: 0f1ddaf82c5594f18a30f08a74141629, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7539730617632344403, guid: 0f1ddaf82c5594f18a30f08a74141629, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7539730617632344403, guid: 0f1ddaf82c5594f18a30f08a74141629, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 7539730617632344403, guid: 0f1ddaf82c5594f18a30f08a74141629, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7539730617632344403, guid: 0f1ddaf82c5594f18a30f08a74141629, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7539730617632344403, guid: 0f1ddaf82c5594f18a30f08a74141629, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7539730617632344403, guid: 0f1ddaf82c5594f18a30f08a74141629, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7539730617632344403, guid: 0f1ddaf82c5594f18a30f08a74141629, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7539730617632344403, guid: 0f1ddaf82c5594f18a30f08a74141629, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 0f1ddaf82c5594f18a30f08a74141629, type: 3} ---- !u!1001 &7843275890501873237 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 7843275890532157482, guid: 26824e03f48cf4efc941995413e8cf94, - type: 3} - propertyPath: m_RootOrder - value: 9 - objectReference: {fileID: 0} - - target: {fileID: 7843275890532157482, guid: 26824e03f48cf4efc941995413e8cf94, - type: 3} - propertyPath: m_LocalPosition.x - value: 9 - objectReference: {fileID: 0} - - target: {fileID: 7843275890532157482, guid: 26824e03f48cf4efc941995413e8cf94, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7843275890532157482, guid: 26824e03f48cf4efc941995413e8cf94, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7843275890532157482, guid: 26824e03f48cf4efc941995413e8cf94, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 7843275890532157482, guid: 26824e03f48cf4efc941995413e8cf94, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7843275890532157482, guid: 26824e03f48cf4efc941995413e8cf94, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7843275890532157482, guid: 26824e03f48cf4efc941995413e8cf94, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7843275890532157482, guid: 26824e03f48cf4efc941995413e8cf94, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7843275890532157482, guid: 26824e03f48cf4efc941995413e8cf94, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7843275890532157482, guid: 26824e03f48cf4efc941995413e8cf94, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7843275890532157483, guid: 26824e03f48cf4efc941995413e8cf94, - type: 3} - propertyPath: m_Name - value: BaseColorTexture - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 26824e03f48cf4efc941995413e8cf94, type: 3} ---- !u!1001 &7952931430597981074 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 7952931429172956884, guid: 1028f372405af49649f2f65cfc84354b, - type: 3} - propertyPath: m_Name - value: WrapModeV - objectReference: {fileID: 0} - - target: {fileID: 7952931429172956885, guid: 1028f372405af49649f2f65cfc84354b, - type: 3} - propertyPath: m_RootOrder - value: 34 - objectReference: {fileID: 0} - - target: {fileID: 7952931429172956885, guid: 1028f372405af49649f2f65cfc84354b, - type: 3} - propertyPath: m_LocalPosition.x - value: 34 - objectReference: {fileID: 0} - - target: {fileID: 7952931429172956885, guid: 1028f372405af49649f2f65cfc84354b, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7952931429172956885, guid: 1028f372405af49649f2f65cfc84354b, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7952931429172956885, guid: 1028f372405af49649f2f65cfc84354b, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 7952931429172956885, guid: 1028f372405af49649f2f65cfc84354b, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7952931429172956885, guid: 1028f372405af49649f2f65cfc84354b, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7952931429172956885, guid: 1028f372405af49649f2f65cfc84354b, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7952931429172956885, guid: 1028f372405af49649f2f65cfc84354b, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7952931429172956885, guid: 1028f372405af49649f2f65cfc84354b, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 7952931429172956885, guid: 1028f372405af49649f2f65cfc84354b, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 1028f372405af49649f2f65cfc84354b, type: 3} ---- !u!1001 &8223214279538553564 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 8223214281202448712, guid: 07695d396174743ccb430abb15b9092b, - type: 3} - propertyPath: m_Name - value: NormalTexture - objectReference: {fileID: 0} - - target: {fileID: 8223214281202448713, guid: 07695d396174743ccb430abb15b9092b, - type: 3} - propertyPath: m_RootOrder - value: 14 - objectReference: {fileID: 0} - - target: {fileID: 8223214281202448713, guid: 07695d396174743ccb430abb15b9092b, - type: 3} - propertyPath: m_LocalPosition.x - value: 14 - objectReference: {fileID: 0} - - target: {fileID: 8223214281202448713, guid: 07695d396174743ccb430abb15b9092b, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8223214281202448713, guid: 07695d396174743ccb430abb15b9092b, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8223214281202448713, guid: 07695d396174743ccb430abb15b9092b, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8223214281202448713, guid: 07695d396174743ccb430abb15b9092b, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8223214281202448713, guid: 07695d396174743ccb430abb15b9092b, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8223214281202448713, guid: 07695d396174743ccb430abb15b9092b, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8223214281202448713, guid: 07695d396174743ccb430abb15b9092b, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8223214281202448713, guid: 07695d396174743ccb430abb15b9092b, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8223214281202448713, guid: 07695d396174743ccb430abb15b9092b, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 07695d396174743ccb430abb15b9092b, type: 3} ---- !u!1001 &8245904734173398405 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 8245904734771390780, guid: 1c29e60d0685d4dfea6319359d11a0b1, - type: 3} - propertyPath: m_Name - value: BaseColorSmoothnessMetalOcclusionTexture - objectReference: {fileID: 0} - - target: {fileID: 8245904734771390783, guid: 1c29e60d0685d4dfea6319359d11a0b1, - type: 3} - propertyPath: m_RootOrder - value: 31 - objectReference: {fileID: 0} - - target: {fileID: 8245904734771390783, guid: 1c29e60d0685d4dfea6319359d11a0b1, - type: 3} - propertyPath: m_LocalPosition.x - value: 31 - objectReference: {fileID: 0} - - target: {fileID: 8245904734771390783, guid: 1c29e60d0685d4dfea6319359d11a0b1, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8245904734771390783, guid: 1c29e60d0685d4dfea6319359d11a0b1, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8245904734771390783, guid: 1c29e60d0685d4dfea6319359d11a0b1, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8245904734771390783, guid: 1c29e60d0685d4dfea6319359d11a0b1, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8245904734771390783, guid: 1c29e60d0685d4dfea6319359d11a0b1, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8245904734771390783, guid: 1c29e60d0685d4dfea6319359d11a0b1, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8245904734771390783, guid: 1c29e60d0685d4dfea6319359d11a0b1, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8245904734771390783, guid: 1c29e60d0685d4dfea6319359d11a0b1, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8245904734771390783, guid: 1c29e60d0685d4dfea6319359d11a0b1, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 1c29e60d0685d4dfea6319359d11a0b1, type: 3} ---- !u!1001 &8658038003212679553 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 8658038003402654540, guid: 4773f44f5a0654d6bbd5638e82956a00, - type: 3} - propertyPath: m_Name - value: WrapModeU - objectReference: {fileID: 0} - - target: {fileID: 8658038003402654543, guid: 4773f44f5a0654d6bbd5638e82956a00, - type: 3} - propertyPath: m_RootOrder - value: 33 - objectReference: {fileID: 0} - - target: {fileID: 8658038003402654543, guid: 4773f44f5a0654d6bbd5638e82956a00, - type: 3} - propertyPath: m_LocalPosition.x - value: 33 - objectReference: {fileID: 0} - - target: {fileID: 8658038003402654543, guid: 4773f44f5a0654d6bbd5638e82956a00, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8658038003402654543, guid: 4773f44f5a0654d6bbd5638e82956a00, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8658038003402654543, guid: 4773f44f5a0654d6bbd5638e82956a00, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8658038003402654543, guid: 4773f44f5a0654d6bbd5638e82956a00, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8658038003402654543, guid: 4773f44f5a0654d6bbd5638e82956a00, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8658038003402654543, guid: 4773f44f5a0654d6bbd5638e82956a00, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8658038003402654543, guid: 4773f44f5a0654d6bbd5638e82956a00, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8658038003402654543, guid: 4773f44f5a0654d6bbd5638e82956a00, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8658038003402654543, guid: 4773f44f5a0654d6bbd5638e82956a00, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 4773f44f5a0654d6bbd5638e82956a00, type: 3} ---- !u!1001 &8708582436582535587 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 8708582437401951304, guid: 3a86ae160413e409fb65364feebaf093, - type: 3} - propertyPath: m_RootOrder - value: 11 - objectReference: {fileID: 0} - - target: {fileID: 8708582437401951304, guid: 3a86ae160413e409fb65364feebaf093, - type: 3} - propertyPath: m_LocalPosition.x - value: 11 - objectReference: {fileID: 0} - - target: {fileID: 8708582437401951304, guid: 3a86ae160413e409fb65364feebaf093, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8708582437401951304, guid: 3a86ae160413e409fb65364feebaf093, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8708582437401951304, guid: 3a86ae160413e409fb65364feebaf093, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8708582437401951304, guid: 3a86ae160413e409fb65364feebaf093, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8708582437401951304, guid: 3a86ae160413e409fb65364feebaf093, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8708582437401951304, guid: 3a86ae160413e409fb65364feebaf093, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8708582437401951304, guid: 3a86ae160413e409fb65364feebaf093, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8708582437401951304, guid: 3a86ae160413e409fb65364feebaf093, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8708582437401951304, guid: 3a86ae160413e409fb65364feebaf093, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8708582437401951305, guid: 3a86ae160413e409fb65364feebaf093, - type: 3} - propertyPath: m_Name - value: BaseColorTextureFade - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: 3a86ae160413e409fb65364feebaf093, type: 3} ---- !u!1001 &8752636197654970903 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 8752636198445173441, guid: c2c9cd0016016402fbf39d1705884133, - type: 3} - propertyPath: m_RootOrder - value: 20 - objectReference: {fileID: 0} - - target: {fileID: 8752636198445173441, guid: c2c9cd0016016402fbf39d1705884133, - type: 3} - propertyPath: m_LocalPosition.x - value: 20 - objectReference: {fileID: 0} - - target: {fileID: 8752636198445173441, guid: c2c9cd0016016402fbf39d1705884133, - type: 3} - propertyPath: m_LocalPosition.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8752636198445173441, guid: c2c9cd0016016402fbf39d1705884133, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8752636198445173441, guid: c2c9cd0016016402fbf39d1705884133, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8752636198445173441, guid: c2c9cd0016016402fbf39d1705884133, - type: 3} - propertyPath: m_LocalRotation.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8752636198445173441, guid: c2c9cd0016016402fbf39d1705884133, - type: 3} - propertyPath: m_LocalRotation.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8752636198445173441, guid: c2c9cd0016016402fbf39d1705884133, - type: 3} - propertyPath: m_LocalRotation.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8752636198445173441, guid: c2c9cd0016016402fbf39d1705884133, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8752636198445173441, guid: c2c9cd0016016402fbf39d1705884133, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8752636198445173441, guid: c2c9cd0016016402fbf39d1705884133, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8752636198445173442, guid: c2c9cd0016016402fbf39d1705884133, - type: 3} - propertyPath: m_Name - value: OcclusionTexture - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: c2c9cd0016016402fbf39d1705884133, type: 3} diff --git a/Tests/Runtime/Export/Scenes/ExportSceneUniversal.unity.meta b/Tests/Runtime/Export/Scenes/ExportSceneUniversal.unity.meta deleted file mode 100644 index e12c5f94e..000000000 --- a/Tests/Runtime/Export/Scenes/ExportSceneUniversal.unity.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 31d4d2e9e8f954bf3ae5ef1da09edb82 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Export/Scenes/ExportSkin.unity b/Tests/Runtime/Export/Scenes/ExportSkin.unity deleted file mode 100644 index 814fadc16..000000000 --- a/Tests/Runtime/Export/Scenes/ExportSkin.unity +++ /dev/null @@ -1,596 +0,0 @@ -%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.3731193, g: 0.38073996, b: 0.35872698, 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 &449987770 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 449987771} - m_Layer: 0 - m_Name: Node-1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &449987771 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 449987770} - 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: 1397829614} - m_Father: {fileID: 1231589054} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1231589052 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1231589054} - - component: {fileID: 1231589053} - m_Layer: 0 - m_Name: SimpleSkin2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!111 &1231589053 -Animation: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1231589052} - m_Enabled: 1 - serializedVersion: 3 - m_Animation: {fileID: 7400000, guid: 30e8156cd3a2045bcba82b14e7ca0961, type: 2} - m_Animations: - - {fileID: 7400000, guid: 30e8156cd3a2045bcba82b14e7ca0961, type: 2} - m_WrapMode: 0 - m_PlayAutomatically: 0 - m_AnimatePhysics: 0 - m_CullingType: 0 ---- !u!4 &1231589054 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1231589052} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 1.5, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1252619967} - - {fileID: 449987771} - m_Father: {fileID: 0} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1252619966 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1252619967} - - component: {fileID: 1252619968} - m_Layer: 0 - m_Name: Node-0 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1252619967 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1252619966} - 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: 1231589054} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!137 &1252619968 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1252619966} - 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: 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 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 1 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 4300000, guid: d01c6a251a6a34acabcc9b87446abf46, type: 2} - m_Bones: - - {fileID: 449987771} - - {fileID: 1397829614} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 449987771} - m_AABB: - m_Center: {x: 0, y: 0, z: 0} - m_Extent: {x: 0, y: 0, z: 0} - m_DirtyAABB: 1 ---- !u!1 &1397829613 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1397829614} - m_Layer: 0 - m_Name: Node-2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1397829614 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1397829613} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 1, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 449987771} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &2072643656 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2072643659} - - component: {fileID: 2072643658} - - component: {fileID: 2072643657} - m_Layer: 0 - m_Name: Static - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!23 &2072643657 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2072643656} - 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: 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!33 &2072643658 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2072643656} - m_Mesh: {fileID: 4300000, guid: d01c6a251a6a34acabcc9b87446abf46, type: 2} ---- !u!4 &2072643659 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2072643656} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -1.5, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &501790146402810073 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 2406278215318778076} - m_Layer: 0 - m_Name: Node-2 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!1 &2107409825784389198 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 5253128422118991608} - - component: {fileID: 7960101358867479720} - m_Layer: 0 - m_Name: SimpleSkin - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &2406278215318778076 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 501790146402810073} - m_LocalRotation: {x: 0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: -0, y: 1, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 7325758507313247805} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &3482177121235486728 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7325758507313247805} - m_Layer: 0 - m_Name: Node-1 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!137 &4878862080855546027 -SkinnedMeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5983801299650413423} - 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: 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 - serializedVersion: 2 - m_Quality: 0 - m_UpdateWhenOffscreen: 1 - m_SkinnedMotionVectors: 1 - m_Mesh: {fileID: 4300000, guid: d01c6a251a6a34acabcc9b87446abf46, type: 2} - m_Bones: - - {fileID: 7325758507313247805} - - {fileID: 2406278215318778076} - m_BlendShapeWeights: [] - m_RootBone: {fileID: 7325758507313247805} - m_AABB: - m_Center: {x: 0, y: 0, z: 0} - m_Extent: {x: 0, y: 0, z: 0} - m_DirtyAABB: 1 ---- !u!4 &5253128422118991608 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2107409825784389198} - 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: 8781329141790507718} - - {fileID: 7325758507313247805} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &5983801299650413423 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8781329141790507718} - - component: {fileID: 4878862080855546027} - m_Layer: 0 - m_Name: Node-0 - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7325758507313247805 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 3482177121235486728} - 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: 2406278215318778076} - m_Father: {fileID: 5253128422118991608} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!111 &7960101358867479720 -Animation: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 2107409825784389198} - m_Enabled: 1 - serializedVersion: 3 - m_Animation: {fileID: 7400000, guid: 30e8156cd3a2045bcba82b14e7ca0961, type: 2} - m_Animations: - - {fileID: 7400000, guid: 30e8156cd3a2045bcba82b14e7ca0961, type: 2} - m_WrapMode: 0 - m_PlayAutomatically: 0 - m_AnimatePhysics: 0 - m_CullingType: 0 ---- !u!4 &8781329141790507718 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 5983801299650413423} - 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: 5253128422118991608} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Tests/Runtime/Export/Scenes/ExportSkin.unity.meta b/Tests/Runtime/Export/Scenes/ExportSkin.unity.meta deleted file mode 100644 index 03656181f..000000000 --- a/Tests/Runtime/Export/Scenes/ExportSkin.unity.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 31eac5d5a01524e08af72319b729d77c -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/RenderPipelineAssets.meta b/Tests/Runtime/RenderPipelineAssets.meta deleted file mode 100644 index e48d1a809..000000000 --- a/Tests/Runtime/RenderPipelineAssets.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: c70afc6fc28374eaa80d7b0ddc984340 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/RenderPipelineAssets/HDRP-Deferred.asset b/Tests/Runtime/RenderPipelineAssets/HDRP-Deferred.asset deleted file mode 100644 index e91fdc5d9..000000000 --- a/Tests/Runtime/RenderPipelineAssets/HDRP-Deferred.asset +++ /dev/null @@ -1,491 +0,0 @@ -%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: 0cf1dab834d4ec34195b920ea7bbf9ec, type: 3} - m_Name: HDRP-Deferred - m_EditorClassIdentifier: - m_RenderPipelineSettings: - supportShadowMask: 1 - supportSSR: 0 - supportSSRTransparent: 0 - supportSSAO: 1 - supportSSGI: 0 - supportSubsurfaceScattering: 1 - sssSampleBudget: - m_Values: 140000002800000050000000 - m_SchemaId: - m_Id: With3Levels - supportVolumetrics: 1 - supportVolumetricClouds: 0 - supportLightLayers: 0 - supportWater: 0 - waterSimulationResolution: 128 - waterCPUSimulation: 0 - supportDistortion: 1 - supportTransparentBackface: 1 - supportTransparentDepthPrepass: 1 - supportTransparentDepthPostpass: 1 - colorBufferFormat: 74 - supportCustomPass: 1 - customBufferFormat: 12 - supportedLitShaderMode: 2 - planarReflectionResolution: - m_Values: 000100000004000000080000 - m_SchemaId: - m_Id: With3Levels - cubeReflectionResolution: - m_Values: 000100000002000000040000 - m_SchemaId: - m_Id: With3Levels - supportDecals: 1 - supportDecalLayers: 0 - supportSurfaceGradient: 1 - decalNormalBufferHP: 0 - msaaSampleCount: 1 - supportMotionVectors: 1 - supportRuntimeAOVAPI: 0 - supportDitheringCrossFade: 1 - supportTerrainHole: 0 - lightProbeSystem: 0 - probeVolumeMemoryBudget: 1024 - probeVolumeBlendingMemoryBudget: 128 - supportProbeVolumeStreaming: 0 - probeVolumeSHBands: 1 - supportRayTracing: 0 - supportedRayTracingMode: 3 - lightLoopSettings: - cookieAtlasSize: 2048 - cookieFormat: 74 - cookieAtlasLastValidMip: 0 - cookieTexArraySize: 1 - planarReflectionAtlasSize: 1024 - reflectionProbeCacheSize: 64 - reflectionCubemapSize: 256 - maxEnvLightsOnScreen: 64 - reflectionCacheCompressed: 0 - reflectionProbeFormat: 74 - reflectionProbeTexCacheSize: 1073750016 - reflectionProbeTexLastValidCubeMip: 3 - reflectionProbeTexLastValidPlanarMip: 0 - reflectionProbeDecreaseResToFit: 1 - skyReflectionSize: 256 - skyLightingOverrideLayerMask: - serializedVersion: 2 - m_Bits: 0 - supportFabricConvolution: 0 - maxDirectionalLightsOnScreen: 16 - maxPunctualLightsOnScreen: 512 - maxAreaLightsOnScreen: 64 - maxCubeReflectionOnScreen: 48 - maxPlanarReflectionOnScreen: 16 - maxDecalsOnScreen: 512 - maxLightsPerClusterCell: 8 - maxLocalVolumetricFogSize: 32 - maxLocalVolumetricFogOnScreen: 64 - hdShadowInitParams: - maxShadowRequests: 128 - directionalShadowsDepthBits: 32 - shadowFilteringQuality: 1 - areaShadowFilteringQuality: 0 - punctualLightShadowAtlas: - shadowAtlasResolution: 4096 - shadowAtlasDepthBits: 32 - useDynamicViewportRescale: 1 - areaLightShadowAtlas: - shadowAtlasResolution: 4096 - shadowAtlasDepthBits: 32 - useDynamicViewportRescale: 1 - cachedPunctualLightShadowAtlas: 2048 - cachedAreaLightShadowAtlas: 1024 - allowDirectionalMixedCachedShadows: 0 - shadowResolutionDirectional: - m_Values: 00010000000200000004000000080000 - m_SchemaId: - m_Id: With4Levels - shadowResolutionPunctual: - m_Values: 00010000000200000004000000080000 - m_SchemaId: - m_Id: With4Levels - shadowResolutionArea: - m_Values: 00010000000200000004000000080000 - m_SchemaId: - m_Id: With4Levels - maxDirectionalShadowMapResolution: 2048 - maxPunctualShadowMapResolution: 2048 - maxAreaShadowMapResolution: 2048 - supportScreenSpaceShadows: 0 - maxScreenSpaceShadowSlots: 4 - screenSpaceShadowBufferFormat: 48 - decalSettings: - drawDistance: 1000 - atlasWidth: 4096 - atlasHeight: 4096 - perChannelMask: 0 - postProcessSettings: - m_LutSize: 32 - lutFormat: 48 - bufferFormat: 74 - dynamicResolutionSettings: - enabled: 0 - useMipBias: 0 - enableDLSS: 0 - DLSSPerfQualitySetting: 0 - DLSSInjectionPoint: 0 - DLSSUseOptimalSettings: 1 - DLSSSharpness: 0.5 - fsrOverrideSharpness: 0 - fsrSharpness: 0.92 - maxPercentage: 100 - minPercentage: 100 - dynResType: 1 - upsampleFilter: 1 - forceResolution: 0 - forcedPercentage: 100 - lowResTransparencyMinimumThreshold: 0 - rayTracingHalfResThreshold: 50 - lowresTransparentSettings: - enabled: 1 - checkerboardDepthBuffer: 1 - upsampleType: 1 - xrSettings: - singlePass: 1 - occlusionMesh: 1 - cameraJitter: 0 - allowMotionBlur: 0 - postProcessQualitySettings: - NearBlurSampleCount: 030000000500000008000000 - NearBlurMaxRadius: - - 2 - - 4 - - 7 - FarBlurSampleCount: 04000000070000000e000000 - FarBlurMaxRadius: - - 5 - - 8 - - 13 - DoFResolution: 040000000200000001000000 - DoFHighQualityFiltering: 000101 - DoFPhysicallyBased: 000000 - LimitManualRangeNearBlur: 000000 - MotionBlurSampleCount: 04000000080000000c000000 - BloomRes: 040000000200000002000000 - BloomHighQualityFiltering: 000101 - BloomHighQualityPrefiltering: 000001 - ChromaticAberrationMaxSamples: 03000000060000000c000000 - lightSettings: - useContactShadow: - m_Values: 000001 - m_SchemaId: - m_Id: With3Levels - maximumLODLevel: - m_Values: 000000000000000000000000 - m_SchemaId: - m_Id: With3Levels - lodBias: - m_Values: - - 1 - - 1 - - 1 - m_SchemaId: - m_Id: With3Levels - lightingQualitySettings: - AOStepCount: 040000000600000010000000 - AOFullRes: 000001 - AOMaximumRadiusPixels: 200000002800000050000000 - AOBilateralUpsample: 000101 - AODirectionCount: 010000000200000004000000 - ContactShadowSampleCount: 060000000a00000010000000 - SSRMaxRaySteps: 100000002000000040000000 - SSGIRaySteps: 200000004000000080000000 - SSGIDenoise: 010101 - SSGIHalfResDenoise: 010000 - SSGIDenoiserRadius: - - 0.75 - - 0.5 - - 0.5 - SSGISecondDenoise: 010101 - RTAORayLength: - - 0.5 - - 3 - - 20 - RTAOSampleCount: 010000000200000008000000 - RTAODenoise: 010101 - RTAODenoiserRadius: - - 0.25 - - 0.5 - - 0.65 - RTGIRayLength: - - 50 - - 50 - - 50 - RTGIFullResolution: 000001 - RTGIClampValue: - - 0.5 - - 0.8 - - 1.5 - RTGIRaySteps: 200000003000000040000000 - RTGIDenoise: 010101 - RTGIHalfResDenoise: 010000 - RTGIDenoiserRadius: - - 0.75 - - 0.5 - - 0.25 - RTGISecondDenoise: 010101 - RTRMinSmoothness: - - 0.6 - - 0.4 - - 0 - RTRSmoothnessFadeStart: - - 0.7 - - 0.5 - - 0 - RTRRayLength: - - 50 - - 50 - - 50 - RTRClampValue: - - 0.8 - - 1 - - 1.2 - RTRFullResolution: 000001 - RTRRayMaxIterations: 200000003000000040000000 - RTRDenoise: 010101 - RTRDenoiserRadius: 080000000c00000010000000 - RTRSmoothDenoising: 010000 - Fog_ControlMode: 000000000000000000000000 - Fog_Budget: - - 0.166 - - 0.33 - - 0.666 - Fog_DepthRatio: - - 0.666 - - 0.666 - - 0.5 - m_ObsoleteLightLayerName0: - m_ObsoleteLightLayerName1: - m_ObsoleteLightLayerName2: - m_ObsoleteLightLayerName3: - m_ObsoleteLightLayerName4: - m_ObsoleteLightLayerName5: - m_ObsoleteLightLayerName6: - m_ObsoleteLightLayerName7: - m_ObsoleteDecalLayerName0: - m_ObsoleteDecalLayerName1: - m_ObsoleteDecalLayerName2: - m_ObsoleteDecalLayerName3: - m_ObsoleteDecalLayerName4: - m_ObsoleteDecalLayerName5: - m_ObsoleteDecalLayerName6: - m_ObsoleteDecalLayerName7: - m_ObsoleteSupportRuntimeDebugDisplay: 0 - allowShaderVariantStripping: 1 - enableSRPBatcher: 1 - availableMaterialQualityLevels: -1 - m_DefaultMaterialQualityLevel: 4 - diffusionProfileSettings: {fileID: 0} - virtualTexturingSettings: - streamingCpuCacheSizeInMegaBytes: 256 - streamingGpuCacheSettings: - - format: 0 - sizeInMegaBytes: 128 - m_UseRenderGraph: 1 - m_Version: 22 - m_ObsoleteFrameSettings: - overrides: 0 - enableShadow: 0 - enableContactShadows: 0 - enableShadowMask: 0 - enableSSR: 0 - enableSSAO: 0 - enableSubsurfaceScattering: 0 - enableTransmission: 0 - enableAtmosphericScattering: 0 - enableVolumetrics: 0 - enableReprojectionForVolumetrics: 0 - enableLightLayers: 0 - enableExposureControl: 1 - diffuseGlobalDimmer: 0 - specularGlobalDimmer: 0 - shaderLitMode: 0 - enableDepthPrepassWithDeferredRendering: 0 - enableTransparentPrepass: 0 - enableMotionVectors: 0 - enableObjectMotionVectors: 0 - enableDecals: 0 - enableRoughRefraction: 0 - enableTransparentPostpass: 0 - enableDistortion: 0 - enablePostprocess: 0 - enableOpaqueObjects: 0 - enableTransparentObjects: 0 - enableRealtimePlanarReflection: 0 - enableMSAA: 0 - enableAsyncCompute: 0 - runLightListAsync: 0 - runSSRAsync: 0 - runSSAOAsync: 0 - runContactShadowsAsync: 0 - runVolumeVoxelizationAsync: 0 - lightLoopSettings: - overrides: 0 - enableDeferredTileAndCluster: 0 - enableComputeLightEvaluation: 0 - enableComputeLightVariants: 0 - enableComputeMaterialVariants: 0 - enableFptlForForwardOpaque: 0 - enableBigTilePrepass: 0 - isFptlEnabled: 0 - m_ObsoleteBakedOrCustomReflectionFrameSettings: - overrides: 0 - enableShadow: 0 - enableContactShadows: 0 - enableShadowMask: 0 - enableSSR: 0 - enableSSAO: 0 - enableSubsurfaceScattering: 0 - enableTransmission: 0 - enableAtmosphericScattering: 0 - enableVolumetrics: 0 - enableReprojectionForVolumetrics: 0 - enableLightLayers: 0 - enableExposureControl: 1 - diffuseGlobalDimmer: 0 - specularGlobalDimmer: 0 - shaderLitMode: 0 - enableDepthPrepassWithDeferredRendering: 0 - enableTransparentPrepass: 0 - enableMotionVectors: 0 - enableObjectMotionVectors: 0 - enableDecals: 0 - enableRoughRefraction: 0 - enableTransparentPostpass: 0 - enableDistortion: 0 - enablePostprocess: 0 - enableOpaqueObjects: 0 - enableTransparentObjects: 0 - enableRealtimePlanarReflection: 0 - enableMSAA: 0 - enableAsyncCompute: 0 - runLightListAsync: 0 - runSSRAsync: 0 - runSSAOAsync: 0 - runContactShadowsAsync: 0 - runVolumeVoxelizationAsync: 0 - lightLoopSettings: - overrides: 0 - enableDeferredTileAndCluster: 0 - enableComputeLightEvaluation: 0 - enableComputeLightVariants: 0 - enableComputeMaterialVariants: 0 - enableFptlForForwardOpaque: 0 - enableBigTilePrepass: 0 - isFptlEnabled: 0 - m_ObsoleteRealtimeReflectionFrameSettings: - overrides: 0 - enableShadow: 0 - enableContactShadows: 0 - enableShadowMask: 0 - enableSSR: 0 - enableSSAO: 0 - enableSubsurfaceScattering: 0 - enableTransmission: 0 - enableAtmosphericScattering: 0 - enableVolumetrics: 0 - enableReprojectionForVolumetrics: 0 - enableLightLayers: 0 - enableExposureControl: 1 - diffuseGlobalDimmer: 0 - specularGlobalDimmer: 0 - shaderLitMode: 0 - enableDepthPrepassWithDeferredRendering: 0 - enableTransparentPrepass: 0 - enableMotionVectors: 0 - enableObjectMotionVectors: 0 - enableDecals: 0 - enableRoughRefraction: 0 - enableTransparentPostpass: 0 - enableDistortion: 0 - enablePostprocess: 0 - enableOpaqueObjects: 0 - enableTransparentObjects: 0 - enableRealtimePlanarReflection: 0 - enableMSAA: 0 - enableAsyncCompute: 0 - runLightListAsync: 0 - runSSRAsync: 0 - runSSAOAsync: 0 - runContactShadowsAsync: 0 - runVolumeVoxelizationAsync: 0 - lightLoopSettings: - overrides: 0 - enableDeferredTileAndCluster: 0 - enableComputeLightEvaluation: 0 - enableComputeLightVariants: 0 - enableComputeMaterialVariants: 0 - enableFptlForForwardOpaque: 0 - enableBigTilePrepass: 0 - isFptlEnabled: 0 - m_ObsoleteDefaultVolumeProfile: {fileID: 0} - m_ObsoleteDefaultLookDevProfile: {fileID: 0} - m_ObsoleteFrameSettingsMovedToDefaultSettings: - bitDatas: - data1: 0 - data2: 0 - lodBias: 0 - lodBiasMode: 0 - lodBiasQualityLevel: 0 - maximumLODLevel: 0 - maximumLODLevelMode: 0 - maximumLODLevelQualityLevel: 0 - sssQualityMode: 0 - sssQualityLevel: 0 - sssCustomSampleBudget: 0 - msaaMode: 0 - materialQuality: 0 - m_ObsoleteBakedOrCustomReflectionFrameSettingsMovedToDefaultSettings: - bitDatas: - data1: 0 - data2: 0 - lodBias: 0 - lodBiasMode: 0 - lodBiasQualityLevel: 0 - maximumLODLevel: 0 - maximumLODLevelMode: 0 - maximumLODLevelQualityLevel: 0 - sssQualityMode: 0 - sssQualityLevel: 0 - sssCustomSampleBudget: 0 - msaaMode: 0 - materialQuality: 0 - m_ObsoleteRealtimeReflectionFrameSettingsMovedToDefaultSettings: - bitDatas: - data1: 0 - data2: 0 - lodBias: 0 - lodBiasMode: 0 - lodBiasQualityLevel: 0 - maximumLODLevel: 0 - maximumLODLevelMode: 0 - maximumLODLevelQualityLevel: 0 - sssQualityMode: 0 - sssQualityLevel: 0 - sssCustomSampleBudget: 0 - msaaMode: 0 - materialQuality: 0 - m_ObsoleteRenderPipelineResources: {fileID: 0} - m_ObsoleteRenderPipelineRayTracingResources: {fileID: 0} - m_ObsoleteBeforeTransparentCustomPostProcesses: [] - m_ObsoleteBeforePostProcessCustomPostProcesses: [] - m_ObsoleteAfterPostProcessCustomPostProcesses: [] - m_ObsoleteBeforeTAACustomPostProcesses: [] - m_ObsoleteShaderVariantLogLevel: 0 - m_ObsoleteLensAttenuation: 0 - m_ObsoleteDiffusionProfileSettingsList: [] diff --git a/Tests/Runtime/RenderPipelineAssets/HDRP-Deferred.asset.meta b/Tests/Runtime/RenderPipelineAssets/HDRP-Deferred.asset.meta deleted file mode 100644 index 3bb657339..000000000 --- a/Tests/Runtime/RenderPipelineAssets/HDRP-Deferred.asset.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 7bc73b3bd18dc416eb918627099f0407 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 11400000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/RenderPipelineAssets/URP-Forward.asset b/Tests/Runtime/RenderPipelineAssets/URP-Forward.asset deleted file mode 100644 index 3a3bc1b58..000000000 --- a/Tests/Runtime/RenderPipelineAssets/URP-Forward.asset +++ /dev/null @@ -1,59 +0,0 @@ -%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: bf2edee5c58d82540a51f03df9d42094, type: 3} - m_Name: URP-Forward - m_EditorClassIdentifier: - k_AssetVersion: 12 - k_AssetPreviousVersion: 12 - m_RendererType: 1 - m_RendererData: {fileID: 0} - m_RendererDataList: - - {fileID: 11400000, guid: 51269a86215e84a488638eeb76979978, type: 2} - m_DefaultRendererIndex: 0 - m_RequireDepthTexture: 0 - m_RequireOpaqueTexture: 1 - m_OpaqueDownsampling: 1 - m_SupportsTerrainHoles: 1 - m_StoreActionsOptimization: 0 - m_SupportsHDR: 1 - m_MSAA: 1 - m_RenderScale: 1 - m_MainLightRenderingMode: 1 - m_MainLightShadowsSupported: 1 - m_MainLightShadowmapResolution: 2048 - m_AdditionalLightsRenderingMode: 1 - m_AdditionalLightsPerObjectLimit: 4 - m_AdditionalLightShadowsSupported: 0 - m_AdditionalLightsShadowmapResolution: 512 - m_ShadowDistance: 50 - m_ShadowCascadeCount: 1 - m_Cascade2Split: 0.25 - m_Cascade3Split: {x: 0.1, y: 0.3} - m_Cascade4Split: {x: 0.067, y: 0.2, z: 0.467} - m_ShadowDepthBias: 1 - m_ShadowNormalBias: 1 - m_SoftShadowsSupported: 0 - m_UseSRPBatcher: 1 - m_SupportsDynamicBatching: 0 - m_MixedLightingSupported: 1 - m_DebugLevel: 0 - m_UseAdaptivePerformance: 1 - m_ColorGradingMode: 0 - m_ColorGradingLutSize: 32 - m_ShadowType: 1 - m_LocalShadowsSupported: 0 - m_LocalShadowsAtlasResolution: 256 - m_MaxPixelLights: 0 - m_ShadowAtlasResolution: 256 - m_ShaderVariantLogLevel: 0 - m_VolumeFrameworkUpdateMode: 0 - m_ShadowCascades: 0 diff --git a/Tests/Runtime/RenderPipelineAssets/URP-Forward.asset.meta b/Tests/Runtime/RenderPipelineAssets/URP-Forward.asset.meta deleted file mode 100644 index 1f2cb25ab..000000000 --- a/Tests/Runtime/RenderPipelineAssets/URP-Forward.asset.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: e2091af073eb4441087fee3a72159e67 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 11400000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/RenderPipelineAssets/URP-Forward_Renderer.asset b/Tests/Runtime/RenderPipelineAssets/URP-Forward_Renderer.asset deleted file mode 100644 index 66b5cb005..000000000 --- a/Tests/Runtime/RenderPipelineAssets/URP-Forward_Renderer.asset +++ /dev/null @@ -1,43 +0,0 @@ -%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: de640fe3d0db1804a85f9fc8f5cadab6, type: 3} - m_Name: URP-Forward_Renderer - m_EditorClassIdentifier: - m_RendererFeatures: [] - m_RendererFeatureMap: - postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2} - shaders: - blitPS: {fileID: 4800000, guid: c17132b1f77d20942aa75f8429c0f8bc, type: 3} - copyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3} - screenSpaceShadowPS: {fileID: 4800000, guid: 0f854b35a0cf61a429bd5dcfea30eddd, type: 3} - samplingPS: {fileID: 4800000, guid: 04c410c9937594faa893a11dceb85f7e, type: 3} - tileDepthInfoPS: {fileID: 0} - tileDeferredPS: {fileID: 0} - stencilDeferredPS: {fileID: 4800000, guid: e9155b26e1bc55942a41e518703fe304, type: 3} - fallbackErrorPS: {fileID: 4800000, guid: e6e9a19c3678ded42a3bc431ebef7dbd, type: 3} - materialErrorPS: {fileID: 4800000, guid: 5fd9a8feb75a4b5894c241777f519d4e, type: 3} - m_OpaqueLayerMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_TransparentLayerMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_DefaultStencilState: - overrideStencilState: 0 - stencilReference: 0 - stencilCompareFunction: 8 - passOperation: 2 - failOperation: 0 - zFailOperation: 0 - m_ShadowTransparentReceive: 1 - m_RenderingMode: 0 - m_AccurateGbufferNormals: 0 diff --git a/Tests/Runtime/RenderPipelineAssets/URP-Forward_Renderer.asset.meta b/Tests/Runtime/RenderPipelineAssets/URP-Forward_Renderer.asset.meta deleted file mode 100644 index b4ec54f22..000000000 --- a/Tests/Runtime/RenderPipelineAssets/URP-Forward_Renderer.asset.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 51269a86215e84a488638eeb76979978 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 11400000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts.meta b/Tests/Runtime/Scripts.meta deleted file mode 100644 index 6b890efe6..000000000 --- a/Tests/Runtime/Scripts.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 48b892db3aebe4b7b81a4432cfd2f5d1 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts/AccessorTests.cs b/Tests/Runtime/Scripts/AccessorTests.cs deleted file mode 100644 index e45db76d9..000000000 --- a/Tests/Runtime/Scripts/AccessorTests.cs +++ /dev/null @@ -1,44 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using System; -using NUnit.Framework; -using UnityEngine; - -using GLTFast.Schema; - -namespace GLTFast.Tests -{ - class AccessorTests - { - [Test] - public void GetAccessorAttributeType() - { - Assert.AreEqual(GltfAccessorAttributeType.SCALAR, Accessor.GetAccessorAttributeType(1)); - Assert.AreEqual(GltfAccessorAttributeType.VEC2, Accessor.GetAccessorAttributeType(2)); - Assert.AreEqual(GltfAccessorAttributeType.VEC3, Accessor.GetAccessorAttributeType(3)); - Assert.AreEqual(GltfAccessorAttributeType.VEC4, Accessor.GetAccessorAttributeType(4)); - - Assert.That(() => Accessor.GetAccessorAttributeType(0), - Throws.TypeOf()); - - Assert.That(() => Accessor.GetAccessorAttributeType(5), - Throws.TypeOf()); - } - - [Test] - public void GetAccessorAttributeTypeLength() - { - Assert.AreEqual(1, Accessor.GetAccessorAttributeTypeLength(GltfAccessorAttributeType.SCALAR)); - Assert.AreEqual(2, Accessor.GetAccessorAttributeTypeLength(GltfAccessorAttributeType.VEC2)); - Assert.AreEqual(3, Accessor.GetAccessorAttributeTypeLength(GltfAccessorAttributeType.VEC3)); - Assert.AreEqual(4, Accessor.GetAccessorAttributeTypeLength(GltfAccessorAttributeType.VEC4)); - Assert.AreEqual(4, Accessor.GetAccessorAttributeTypeLength(GltfAccessorAttributeType.MAT2)); - Assert.AreEqual(9, Accessor.GetAccessorAttributeTypeLength(GltfAccessorAttributeType.MAT3)); - Assert.AreEqual(16, Accessor.GetAccessorAttributeTypeLength(GltfAccessorAttributeType.MAT4)); - - Assert.That(() => Accessor.GetAccessorAttributeTypeLength(GltfAccessorAttributeType.Undefined), - Throws.TypeOf()); - } - } -} diff --git a/Tests/Runtime/Scripts/AccessorTests.cs.meta b/Tests/Runtime/Scripts/AccessorTests.cs.meta deleted file mode 100644 index 230ad263d..000000000 --- a/Tests/Runtime/Scripts/AccessorTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: eb839230de3cb472ba87a9b1431716dd -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts/AssemblyInfo.cs b/Tests/Runtime/Scripts/AssemblyInfo.cs deleted file mode 100644 index 621e59435..000000000 --- a/Tests/Runtime/Scripts/AssemblyInfo.cs +++ /dev/null @@ -1,6 +0,0 @@ -// SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using System.Runtime.CompilerServices; - -[assembly: InternalsVisibleTo("glTFast.Editor.Tests")] diff --git a/Tests/Runtime/Scripts/AssemblyInfo.cs.meta b/Tests/Runtime/Scripts/AssemblyInfo.cs.meta deleted file mode 100644 index 6661eb88a..000000000 --- a/Tests/Runtime/Scripts/AssemblyInfo.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: bc63a5683bc2048258b947f817534e9c -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts/AsyncWrapper.cs b/Tests/Runtime/Scripts/AsyncWrapper.cs deleted file mode 100644 index 7bcc8490d..000000000 --- a/Tests/Runtime/Scripts/AsyncWrapper.cs +++ /dev/null @@ -1,45 +0,0 @@ -// SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using System; -using System.Collections; -using System.Threading.Tasks; -using UnityEngine; - -namespace GLTFast.Tests -{ - static class AsyncWrapper - { - ///

- /// Wraps a in an . - /// - /// The async Task to wait form - /// Optional timeout in seconds - /// IEnumerator - /// - /// Thrown when a timout was set and the task took too long - public static IEnumerator WaitForTask(Task task, float timeout = -1) - { - var startTime = Time.realtimeSinceStartup; - - while (!task.IsCompleted) - { - CheckExceptionAndTimeout(); - yield return null; - } - - CheckExceptionAndTimeout(); - yield break; - - void CheckExceptionAndTimeout() - { - if (task.Exception != null) - throw task.Exception; - if (timeout > 0 && Time.realtimeSinceStartup - startTime > timeout) - { - throw new TimeoutException(); - } - } - } - } -} diff --git a/Tests/Runtime/Scripts/AsyncWrapper.cs.meta b/Tests/Runtime/Scripts/AsyncWrapper.cs.meta deleted file mode 100644 index ed7b16590..000000000 --- a/Tests/Runtime/Scripts/AsyncWrapper.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 980118ca01dd44a7a51bb4358affb901 -timeCreated: 1709115532 \ No newline at end of file diff --git a/Tests/Runtime/Scripts/Constants.cs b/Tests/Runtime/Scripts/Constants.cs deleted file mode 100644 index b96926408..000000000 --- a/Tests/Runtime/Scripts/Constants.cs +++ /dev/null @@ -1,15 +0,0 @@ -// SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using System; - -namespace GLTFast.Tests -{ - static class Constants - { - public const float epsilonUInt8 = .004f; - public const float epsilonInt8 = .008f; - public const float epsilonUInt16 = .000016f; - public const float epsilonInt16 = .000031f; - } -} diff --git a/Tests/Runtime/Scripts/Constants.cs.meta b/Tests/Runtime/Scripts/Constants.cs.meta deleted file mode 100644 index ec6772713..000000000 --- a/Tests/Runtime/Scripts/Constants.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 010a75c3d12e4521a8f278cd3264abaf -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts/Export.meta b/Tests/Runtime/Scripts/Export.meta deleted file mode 100644 index 8eb5cffb5..000000000 --- a/Tests/Runtime/Scripts/Export.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: e5859b2ca28bc409f805334eb69005fa -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts/Export/ExportNonReadableTests.cs b/Tests/Runtime/Scripts/Export/ExportNonReadableTests.cs deleted file mode 100644 index 68e398a08..000000000 --- a/Tests/Runtime/Scripts/Export/ExportNonReadableTests.cs +++ /dev/null @@ -1,144 +0,0 @@ -// SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using System.Collections; -using System.Collections.Generic; -using System.IO; -using System.Threading.Tasks; -using GLTFast.Export; -using GLTFast.Logging; -using NUnit.Framework; -#if GLTF_VALIDATOR && UNITY_EDITOR -using Unity.glTF.Validator; -#endif // GLTF_VALIDATOR -using UnityEngine; -using UnityEngine.Rendering; -using UnityEngine.TestTools; - -namespace GLTFast.Tests.Export -{ - [Category("Export")] - class ExportNonReadableTests - { - static GameObject s_NonReadableTriangle; - - [UnityTest] - public IEnumerator NonReadableMesh() - { - Certify(); - var model = Object.Instantiate(s_NonReadableTriangle); - var task = ExportObjects( - "NonReadableMesh", - new[] { model } -#if !UNITY_2021_3_OR_NEWER - , expectedLogCodes: new[] { LogCode.MeshNotReadable } -#endif - ); - yield return AsyncWrapper.WaitForTask(task); - } - - [UnityTest] - public IEnumerator MixedReadableMesh() - { - Certify(); - var model = Object.Instantiate(s_NonReadableTriangle); - var readable = GameObject.CreatePrimitive(PrimitiveType.Cube); - - var mesh = readable.GetComponent().sharedMesh; - Assert.IsTrue(mesh.isReadable); - - var task = ExportObjects( - "MixedReadableMesh-01", - new[] { model, readable } -#if !UNITY_2021_3_OR_NEWER - , expectedLogCodes: new[] { LogCode.MeshNotReadable } -#endif - ); - yield return AsyncWrapper.WaitForTask(task); - - task = ExportObjects( - "MixedReadableMesh-10", - new[] { readable, model } -#if !UNITY_2021_3_OR_NEWER - , expectedLogCodes: new[] { LogCode.MeshNotReadable } -#endif - ); - yield return AsyncWrapper.WaitForTask(task); - } - - [UnityTest] - public IEnumerator DracoMixedReadableMesh() - { -#if !DRACO_UNITY - Assert.Ignore("Test requires Draco for Unity (com.unity.cloud.draco) to be installed"); -#endif - Certify(); - var model = Object.Instantiate(s_NonReadableTriangle); - var readable = GameObject.CreatePrimitive(PrimitiveType.Cube); - - var mesh = readable.GetComponent().sharedMesh; - Assert.IsTrue(mesh.isReadable); - - var dracoSettings = new ExportSettings - { - Compression = Compression.Draco - }; - - var task = ExportObjects( - "DracoMixedReadableMesh-01", - new[] { model, readable }, - dracoSettings, - new[] { LogCode.MeshNotReadable } - ); - yield return AsyncWrapper.WaitForTask(task); - - task = ExportObjects( - "DracoMixedReadableMesh-10", - new[] { readable, model }, - dracoSettings, - new[] { LogCode.MeshNotReadable } - ); - yield return AsyncWrapper.WaitForTask(task); - } - - static async Task ExportObjects( - string name, - GameObject[] nodes, - ExportSettings settings = null, - IEnumerable expectedLogCodes = null - ) - { - var logger = new CollectingLogger(); - var export = new GameObjectExport(exportSettings: settings, logger: logger); - export.AddScene(nodes); - var path = Path.Combine(Application.persistentDataPath, $"{name}.gltf"); - var success = await export.SaveToFileAndDispose(path); - Assert.IsTrue(success); - LoggerTest.AssertLogger(logger, expectedLogCodes); -#if GLTF_VALIDATOR && UNITY_EDITOR - ExportTests.ValidateGltf(path, MessageCode.UNUSED_OBJECT); -#endif - } - - [OneTimeSetUp] - public void OneTimeSetup() - { - s_NonReadableTriangle = Resources.Load($"Export/Models/NonReadableTriangle"); - var mesh = s_NonReadableTriangle.GetComponent().sharedMesh; - Assert.IsFalse(mesh.isReadable); - } - - void Certify() - { - if (SystemInfo.graphicsDeviceType == GraphicsDeviceType.OpenGLCore - || SystemInfo.graphicsDeviceType == GraphicsDeviceType.OpenGLES2 - || SystemInfo.graphicsDeviceType == GraphicsDeviceType.OpenGLES3) - { - Assert.Ignore("Exporting non-readable meshes is unreliable on OpenGL/OpenGLES."); - } -#if !(UNITY_6000_0_OR_NEWER || (UNITY_EDITOR && UNITY_2022_3_OR_NEWER)) - Assert.Ignore("Exporting non-readable meshes is unreliable on Unity versions before 6."); -#endif - } - } -} diff --git a/Tests/Runtime/Scripts/Export/ExportNonReadableTests.cs.meta b/Tests/Runtime/Scripts/Export/ExportNonReadableTests.cs.meta deleted file mode 100644 index 47c7bc595..000000000 --- a/Tests/Runtime/Scripts/Export/ExportNonReadableTests.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 22a0133e5248434b9f24ab1ae20ea8f2 -timeCreated: 1724154259 \ No newline at end of file diff --git a/Tests/Runtime/Scripts/Export/ExportSkinTests.cs b/Tests/Runtime/Scripts/Export/ExportSkinTests.cs deleted file mode 100644 index 326870849..000000000 --- a/Tests/Runtime/Scripts/Export/ExportSkinTests.cs +++ /dev/null @@ -1,109 +0,0 @@ -// SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using System.Collections; -using System.IO; -using System.Threading.Tasks; -using GLTFast.Export; -using GLTFast.Logging; -using NUnit.Framework; -#if GLTF_VALIDATOR && UNITY_EDITOR -using Unity.glTF.Validator; -#endif // GLTF_VALIDATOR -using UnityEngine; -using UnityEngine.SceneManagement; -using UnityEngine.TestTools; - -namespace GLTFast.Tests.Export -{ - [TestFixture, Category("Export")] - class ExportSkinTests : IPrebuildSetup - { - const string k_SceneName = "ExportSkin"; - -#if UNITY_EDITOR - static void SetupTests() - { - ExportTests.AddExportTestScene(k_SceneName); - } -#endif - - public void Setup() - { -#if UNITY_EDITOR - SetupTests(); -#endif - } - - [OneTimeSetUp] - public void OneTimeSetUp() - { - SceneManager.LoadScene(k_SceneName, LoadSceneMode.Single); - } - - [OneTimeTearDown] - public void OneTimeTearDown() - { - SceneManager.UnloadSceneAsync(k_SceneName); - } - - [UnityTest] - public IEnumerator SimpleSkin() - { - var skin = GameObject.Find("SimpleSkin"); - var task = Export("SimpleSkin", new[] { skin }); - yield return AsyncWrapper.WaitForTask(task); - } - - [UnityTest] - public IEnumerator SimpleSkinTwice() - { - var skin = GameObject.Find("SimpleSkin"); - var skin2 = GameObject.Find("SimpleSkin2"); - var task = Export("SimpleSkinTwice", new[] { skin, skin2 }); - yield return AsyncWrapper.WaitForTask(task); - } - - [UnityTest] - public IEnumerator SimpleSkinDraco() - { -#if !DRACO_UNITY - Assert.Ignore("Test requires Draco for Unity (com.unity.cloud.draco) to be installed"); -#endif - var skin = GameObject.Find("SimpleSkin"); - var task = Export( - "SimpleSkinDraco", - new[] { skin }, - new ExportSettings - { - Compression = Compression.Draco - }); - yield return AsyncWrapper.WaitForTask(task); - } - - [UnityTest] - public IEnumerator MissingBones() - { - LogAssert.Expect(LogType.Error, "Skip skin on Node-0: No node ID for bone transform Node-1 found!"); - - var skin = GameObject.Find("SimpleSkin").transform; - var meshOnly = skin.GetChild(0).gameObject; - var task = Export("MissingBones", new[] { meshOnly }); - yield return AsyncWrapper.WaitForTask(task); - } - - static async Task Export(string name, GameObject[] objects, ExportSettings settings = null) - { - var logger = new CollectingLogger(); - var export = new GameObjectExport(logger: logger, exportSettings: settings); - export.AddScene(objects); - var path = Path.Combine(Application.persistentDataPath, $"{name}.gltf"); - var success = await export.SaveToFileAndDispose(path); ; - ExportTests.AssertLogger(logger); - Assert.IsTrue(success); -#if GLTF_VALIDATOR && UNITY_EDITOR - ExportTests.ValidateGltf(path,MessageCode.NODE_SKINNED_MESH_NON_ROOT); -#endif - } - } -} diff --git a/Tests/Runtime/Scripts/Export/ExportSkinTests.cs.meta b/Tests/Runtime/Scripts/Export/ExportSkinTests.cs.meta deleted file mode 100644 index f521a9e5f..000000000 --- a/Tests/Runtime/Scripts/Export/ExportSkinTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 8f4ea52dd89c0465bb2f13845def3183 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts/Export/ExportTests.cs b/Tests/Runtime/Scripts/Export/ExportTests.cs deleted file mode 100644 index e52d27f0f..000000000 --- a/Tests/Runtime/Scripts/Export/ExportTests.cs +++ /dev/null @@ -1,1008 +0,0 @@ -// SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -#if !(UNITY_ANDROID || UNITY_WEBGL) || UNITY_EDITOR -#define LOCAL_LOADING -#endif - -#if UNITY_EDITOR -#define LOAD_REFERENCE_SYNC -#endif - -using System; -using System.Collections; -using System.IO; -using System.Linq; -using System.Text.RegularExpressions; -using System.Threading.Tasks; - -using GLTFast.Export; -using GLTFast.Logging; -using Newtonsoft.Json.Linq; -using NUnit.Framework; -using Unity.Mathematics; -using UnityEngine; -using UnityEngine.Networking; -using UnityEngine.SceneManagement; -using UnityEngine.TestTools; - -using Object = UnityEngine.Object; - -#if USING_HDRP -using UnityEngine.Rendering.HighDefinition; -#endif -#if UNITY_EDITOR -using System.Collections.Generic; -using UnityEditor; -using UnityEditor.SceneManagement; -#if GLTF_VALIDATOR -using Unity.glTF.Validator; -#endif // GLTF_VALIDATOR -#endif // UNITY_EDITOR - -namespace GLTFast.Tests.Export -{ - - [TestFixture, Category("Export")] - class ExportTests : IPrebuildSetup - { - internal const string exportTargetFolder = "gltf-export-targets"; - - const string k_SceneNameBuiltIn = "ExportSceneBuiltIn"; - const string k_SceneNameHighDefinition = "ExportSceneHighDefinition"; - const string k_SceneNameUniversal = "ExportSceneUniversal"; - - const string k_ScenesPath = "/Tests/Runtime/Export/Scenes/"; - - const string k_ColorPropertyPattern = @"\.(?\w*[cC]olor\w*)(\[\d+\])?$"; - static readonly Regex k_ColorPropertyRegex = new Regex(k_ColorPropertyPattern, RegexOptions.CultureInvariant, TimeSpan.FromSeconds(1)); - - -#if UNITY_EDITOR - static void UpdateObjectLists() - { - CreateExportSceneObjectList(k_SceneNameBuiltIn); - CreateExportSceneObjectList(k_SceneNameHighDefinition); - CreateExportSceneObjectList(k_SceneNameUniversal); - AssetDatabase.Refresh(); - const string relativePath = "/Tests/Runtime/Scripts/glTFast.Tests.asmdef"; - var asmDefPath = $"Packages/{GltfGlobals.GltfPackageName}{relativePath}"; - TryFixPackageAssetPath(ref asmDefPath); - AssetDatabase.ImportAsset(asmDefPath, ImportAssetOptions.ForceUpdate); - } - - internal static void SetupTests() - { - CertifyStreamingAssetsFolder(); - AddExportTestScene(); - CopyObjectListsToStreamingAssets(); - } - - internal static void CertifyStreamingAssetsFolder() - { - if (!AssetDatabase.IsValidFolder("Assets/StreamingAssets")) - { - AssetDatabase.CreateFolder("Assets", "StreamingAssets"); - } - } - - static void CopyObjectListsToStreamingAssets() - { - CopyObjectListToStreamingAssets(k_SceneNameBuiltIn); - CopyObjectListToStreamingAssets(k_SceneNameHighDefinition); - CopyObjectListToStreamingAssets(k_SceneNameUniversal); - } - - /// - /// Package tools might split up the tests (`Tests` folder) into a dedicated `.tests` package. - /// To make searching/loading assets via path easier, this method tries to find the asset in the original - /// location and if it fails, it searches for it in the tests pacakge and updates/fixes the packageAssetPath. - /// - /// Packages' asset's path - /// The GUID of the asset found at that path. - /// When the asset was not found. - internal static GUID TryFixPackageAssetPath(ref string packageAssetPath) - { - Assert.IsTrue(packageAssetPath.StartsWith("Packages/"), $"Not a package asset path {packageAssetPath}"); - var guid = AssetDatabase.GUIDFromAssetPath(packageAssetPath); - if (guid.Empty()) - { - packageAssetPath = packageAssetPath.Replace(GltfGlobals.GltfPackageName, $"{GltfGlobals.GltfPackageName}.tests"); - guid = AssetDatabase.GUIDFromAssetPath(packageAssetPath); - if (guid.Empty()) - { - throw new FileNotFoundException($"Couldn't find asset at {packageAssetPath}."); - } - } - return guid; - } - - static void AddExportTestScene() - { - AddExportTestScene(GetExportSceneName()); - } - - internal static void AddExportTestScene(string sceneName) - { - var scenePath = $"Packages/{GltfGlobals.GltfPackageName}{k_ScenesPath}{sceneName}.unity"; - var sceneGuid = TryFixPackageAssetPath(ref scenePath); - - var scenes = EditorBuildSettings.scenes; - foreach (var scene in scenes) - { - if (scene.guid == sceneGuid) - { - return; - } - } - - Array.Resize(ref scenes, scenes.Length+1); - scenes[scenes.Length - 1] = new EditorBuildSettingsScene(sceneGuid, true); - EditorBuildSettings.scenes = scenes; - } - - static void CreateExportSceneObjectList(string sceneName) - { - var names = GetRootObjectNamesFromScene(sceneName); - var assetPath = GetObjectListAssetPath(sceneName); - var streamingAssetsPath = Path.Combine(Application.streamingAssetsPath, $"{sceneName}.txt"); - File.WriteAllLines(assetPath,names); - File.WriteAllLines(streamingAssetsPath,names); - } - - static void CopyObjectListToStreamingAssets(string sceneName) - { - var assetPath = GetObjectListAssetPath(sceneName); - TryFixPackageAssetPath(ref assetPath); - var streamingAssetsPath = Path.Combine(Application.streamingAssetsPath, $"{sceneName}.txt"); - if (File.Exists(streamingAssetsPath)) - { - FileUtil.ReplaceFile(assetPath,streamingAssetsPath); - } - else - { - FileUtil.CopyFileOrDirectory(assetPath,streamingAssetsPath); - } - } - - static string GetObjectListAssetPath(string sceneName) - { - return $"Packages/{GltfGlobals.GltfPackageName}{k_ScenesPath}{sceneName}-ObjectList.txt"; - } - - static string[] GetRootObjectNamesFromScene(string sceneName) - { - var scenePath = $"Packages/{GltfGlobals.GltfPackageName}{k_ScenesPath}{sceneName}.unity"; - TryFixPackageAssetPath(ref scenePath); - var scene = EditorSceneManager.OpenScene(scenePath); - var rootObjects = scene.GetRootGameObjects(); - var names = new List(); - for (var i = 0; i < rootObjects.Length; i++) { - if (rootObjects[i].hideFlags != HideFlags.None) { - continue; - } - names.Add(rootObjects[i].name); - } - return names.ToArray(); - } - - internal static string[] GetRootObjectNamesFromObjectList(string sceneName) - { - var assetPath = GetObjectListAssetPath(sceneName); - TryFixPackageAssetPath(ref assetPath); - var asset = AssetDatabase.LoadAssetAtPath(assetPath); - Assert.NotNull(asset, $"glTF Export ObjectList asset at {assetPath} could not be loaded."); - var objectNames = asset.text.Split('\n'); - return objectNames.Where(name => !string.IsNullOrWhiteSpace(name)).ToArray(); - } -#endif - - internal static string[] GetRootObjectNamesFromStreamingAssets(string sceneName) - { - var path = Path.Combine(Application.streamingAssetsPath, $"{sceneName}.txt"); -#if LOCAL_LOADING - path = $"file://{path}"; -#endif - var request = UnityWebRequest.Get(path); - request.SendWebRequest(); - do { } while (!request.isDone); - - if (request.error != null) - { - throw new FileNotFoundException($"ObjectList for scene {sceneName} was not found at {path}: {request.error}"); - } - var objectNames = request.downloadHandler.text.Split('\n'); - return objectNames.Where(name => !string.IsNullOrWhiteSpace(name)).ToArray(); - } - - [OneTimeSetUp] - public void OneTimeSetUp() - { - SceneManager.LoadScene(GetExportSceneName(), LoadSceneMode.Single); - } - - [OneTimeTearDown] - public void OneTimeTearDown() - { - SceneManager.UnloadSceneAsync(GetExportSceneName()); - } - - [Test] - public void CheckObjectCountBuiltIn() - { - var names = GetRootObjectNamesFromStreamingAssets(k_SceneNameBuiltIn); - Assert.AreEqual(48, names.Length, $"Unexpected number of root level objects in scene {k_SceneNameBuiltIn}. If you've added test objects, update the expected number!"); - } - - [Test] - public void CheckObjectCountUniversal() - { - var names = GetRootObjectNamesFromStreamingAssets(k_SceneNameUniversal); - Assert.AreEqual(48, names.Length, $"Unexpected number of root level objects in scene {k_SceneNameUniversal}. If you've added test objects, update the expected number!"); - } - - [Test] - public void CheckObjectCountHighDefinition() - { - var names = GetRootObjectNamesFromStreamingAssets(k_SceneNameHighDefinition); - Assert.AreEqual(48, names.Length, $"Unexpected number of root level objects in scene {k_SceneNameHighDefinition}. If you've added test objects, update the expected number!"); - } - - [UnityTest] - public IEnumerator SimpleTree() - { - var root = new GameObject("root"); - var childA = GameObject.CreatePrimitive(PrimitiveType.Cube); - childA.name = "child A"; - var childB = GameObject.CreatePrimitive(PrimitiveType.Sphere); - childB.name = "child B"; - childA.transform.parent = root.transform; - childB.transform.parent = root.transform; - childB.transform.localPosition = new Vector3(1, 0, 0); - - var logger = new CollectingLogger(); - var export = new GameObjectExport(logger: logger); - export.AddScene(new[] { root }, "UnityScene"); - var path = Path.Combine(Application.persistentDataPath, "root.gltf"); - var task = export.SaveToFileAndDispose(path); - yield return AsyncWrapper.WaitForTask(task); - var success = task.Result; - Assert.IsTrue(success); - AssertLogger(logger); -#if GLTF_VALIDATOR && UNITY_EDITOR - ValidateGltf(path, MessageCode.UNUSED_OBJECT); -#endif - } - - [UnityTest, SceneRootObjectTestCase(k_SceneNameBuiltIn, "gltf")] - public IEnumerator ExportSceneJson(int index, string objectName) - { - TryIgnoreDivergentRenderPipeline(RenderPipeline.BuiltIn); - var gameObject = GetGameObject(index, objectName); - var task = ExportSceneGameObject(gameObject, binary: false, deterministic: true); - yield return AsyncWrapper.WaitForTask(task); - } - - [UnityTest, SceneRootObjectTestCase(k_SceneNameUniversal, "gltf-urp")] - public IEnumerator ExportSceneJsonUniversal(int index, string objectName) - { - TryIgnoreDivergentRenderPipeline(RenderPipeline.Universal); - var gameObject = GetGameObject(index, objectName); - var task = ExportSceneGameObject(gameObject, binary: false, deterministic: true); - yield return AsyncWrapper.WaitForTask(task); - } - - [UnityTest, SceneRootObjectTestCase(k_SceneNameHighDefinition, "gltf-hdrp")] - public IEnumerator ExportSceneJsonHighDefinition(int index, string objectName) - { - TryIgnoreDivergentRenderPipeline(RenderPipeline.HighDefinition); - var gameObject = GetGameObject(index, objectName); - var task = ExportSceneGameObject(gameObject, binary: false, deterministic: true); - yield return AsyncWrapper.WaitForTask(task); - } - - [UnityTest, SceneRootObjectTestCase(k_SceneNameBuiltIn, "glb")] - public IEnumerator ExportSceneBinary(int index, string objectName) - { - TryIgnoreDivergentRenderPipeline(RenderPipeline.BuiltIn); - var gameObject = GetGameObject(index, objectName); - var task = ExportSceneGameObject(gameObject, true); - yield return AsyncWrapper.WaitForTask(task); - } - - [UnityTest, SceneRootObjectTestCase(k_SceneNameUniversal, "glb-urp")] - public IEnumerator ExportSceneBinaryUniversal(int index, string objectName) - { - TryIgnoreDivergentRenderPipeline(RenderPipeline.Universal); - var gameObject = GetGameObject(index, objectName); - var task = ExportSceneGameObject(gameObject, true); - yield return AsyncWrapper.WaitForTask(task); - } - - [UnityTest, SceneRootObjectTestCase(k_SceneNameHighDefinition, "glb-hdrp")] - public IEnumerator ExportSceneBinaryHighDefinition(int index, string objectName) - { - TryIgnoreDivergentRenderPipeline(RenderPipeline.HighDefinition); - var gameObject = GetGameObject(index, objectName); - var task = ExportSceneGameObject(gameObject, true); - yield return AsyncWrapper.WaitForTask(task); - } - - [UnityTest] - public IEnumerator ExportSceneAllJson() - { - yield return null; - var task = ExportSceneAll(false); - yield return AsyncWrapper.WaitForTask(task); - } - - [UnityTest] - public IEnumerator ExportSceneAllBinary() - { - yield return null; - var task = ExportSceneAll(true); - yield return AsyncWrapper.WaitForTask(task); - } - - [UnityTest, SceneRootObjectTestCase(k_SceneNameBuiltIn, "stream")] - public IEnumerator ExportSceneBinaryStream(int index, string objectName) - { - TryIgnoreDivergentRenderPipeline(RenderPipeline.BuiltIn); - var gameObject = GetGameObject(index, objectName); - var task = ExportSceneGameObject(gameObject, true, true); - yield return AsyncWrapper.WaitForTask(task); - } - - [UnityTest, SceneRootObjectTestCase(k_SceneNameUniversal, "stream-urp")] - public IEnumerator ExportSceneBinaryStreamUniversal(int index, string objectName) - { - TryIgnoreDivergentRenderPipeline(RenderPipeline.Universal); - var gameObject = GetGameObject(index, objectName); - var task = ExportSceneGameObject(gameObject, true, true); - yield return AsyncWrapper.WaitForTask(task); - } - - [UnityTest, SceneRootObjectTestCase(k_SceneNameHighDefinition, "stream-hdrp")] - public IEnumerator ExportSceneBinaryStreamHighDefinition(int index, string objectName) - { - TryIgnoreDivergentRenderPipeline(RenderPipeline.HighDefinition); - var gameObject = GetGameObject(index, objectName); - var task = ExportSceneGameObject(gameObject, true, true); - yield return AsyncWrapper.WaitForTask(task); - } - - [UnityTest] - public IEnumerator ExportSceneAllBinaryStream() - { - yield return null; - var task = ExportSceneAll(true, true); - yield return AsyncWrapper.WaitForTask(task); - } - - [Test] - public void MeshMaterialCombinationTest() - { - - var mc1 = new MeshMaterialCombination(42, new[] { 1, 2, 3 }); - var mc2 = new MeshMaterialCombination(42, new[] { 1, 2, 3 }); - - Assert.AreEqual(mc1, mc2); - - mc1 = new MeshMaterialCombination(42, new[] { 1, 2, 4 }); - Assert.AreNotEqual(mc1, mc2); - - mc1 = new MeshMaterialCombination(42, new[] { 1, 2 }); - Assert.AreNotEqual(mc1, mc2); - - mc1 = new MeshMaterialCombination(42, null); - Assert.AreNotEqual(mc1, mc2); - - mc2 = new MeshMaterialCombination(42, null); - Assert.AreEqual(mc1, mc2); - - mc1 = new MeshMaterialCombination(13, null); - Assert.AreNotEqual(mc1, mc2); - } - - [UnityTest] - public IEnumerator TwoScenes() - { - - var childA = GameObject.CreatePrimitive(PrimitiveType.Cube); - childA.name = "child A"; - - var logger = new CollectingLogger(); - var export = new GameObjectExport(logger: logger); - export.AddScene(new[] { childA }, "scene A"); - export.AddScene(new[] { childA }, "scene B"); - var path = Path.Combine(Application.persistentDataPath, "TwoScenes.gltf"); - var task = export.SaveToFileAndDispose(path); - yield return AsyncWrapper.WaitForTask(task); - var success = task.Result; - Assert.IsTrue(success); - AssertLogger(logger); -#if GLTF_VALIDATOR && UNITY_EDITOR - ValidateGltf(path, MessageCode.UNUSED_OBJECT); -#endif - } - - [UnityTest] - public IEnumerator Empty() - { - - var logger = new CollectingLogger(); - var export = new GameObjectExport(logger: logger); - var path = Path.Combine(Application.persistentDataPath, "Empty.gltf"); - var task = export.SaveToFileAndDispose(path); - yield return AsyncWrapper.WaitForTask(task); - var success = task.Result; - Assert.IsTrue(success); - AssertLogger(logger); -#if GLTF_VALIDATOR && UNITY_EDITOR - ValidateGltf(path, MessageCode.UNUSED_OBJECT); -#endif - } - - [UnityTest] - public IEnumerator ComponentMask() - { - - var root = new GameObject("Root"); - - var meshGo = GameObject.CreatePrimitive(PrimitiveType.Cube); - meshGo.name = "Mesh"; - meshGo.transform.SetParent(root.transform); - meshGo.transform.localPosition = new Vector3(0, 0, 0); - - var lightGo = new GameObject("Light"); - lightGo.transform.SetParent(root.transform); - lightGo.transform.localPosition = new Vector3(1, 0, 0); - lightGo.AddComponent(); -#if USING_HDRP - lightGo.AddComponent(); -#endif - var cameraGo = new GameObject("Camera"); - cameraGo.transform.SetParent(root.transform); - cameraGo.transform.localPosition = new Vector3(.5f, 0, -3); - cameraGo.AddComponent(); - - // Export no components - var task = ExportTest( - new[] { root }, - "ComponentMaskNone", - new ExportSettings - { - ComponentMask = ComponentType.None - }); - yield return AsyncWrapper.WaitForTask(task); - - // Export mesh only - task = ExportTest( - new[] { root }, - "ComponentMaskMesh", - new ExportSettings - { - ComponentMask = ComponentType.Mesh - }); - yield return AsyncWrapper.WaitForTask(task); - - // Export light only - task = ExportTest( - new[] { root }, - "ComponentMaskLight", - new ExportSettings - { - ComponentMask = ComponentType.Light - }); - yield return AsyncWrapper.WaitForTask(task); - - // Export Camera only - task = ExportTest( - new[] { root }, - "ComponentMaskCamera", - new ExportSettings - { - ComponentMask = ComponentType.Camera - }); - yield return AsyncWrapper.WaitForTask(task); - - // Clean up - Object.Destroy(root); - } - - [UnityTest] - public IEnumerator LayerMask() - { - - var root = new GameObject("Root"); - - var childA = GameObject.CreatePrimitive(PrimitiveType.Cube); - childA.name = "a"; - childA.transform.SetParent(root.transform); - childA.transform.localPosition = new Vector3(0, 0, 0); - - var childB = GameObject.CreatePrimitive(PrimitiveType.Cube); - childB.name = "b"; - childB.transform.SetParent(childA.transform); - childB.transform.localPosition = new Vector3(1, 0, 0); - - var childC = GameObject.CreatePrimitive(PrimitiveType.Cube); - childC.name = "c"; - childC.transform.SetParent(childB.transform); - childC.transform.localPosition = new Vector3(1, 0, 0); - - childA.layer = 1; // On layer 0 - childB.layer = 1; // On layer 0 - childC.layer = 2; // On layer 1 - - // Export all layers - var task = ExportTest( - new[] { root }, - "LayerMaskAll", - gameObjectExportSettings: new GameObjectExportSettings - { - LayerMask = ~0 - }); - yield return AsyncWrapper.WaitForTask(task); - - // Export layer 1 - task = ExportTest( - new[] { root }, - "LayerMaskOne", - gameObjectExportSettings: new GameObjectExportSettings - { - LayerMask = 2 // layer one: 1<<1 - }); - yield return AsyncWrapper.WaitForTask(task); - - // Export layer 2 - task = ExportTest( - new[] { root }, - "LayerMaskTwo", - gameObjectExportSettings: new GameObjectExportSettings - { - LayerMask = 4 // layer two: 1<<2 - }); - yield return AsyncWrapper.WaitForTask(task); - - // Export no layer - task = ExportTest( - new[] { root }, - "LayerMaskNone", - gameObjectExportSettings: new GameObjectExportSettings - { - LayerMask = 0 - }); - yield return AsyncWrapper.WaitForTask(task); - - // Clean up - Object.Destroy(root); - } - - [UnityTest] - public IEnumerator SavedTwice() - { - - var childA = GameObject.CreatePrimitive(PrimitiveType.Cube); - childA.name = "child A"; - - var logger = new CollectingLogger(); - var export = new GameObjectExport(logger: logger); - export.AddScene(new[] { childA }); - var path = Path.Combine(Application.persistentDataPath, "SavedTwice1.gltf"); - var task = export.SaveToFileAndDispose(path); - yield return AsyncWrapper.WaitForTask(task); - var success = task.Result; - Assert.IsTrue(success); - AssertLogger(logger); -#if GLTF_VALIDATOR && UNITY_EDITOR - ValidateGltf(path, MessageCode.UNUSED_OBJECT); -#endif - Assert.Throws(delegate - { - export.AddScene(new[] { childA }); - }); - path = Path.Combine(Application.persistentDataPath, "SavedTwice2.gltf"); - AssertThrowsAsync(async () => await export.SaveToFileAndDispose(path)); - } - - static async Task ExportTest( - GameObject[] objects, - string testName, - ExportSettings exportSettings = null, - GameObjectExportSettings gameObjectExportSettings = null - ) - { - var logger = new CollectingLogger(); - var export = new GameObjectExport( - exportSettings: exportSettings, - gameObjectExportSettings: gameObjectExportSettings, - logger: logger - ); - export.AddScene(objects); - var resultPath = Path.Combine(Application.persistentDataPath, $"{testName}.gltf"); - var success = await export.SaveToFileAndDispose(resultPath); - Assert.IsTrue(success); - AssertLogger(logger); -#if GLTF_VALIDATOR && UNITY_EDITOR - ValidateGltf(resultPath, MessageCode.UNUSED_OBJECT); -#endif - // #if UNITY_EDITOR - // AssertGltfJson($"{testName}.gltf", resultPath); - // #endif - } - - static GameObject GetGameObject(int index, string objectName) - { - var scene = SceneManager.GetActiveScene(); - var objects = scene.GetRootGameObjects(); - var gameObject = objects[index]; - if (gameObject.name != objectName) - { - // GameObject order is not deterministic in builds, so here we - // search by traversing all root objects. - foreach (var obj in objects) - { - if (obj.name == objectName) - { - gameObject = obj; - break; - } - } - } - - Assert.NotNull(gameObject); - Assert.AreEqual(objectName, gameObject.name); - return gameObject; - } - - static async Task ExportSceneGameObject(GameObject gameObject, bool binary, bool toStream = false, bool deterministic = false) - { - var logger = new CollectingLogger(); - var export = new GameObjectExport( - new ExportSettings - { - Format = binary ? GltfFormat.Binary : GltfFormat.Json, - FileConflictResolution = FileConflictResolution.Overwrite, - Deterministic = deterministic, - }, - logger: logger - ); - export.AddScene(new[] { gameObject }, gameObject.name); - var extension = binary ? GltfGlobals.GlbExt : GltfGlobals.GltfExt; - var fileName = $"{gameObject.name}{extension}"; - var path = Path.Combine(Application.persistentDataPath, fileName); - - bool success; - if (toStream) - { - var glbStream = new MemoryStream(); - success = await export.SaveToStreamAndDispose(glbStream); - Assert.Greater(glbStream.Length, 20); - glbStream.Close(); - } - else - { - success = await export.SaveToFileAndDispose(path); - } - Assert.IsTrue(success); - AssertLogger(logger); - - if (!binary) - { -#if !LOAD_REFERENCE_SYNC - await -#endif - AssertGltfJson(fileName, path); - } - -#if GLTF_VALIDATOR && UNITY_EDITOR - ValidateGltf(path, new [] { - MessageCode.ACCESSOR_MAX_MISMATCH, - MessageCode.ACCESSOR_MIN_MISMATCH, - MessageCode.NODE_EMPTY, - MessageCode.UNUSED_OBJECT, - }); -#endif - } - -#if LOAD_REFERENCE_SYNC - static void -#else - static async Task -#endif - AssertGltfJson(string testName, string resultPath) - { - - var renderPipeline = RenderPipelineUtils.RenderPipeline; - string rpSubfolder; - switch (renderPipeline) - { - case RenderPipeline.Universal: - rpSubfolder = "/URP"; - break; - case RenderPipeline.HighDefinition: - rpSubfolder = "/HDRP"; - break; - default: - rpSubfolder = ""; - break; - } - -#if LOAD_REFERENCE_SYNC - var pathPrefix = $"Packages/{GltfGlobals.GltfPackageName}/Tests/Resources/ExportTargets"; - TryFixPackageAssetPath(ref pathPrefix); - - // TODO: Load via File.ReadAllLinesAsync once 2020 LTS support is dropped - // to removed async/non-async dichotomy - var assetPath = $"{pathPrefix}{rpSubfolder}/{testName}.txt"; - var targetJsonAsset = AssetDatabase.LoadAssetAtPath(assetPath); - if (targetJsonAsset == null) { - assetPath = $"{pathPrefix}/{testName}.txt"; - targetJsonAsset = AssetDatabase.LoadAssetAtPath(assetPath); - } - var targetJson = targetJsonAsset.text; -#else - var targetJson = await LoadGltfJsonReference(testName, rpSubfolder); -#endif - - CompareGltfJsonTokenRecursively( - JToken.Parse(targetJson), - JToken.Parse(File.ReadAllText(resultPath)) - ); - } - -#if !LOAD_REFERENCE_SYNC - static async Task LoadGltfJsonReference(string testName, string rpSubfolder) - { - while (true) - { - var path = Path.Combine(Application.streamingAssetsPath, $"{exportTargetFolder}{rpSubfolder}/{testName}.txt"); -#if LOCAL_LOADING - path = $"file://{path}"; -#endif - var request = UnityWebRequest.Get(path); - - var x = request.SendWebRequest(); - while (!x.isDone) - { - await Task.Yield(); - } - - if (request.error != null && !string.IsNullOrEmpty(rpSubfolder)) - { - // Fallback to BuiltIn reference - rpSubfolder = ""; - continue; - } - - Assert.IsNull(request.error, $"Target glTF JSON for {testName} was not found at {path}: {request.error}"); - - var targetJson = request.downloadHandler.text; - return targetJson; - } - } -#endif - - static void CompareGltfJsonTokenRecursively(JToken tokenA, JToken tokenB) - { - - foreach (var (a, b) in tokenA.Zip(tokenB, Tuple.Create)) - { - Assert.AreEqual(a.Path, b.Path, $"Path mismatch ({a.Path} != {b.Path}"); - // Assert.AreEqual(a.Type,b.Type, $"Type mismatch at {a.Path} ({a.Type} != {b.Type}"); - if (a.Type != b.Type) - { - if ( - (a.Type == JTokenType.Float && b.Type != JTokenType.Integer) - || (a.Type == JTokenType.Integer && b.Type != JTokenType.Float) - ) - { - throw new AssertionException($"Type mismatch at {a.Path} ({a.Type} != {b.Type}"); - } - } - if (a is JValue && b is JValue) - { - switch (a.Type) - { - case JTokenType.Float: - var expected = a.Value(); - var actual = b.Value(); - var isColor = k_ColorPropertyRegex.Match(a.Path).Success; - // Colors usually undergo a gamma to linear conversion, hence a bit more tolerance. - var tolerance = isColor ? 6E-06f : 6E-08f; - Assert.That(actual, Is.EqualTo(expected).Within(tolerance), $"Value mismatch at {a.Path}."); - break; - case JTokenType.Integer: - Assert.AreEqual(a.Value(), b.Value(), $"Value mismatch at {a.Path}."); - break; - case JTokenType.String: - Assert.AreEqual(a.Value(), b.Value(), $"Value mismatch at {a.Path}."); - break; - case JTokenType.Boolean: - Assert.AreEqual(a.Value(), b.Value(), $"Value mismatch at {a.Path}."); - break; - default: - Assert.AreEqual(a, b, $"Value mismatch at {a.Path}."); - break; - } - } - - // asset.generator usually contains differing Unity and glTFast versions, so we ignore its value - if (a.Path == "asset.generator") continue; - - CompareGltfJsonTokenRecursively(a, b); - } - - if (tokenA is JObject objA && tokenB is JObject objB) - { - if (objA.Count > objB.Count) - { - AssertMissingProperties(objA, objB, true); - } - else if (objA.Count < objB.Count) - { - AssertMissingProperties(objB, objA, false); - } - } - - void AssertMissingProperties(JObject largerObject, JObject smallerObject, bool expected) - { - var i = 0; - foreach (var pair in largerObject) - { - if (i < smallerObject.Count) - { - i++; - continue; - } - - throw new AssertionException($"{(expected ? "Missing" : "Unexpected")} property \"{pair.Key}\" at {largerObject.Path}."); - } - } - } - - static async Task ExportSceneAll(bool binary, bool toStream = false) - { - var sceneName = GetExportSceneName(); - SceneManager.LoadScene(sceneName, LoadSceneMode.Single); - - var scene = SceneManager.GetActiveScene(); - - var rootObjects = scene.GetRootGameObjects(); - - var logger = new CollectingLogger(); - var export = new GameObjectExport( - new ExportSettings - { - Format = binary ? GltfFormat.Binary : GltfFormat.Json, - FileConflictResolution = FileConflictResolution.Overwrite, - }, - logger: logger - ); - export.AddScene(rootObjects, sceneName); - var extension = binary ? GltfGlobals.GlbExt : GltfGlobals.GltfExt; - var path = Path.Combine(Application.persistentDataPath, $"ExportScene{extension}"); - - bool success; - if (toStream) - { - var glbStream = new MemoryStream(); - success = await export.SaveToStreamAndDispose(glbStream); - Assert.Greater(glbStream.Length, 20); - glbStream.Close(); - } - else - { - success = await export.SaveToFileAndDispose(path); - } - Assert.IsTrue(success); - LoggerTest.AssertLogger(logger, new LogCode[] { }); -#if GLTF_VALIDATOR && UNITY_EDITOR - ValidateGltf(path, new [] { - MessageCode.ACCESSOR_ELEMENT_OUT_OF_MAX_BOUND, - MessageCode.ACCESSOR_MAX_MISMATCH, - MessageCode.ACCESSOR_MIN_MISMATCH, - MessageCode.NODE_EMPTY, - MessageCode.UNUSED_OBJECT, - }); -#endif - } - - internal static void AssertLogger(CollectingLogger logger) - { - logger.LogAll(); - if (logger.Count > 0) - { - foreach (var item in logger.Items) - { -#if !UNITY_IMAGECONVERSION - if (item.Type == LogType.Warning && item.Code == LogCode.ImageConversionNotEnabled) - { - continue; - } -#endif - Assert.AreEqual(LogType.Log, item.Type, item.ToString()); - } - } - } - - /// - /// Fill-in for NUnit's Assert.ThrowsAsync - /// Source: https://forum.unity.com/threads/can-i-replace-upgrade-unitys-nunit.488580/#post-6543523 - /// - /// - /// - /// - /// - /// - /// - static void AssertThrowsAsync(AsyncTestDelegate code, string message = "", params object[] args) where TActual : Exception - { - Assert.Throws(() => - { - try - { - code.Invoke().Wait(); // Will wrap any exceptions in an AggregateException - } - catch (AggregateException e) - { - if (e.InnerException is null) - { - throw; - } - throw e.InnerException; // Throw the unwrapped exception - } - }, message, args); - } - - delegate Task AsyncTestDelegate(); - - -#if GLTF_VALIDATOR && UNITY_EDITOR - internal static void ValidateGltf(string path, params MessageCode[] expectedMessages) { - var report = Validator.Validate(path); - Assert.NotNull(report, $"Report null for {path}"); - // report.Log(); - if (report.issues != null) { - foreach (var message in report.issues.messages) { - if (((IList)expectedMessages).Contains(message.codeEnum)) { - continue; - } - Assert.Greater(message.severity, 0, $"Error {message} (path {Path.GetFileName(path)})"); - Assert.Greater(message.severity, 1, $"Warning {message} (path {Path.GetFileName(path)})"); - } - } - } -#endif - - static string GetExportSceneName() - { - switch (RenderPipelineUtils.RenderPipeline) - { - case RenderPipeline.HighDefinition: - return k_SceneNameHighDefinition; - case RenderPipeline.Universal: - return k_SceneNameUniversal; - default: - return k_SceneNameBuiltIn; - } - } - - protected static void TryIgnoreDivergentRenderPipeline(RenderPipeline expectedPipeline) - { - var actualPipeline = RenderPipelineUtils.RenderPipeline; - if (expectedPipeline != actualPipeline) - { - Assert.Ignore($"Ignore {expectedPipeline} test in {actualPipeline} setup."); - } - } - - public void Setup() - { -#if UNITY_EDITOR - SetupTests(); -#endif - } - } -} diff --git a/Tests/Runtime/Scripts/Export/ExportTests.cs.meta b/Tests/Runtime/Scripts/Export/ExportTests.cs.meta deleted file mode 100644 index 4dca07978..000000000 --- a/Tests/Runtime/Scripts/Export/ExportTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 8b69c11f160c74445b71594d538f17f4 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts/Export/GltfBuiltInShaderMaterialExporterTests.cs b/Tests/Runtime/Scripts/Export/GltfBuiltInShaderMaterialExporterTests.cs deleted file mode 100644 index 727956033..000000000 --- a/Tests/Runtime/Scripts/Export/GltfBuiltInShaderMaterialExporterTests.cs +++ /dev/null @@ -1,145 +0,0 @@ -// SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using System; -using GLTFast.Export; -using NUnit.Framework; -using UnityEngine; - -namespace GLTFast.Tests.Export -{ - [TestFixture, Category("Export")] - class GltfBuiltInShaderMaterialExporterTests : MaterialExportTests - { - [Test] - public void BaseColorTextureCutout() - { - BaseColorTextureCutoutTest(RenderPipeline.BuiltIn); - } - - [Test] - public void BaseColorTextureTransparent() - { - BaseColorTextureTransparentTest(RenderPipeline.BuiltIn); - } - - [Test] - public void BaseColor() - { - BaseColorTest(RenderPipeline.BuiltIn); - } - - [Test] - public void BaseColorTexture() - { - BaseColorTextureTest(RenderPipeline.BuiltIn); - } - - [Test] - public void BaseColorTextureTranslated() - { - BaseColorTextureTranslatedTest(RenderPipeline.BuiltIn); - } - - [Test] - public void BaseColorTextureScaled() - { - BaseColorTextureScaledTest(RenderPipeline.BuiltIn); - } - - [Test] - public void BaseColorTextureRotated() - { - BaseColorTextureRotatedTest(RenderPipeline.BuiltIn); - } - - [Test] - public void RoughnessTexture() - { - RoughnessTextureTest(RenderPipeline.BuiltIn); - } - - [Test] - public void Metallic() - { - MetallicTest(RenderPipeline.BuiltIn); - } - - [Test] - public void MetallicTexture() - { - MetallicTextureTest(RenderPipeline.BuiltIn); - } - - [Test] - public void MetallicRoughnessTexture() - { - MetallicRoughnessTextureTest(RenderPipeline.BuiltIn); - } - - [Test] - public void MetallicRoughnessOcclusionTexture() - { - MetallicRoughnessOcclusionTextureTest(RenderPipeline.BuiltIn); - } - - [Test] - public void OcclusionTexture() - { - OcclusionTextureTest(RenderPipeline.BuiltIn); - } - - [Test] - public void EmissiveFactor() - { - EmissiveFactorTest(RenderPipeline.BuiltIn); - } - - [Test] - public void EmissiveTexture() - { - EmissiveTextureTest(RenderPipeline.BuiltIn); - } - - [Test] - public void EmissiveTextureFactor() - { - EmissiveTextureFactorTest(RenderPipeline.BuiltIn); - } - - [Test] - public void NormalTexture() - { - NormalTextureTest(RenderPipeline.BuiltIn); - } - - [Test] - public void NotGltf() - { - NotGltfTest(RenderPipeline.BuiltIn); - } - - [Test] - public void Omni() - { - OmniTest(RenderPipeline.BuiltIn); - } - - [Test] - public void AddImageFail() - { - AddImageFailTest(RenderPipeline.BuiltIn); - } - - [Test] - public void DoubleSided() - { - DoubleSidedTest(RenderPipeline.BuiltIn); - } - - protected override void SetUpExporter() - { - m_Exporter = new GltfBuiltInShaderMaterialExporter(); - } - } -} diff --git a/Tests/Runtime/Scripts/Export/GltfBuiltInShaderMaterialExporterTests.cs.meta b/Tests/Runtime/Scripts/Export/GltfBuiltInShaderMaterialExporterTests.cs.meta deleted file mode 100644 index edb8e0ed0..000000000 --- a/Tests/Runtime/Scripts/Export/GltfBuiltInShaderMaterialExporterTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 800184f52bcf3473a87e70375d12a9f2 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts/Export/GltfHdrpMaterialExporterTests.cs b/Tests/Runtime/Scripts/Export/GltfHdrpMaterialExporterTests.cs deleted file mode 100644 index b6cd05a58..000000000 --- a/Tests/Runtime/Scripts/Export/GltfHdrpMaterialExporterTests.cs +++ /dev/null @@ -1,191 +0,0 @@ -// SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using System; -using GLTFast.Export; -using NUnit.Framework; -using UnityEngine; - -namespace GLTFast.Tests.Export -{ - [TestFixture, Category("Export")] - class GltfHdrpMaterialExporterTests : MaterialExportTests - { - [Test] - public void BaseColor() - { - CertifyRequirements(); - BaseColorTest(RenderPipeline.HighDefinition); - } - - [Test] - public void BaseColorTexture() - { - CertifyRequirements(); - BaseColorTextureTest(RenderPipeline.HighDefinition); - } - - [Test] - public void BaseColorTextureTranslated() - { - CertifyRequirements(); - BaseColorTextureTranslatedTest(RenderPipeline.HighDefinition); - } - - [Test] - public void BaseColorTextureScaled() - { - CertifyRequirements(); - BaseColorTextureScaledTest(RenderPipeline.HighDefinition); - } - - [Test] - public void BaseColorTextureRotated() - { - CertifyRequirements(); - BaseColorTextureRotatedTest(RenderPipeline.HighDefinition); - } - - [Test] - public void BaseColorTextureCutout() - { - CertifyRequirements(); -#if !USING_URP || USING_URP_12_OR_NEWER - BaseColorTextureCutoutTest(RenderPipeline.HighDefinition); -#else - Assert.Ignore("Not testing legacy URP version older than 12.x."); -#endif - } - - [Test] - public void BaseColorTextureTransparent() - { - CertifyRequirements(); -#if !USING_URP || USING_URP_12_OR_NEWER - BaseColorTextureTransparentTest(RenderPipeline.HighDefinition); -#else - Assert.Ignore("Not testing legacy URP version older than 12.x."); -#endif - } - - [Test] - public void RoughnessTexture() - { - CertifyRequirements(); - RoughnessTextureTest(RenderPipeline.HighDefinition); - } - - [Test] - public void Metallic() - { - CertifyRequirements(); - MetallicTest(RenderPipeline.HighDefinition); - } - - [Test] - public void MetallicTexture() - { - CertifyRequirements(); - MetallicTextureTest(RenderPipeline.HighDefinition); - } - - [Test] - public void MetallicRoughnessTexture() - { - CertifyRequirements(); - MetallicRoughnessTextureTest(RenderPipeline.HighDefinition); - } - - [Test] - public void MetallicRoughnessOcclusionTexture() - { - CertifyRequirements(); - MetallicRoughnessOcclusionTextureTest(RenderPipeline.HighDefinition); - } - - [Test] - public void OcclusionTexture() - { - CertifyRequirements(); - OcclusionTextureTest(RenderPipeline.HighDefinition); - } - - [Test] - public void EmissiveFactor() - { - CertifyRequirements(); - EmissiveFactorTest(RenderPipeline.HighDefinition); - } - - [Test] - public void EmissiveTexture() - { - CertifyRequirements(); - EmissiveTextureTest(RenderPipeline.HighDefinition); - } - - [Test] - public void EmissiveTextureFactor() - { - CertifyRequirements(); - EmissiveTextureFactorTest(RenderPipeline.HighDefinition); - } - - [Test] - public void NormalTexture() - { - CertifyRequirements(); - NormalTextureTest(RenderPipeline.HighDefinition); - } - - [Test] - public void NotGltf() - { - CertifyRequirements(); - NotGltfTest(RenderPipeline.HighDefinition); - } - - [Test] - public void Omni() - { - CertifyRequirements(); - OmniTest(RenderPipeline.HighDefinition); - } - - [Test] - public void AddImageFail() - { - CertifyRequirements(); - AddImageFailTest(RenderPipeline.HighDefinition); - } - - [Test] - public void DoubleSided() - { - CertifyRequirements(); -#if !USING_URP || USING_URP_12_OR_NEWER - DoubleSidedTest(RenderPipeline.HighDefinition); -#else - Assert.Ignore("Not testing legacy URP version older than 12.x."); -#endif - } - - static void CertifyRequirements() - { -#if !UNITY_SHADER_GRAPH - Assert.Ignore("Shader Graph package is missing...ignoring tests on Shader Graph based materials."); -#endif - if (RenderPipeline.HighDefinition != RenderPipelineUtils.RenderPipeline) - { - Assert.Ignore("Test requires Universal Render Pipeline."); - } - } - - protected override void SetUpExporter() - { -#if USING_HDRP - m_Exporter = new GltfHdrpMaterialExporter(); -#endif - } - } -} diff --git a/Tests/Runtime/Scripts/Export/GltfHdrpMaterialExporterTests.cs.meta b/Tests/Runtime/Scripts/Export/GltfHdrpMaterialExporterTests.cs.meta deleted file mode 100644 index f1da71813..000000000 --- a/Tests/Runtime/Scripts/Export/GltfHdrpMaterialExporterTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 209dcb793be874b418bbb6758f800a0f -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts/Export/GltfShaderGraphMaterialExporterTests.cs b/Tests/Runtime/Scripts/Export/GltfShaderGraphMaterialExporterTests.cs deleted file mode 100644 index 81044dea5..000000000 --- a/Tests/Runtime/Scripts/Export/GltfShaderGraphMaterialExporterTests.cs +++ /dev/null @@ -1,191 +0,0 @@ -// SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using System; -using GLTFast.Export; -using NUnit.Framework; -using UnityEngine; - -namespace GLTFast.Tests.Export -{ - [TestFixture, Category("Export")] - class GltfShaderGraphMaterialExporterTests : MaterialExportTests - { - [Test] - public void BaseColor() - { - CertifyRequirements(); - BaseColorTest(RenderPipeline.Universal); - } - - [Test] - public void BaseColorTexture() - { - CertifyRequirements(); - BaseColorTextureTest(RenderPipeline.Universal); - } - - [Test] - public void BaseColorTextureTranslated() - { - CertifyRequirements(); - BaseColorTextureTranslatedTest(RenderPipeline.Universal); - } - - [Test] - public void BaseColorTextureScaled() - { - CertifyRequirements(); - BaseColorTextureScaledTest(RenderPipeline.Universal); - } - - [Test] - public void BaseColorTextureRotated() - { - CertifyRequirements(); - BaseColorTextureRotatedTest(RenderPipeline.Universal); - } - - [Test] - public void BaseColorTextureCutout() - { - CertifyRequirements(); -#if !USING_URP || USING_URP_12_OR_NEWER - BaseColorTextureCutoutTest(RenderPipeline.Universal); -#else - Assert.Ignore("Not testing legacy URP version older than 12.x."); -#endif - } - - [Test] - public void BaseColorTextureTransparent() - { - CertifyRequirements(); -#if !USING_URP || USING_URP_12_OR_NEWER - BaseColorTextureTransparentTest(RenderPipeline.Universal); -#else - Assert.Ignore("Not testing legacy URP version older than 12.x."); -#endif - } - - [Test] - public void RoughnessTexture() - { - CertifyRequirements(); - RoughnessTextureTest(RenderPipeline.Universal); - } - - [Test] - public void Metallic() - { - CertifyRequirements(); - MetallicTest(RenderPipeline.Universal); - } - - [Test] - public void MetallicTexture() - { - CertifyRequirements(); - MetallicTextureTest(RenderPipeline.Universal); - } - - [Test] - public void MetallicRoughnessTexture() - { - CertifyRequirements(); - MetallicRoughnessTextureTest(RenderPipeline.Universal); - } - - [Test] - public void MetallicRoughnessOcclusionTexture() - { - CertifyRequirements(); - MetallicRoughnessOcclusionTextureTest(RenderPipeline.Universal); - } - - [Test] - public void OcclusionTexture() - { - CertifyRequirements(); - OcclusionTextureTest(RenderPipeline.Universal); - } - - [Test] - public void EmissiveFactor() - { - CertifyRequirements(); - EmissiveFactorTest(RenderPipeline.Universal); - } - - [Test] - public void EmissiveTexture() - { - CertifyRequirements(); - EmissiveTextureTest(RenderPipeline.Universal); - } - - [Test] - public void EmissiveTextureFactor() - { - CertifyRequirements(); - EmissiveTextureFactorTest(RenderPipeline.Universal); - } - - [Test] - public void NormalTexture() - { - CertifyRequirements(); - NormalTextureTest(RenderPipeline.Universal); - } - - [Test] - public void NotGltf() - { - CertifyRequirements(); - NotGltfTest(RenderPipeline.Universal); - } - - [Test] - public void Omni() - { - CertifyRequirements(); - OmniTest(RenderPipeline.Universal); - } - - [Test] - public void AddImageFail() - { - CertifyRequirements(); - AddImageFailTest(RenderPipeline.Universal); - } - - [Test] - public void DoubleSided() - { - CertifyRequirements(); -#if !USING_URP || USING_URP_12_OR_NEWER - DoubleSidedTest(RenderPipeline.Universal); -#else - Assert.Ignore("Not testing legacy URP version older than 12.x."); -#endif - } - - static void CertifyRequirements() - { -#if !UNITY_SHADER_GRAPH - Assert.Ignore("Shader Graph package is missing...ignoring tests on Shader Graph based materials."); -#endif - if (RenderPipeline.Universal != RenderPipelineUtils.RenderPipeline) - { - Assert.Ignore("Test requires Universal Render Pipeline."); - } - } - - protected override void SetUpExporter() - { -#if UNITY_SHADER_GRAPH - m_Exporter = new GltfShaderGraphMaterialExporter(); -#endif - } - } -} diff --git a/Tests/Runtime/Scripts/Export/GltfShaderGraphMaterialExporterTests.cs.meta b/Tests/Runtime/Scripts/Export/GltfShaderGraphMaterialExporterTests.cs.meta deleted file mode 100644 index 3a49845b1..000000000 --- a/Tests/Runtime/Scripts/Export/GltfShaderGraphMaterialExporterTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 9505a2f8c0b7e4f82afbb86f66e556b5 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts/Export/GltfWritableMock.cs b/Tests/Runtime/Scripts/Export/GltfWritableMock.cs deleted file mode 100644 index 5d9c3dfd0..000000000 --- a/Tests/Runtime/Scripts/Export/GltfWritableMock.cs +++ /dev/null @@ -1,164 +0,0 @@ -// SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using System; -using System.Collections.Generic; -using System.IO; -using System.Threading.Tasks; -using GLTFast.Export; -using GLTFast.Schema; -using Unity.Mathematics; -using UnityEngine; -using Camera = UnityEngine.Camera; -using Material = UnityEngine.Material; -using Mesh = UnityEngine.Mesh; -using Texture = GLTFast.Schema.Texture; - -namespace GLTFast.Tests.Export -{ - class GltfWritableMock : IGltfWritable - { - public List imageExports = new List(); - public List samplers = new List(); - public List textures = new List(); - - public Dictionary extensions = new Dictionary(); - - List m_SamplerKeys; - - bool m_ImageConversion; - - public GltfWritableMock(bool imageConversion = true) - { - m_ImageConversion = imageConversion; - } - - public uint AddNode(float3? translation = null, quaternion? rotation = null, float3? scale = null, uint[] children = null, string name = null) - { - throw new NotImplementedException(); - } - - public void AddMeshToNode(int nodeId, Mesh uMesh, int[] materialIds) - { - AddMeshToNode(nodeId, uMesh, materialIds, true); - } - - public void AddMeshToNode(int nodeId, Mesh uMesh, int[] materialIds, bool skinning) - { - throw new NotImplementedException(); - } - - public void AddMeshToNode(int nodeId, Mesh uMesh, int[] materialIds, uint[] joints) - { - throw new NotImplementedException(); - } - - public void AddCameraToNode(int nodeId, int cameraId) - { - throw new NotImplementedException(); - } - - public void AddLightToNode(int nodeId, int lightId) - { - throw new NotImplementedException(); - } - - public bool AddMaterial(Material uMaterial, out int materialId, IMaterialExport materialExport) - { - throw new NotImplementedException(); - } - - public int AddImage(ImageExportBase imageExport) - { - if (!m_ImageConversion) return -1; - - var imageId = imageExports.IndexOf(imageExport); - if (imageId >= 0) - { - return imageId; - } - - imageId = imageExports.Count; - imageExports.Add(imageExport); - return imageId; - } - - public int AddTexture(int imageId, int samplerId) - { - if (!m_ImageConversion) return -1; - - textures ??= new List(); - - var texture = new Texture - { - source = imageId, - sampler = samplerId - }; - - var index = textures.IndexOf(texture); - if (index >= 0) - { - return index; - } - - textures.Add(texture); - return textures.Count - 1; - } - - public int AddSampler(FilterMode filterMode, TextureWrapMode wrapModeU, TextureWrapMode wrapModeV) - { - if (filterMode == FilterMode.Bilinear && wrapModeU == TextureWrapMode.Repeat && wrapModeV == TextureWrapMode.Repeat) - { - // This is the default, so no sampler needed - return -1; - } - samplers ??= new List(); - m_SamplerKeys ??= new List(); - - var samplerKey = new SamplerKey(filterMode, wrapModeU, wrapModeV); - - var index = m_SamplerKeys.IndexOf(samplerKey); - if (index >= 0) - { - return index; - } - - samplers.Add(new Sampler(filterMode, wrapModeU, wrapModeV)); - m_SamplerKeys.Add(samplerKey); - return samplers.Count - 1; - } - - public bool AddCamera(Camera uCamera, out int cameraId) - { - throw new NotImplementedException(); - } - - public bool AddLight(Light uLight, out int lightId) - { - throw new NotImplementedException(); - } - - public uint AddScene(uint[] nodes, string name = null) - { - throw new NotImplementedException(); - } - - public void RegisterExtensionUsage(Extension extension, bool required = true) - { - if (required || (extensions.TryGetValue(extension, out var oldRequired) && !oldRequired)) - { - extensions[extension] = required; - } - } - - public Task SaveToFileAndDispose(string path) - { - throw new NotImplementedException(); - } - - public Task SaveToStreamAndDispose(Stream stream) - { - throw new NotImplementedException(); - } - } -} diff --git a/Tests/Runtime/Scripts/Export/GltfWritableMock.cs.meta b/Tests/Runtime/Scripts/Export/GltfWritableMock.cs.meta deleted file mode 100644 index 729bd2590..000000000 --- a/Tests/Runtime/Scripts/Export/GltfWritableMock.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 15b83cbd326842f198379fbaba15866b -timeCreated: 1713862183 \ No newline at end of file diff --git a/Tests/Runtime/Scripts/Export/GltfWriterTests.cs b/Tests/Runtime/Scripts/Export/GltfWriterTests.cs deleted file mode 100644 index 5e395363e..000000000 --- a/Tests/Runtime/Scripts/Export/GltfWriterTests.cs +++ /dev/null @@ -1,123 +0,0 @@ -// SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using System.Collections; -using System.IO; -using System.Threading.Tasks; -using GLTFast.Export; -using GLTFast.Logging; -using NUnit.Framework; -using UnityEngine; -using UnityEngine.TestTools; - -namespace GLTFast.Tests.Export -{ - class GltfWriterTests - { - [UnityTest] - public IEnumerator ToStreamNotSelfContained() - { - var logger = new CollectingLogger(); - - yield return AsyncWrapper.WaitForTask( - ToStreamNotSelfContained(logger) - ); - - LoggerTest.AssertLogger( - logger, - new[] - { - new LogItem( - LogType.Error, - LogCode.None, - "Save to Stream currently only works for self-contained glTF-Binary" - ) - }); - } - - /// - /// Write a non-self-contained glTF to stream is not supported. Previously this resulted in a - /// NullReferenceException when no logger was provided. - /// - /// - /// Coroutine iterator - [UnityTest] - public IEnumerator ToStreamNotSelfContainedNoLogger() - { - yield return AsyncWrapper.WaitForTask( - ToStreamNotSelfContained(null) - ); - } - - static async Task ToStreamNotSelfContained(ICodeLogger logger) - { - var writer = new GltfWriter( - new ExportSettings - { - Format = GltfFormat.Binary, - ImageDestination = ImageDestination.SeparateFile - }, - logger: logger - ); - - await writer.SaveToStreamAndDispose(new MemoryStream()); - } - - [UnityTest] - public IEnumerator DracoUncompressedFallback() - { -#if DRACO_UNITY - var logger = new CollectingLogger(); - yield return AsyncWrapper.WaitForTask( - DracoUncompressedFallback(logger) - ); - - LoggerTest.AssertLogger( - logger, - new[] - { - new LogItem( - LogType.Warning, - LogCode.UncompressedFallbackNotSupported - ) - }); -#else - Assert.Ignore("Requires Draco for Unity package to be installed."); - yield return null; -#endif - } - - [UnityTest] - public IEnumerator DracoUncompressedFallbackNoLogger() - { -#if DRACO_UNITY - yield return AsyncWrapper.WaitForTask( - DracoUncompressedFallback(null) - ); -#else - Assert.Ignore("Requires Draco for Unity package to be installed."); - yield return null; -#endif - } - - static async Task DracoUncompressedFallback(ICodeLogger logger) - { - var writer = new GltfWriter( - new ExportSettings - { - Format = GltfFormat.Binary, - Compression = Compression.Uncompressed | Compression.Draco - }, - logger: logger - ); - - var node = writer.AddNode(); - var tmpGameObject = GameObject.CreatePrimitive(PrimitiveType.Plane); - writer.AddMeshToNode((int)node, tmpGameObject.GetComponent().sharedMesh, null, null); - - await writer.SaveToStreamAndDispose(new MemoryStream()); - - Object.Destroy(tmpGameObject); - } - } -} diff --git a/Tests/Runtime/Scripts/Export/GltfWriterTests.cs.meta b/Tests/Runtime/Scripts/Export/GltfWriterTests.cs.meta deleted file mode 100644 index ab3fe42f1..000000000 --- a/Tests/Runtime/Scripts/Export/GltfWriterTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: e83d93238fd18424bb7a3a60ae4e765e -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts/Export/JsonSerialization.cs b/Tests/Runtime/Scripts/Export/JsonSerialization.cs deleted file mode 100644 index 749982f2e..000000000 --- a/Tests/Runtime/Scripts/Export/JsonSerialization.cs +++ /dev/null @@ -1,70 +0,0 @@ -// SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using System.Collections.Generic; -using System.IO; -using System.Text; -using GLTFast.Schema; -using NUnit.Framework; -using UnityEngine; -using Mesh = GLTFast.Schema.Mesh; - -namespace GLTFast.Tests.Export -{ - class JsonSerialization - { - [Test] - public void MaterialsVariantsExtension() - { - var gltf = new Root - { - extensions = new RootExtensions - { - KHR_materials_variants = new MaterialsVariantsRootExtension - { - variants = new List - { - new MaterialsVariant{ name = "red" }, - new MaterialsVariant{ name = "green" }, - new MaterialsVariant{ name = "blue" }, - } - } - }, - meshes = new[] - { - new Mesh - { - primitives = new [] - { - new MeshPrimitive - { - extensions = new MeshPrimitiveExtensions - { - KHR_materials_variants = new MaterialsVariantsMeshPrimitiveExtension - { - mappings = new List - { - new MaterialVariantsMapping {material = 0, variants = new [] { 0 }}, - new MaterialVariantsMapping {material = 1, variants = new [] { 1 }}, - new MaterialVariantsMapping {material = 2, variants = new [] { 2 }}, - } - } - } - } - } - } - } - }; - - var stream = new MemoryStream(); - var writer = new StreamWriter(stream); - gltf.GltfSerialize(writer); - writer.Close(); - var jsonString = Encoding.Default.GetString((stream.ToArray())); - Assert.AreEqual( - @"{""meshes"":[{""primitives"":[{""extensions"":{""KHR_materials_variants"":{""mappings"":[{""material"":0,""variants"":[0]},{""material"":1,""variants"":[1]},{""material"":2,""variants"":[2]}]}}}]}],""extensions"":{""KHR_materials_variants"":{""variants"":[""name"":""red"",""name"":""green"",""name"":""blue""]}}}", - jsonString - ); - } - } -} diff --git a/Tests/Runtime/Scripts/Export/JsonSerialization.cs.meta b/Tests/Runtime/Scripts/Export/JsonSerialization.cs.meta deleted file mode 100644 index b6e65cd7b..000000000 --- a/Tests/Runtime/Scripts/Export/JsonSerialization.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 82a57d5f85c97406983cf0aea93a093a -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts/Export/MaterialExportTests.cs b/Tests/Runtime/Scripts/Export/MaterialExportTests.cs deleted file mode 100644 index 414a04b7a..000000000 --- a/Tests/Runtime/Scripts/Export/MaterialExportTests.cs +++ /dev/null @@ -1,470 +0,0 @@ -// SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using System; -using GLTFast.Export; -using GLTFast.Logging; -using GLTFast.Schema; -using NUnit.Framework; -using UnityEngine; -using UnityEngine.TestTools.Utils; -using Material = UnityEngine.Material; - -namespace GLTFast.Tests.Export -{ - abstract class MaterialExportTests - { - const string k_ResourcePath = "Export/Materials/"; - - protected IMaterialExport m_Exporter; - - protected void BaseColorTest(RenderPipeline renderPipeline) - { - var material = ConvertMaterial("BaseColor", out _, renderPipeline); - - Assert.IsNotNull(material.pbrMetallicRoughness); - Assert.AreEqual(new[] { .199999973f, .5, .75f, 1 }, material.pbrMetallicRoughness.baseColorFactor); - } - - protected void BaseColorTextureTest(RenderPipeline renderPipeline) - { -#if UNITY_IMAGECONVERSION - var texture = BaseColorTextureTest( - "BaseColorTexture", - out var gltfWriter, - renderPipeline, - out _); - Assert.IsNull(texture.extensions); - Assert.AreEqual(0, gltfWriter.extensions.Count); -#else - Assert.Ignore("Texture export is disabled! " + LogMessages.GetFullMessage(LogCode.ImageConversionNotEnabled)); -#endif - } - - protected void BaseColorTextureTranslatedTest(RenderPipeline renderPipeline) - { -#if UNITY_IMAGECONVERSION - var texture = BaseColorTextureTest( - "BaseColorTextureTranslated", - out var gltfWriter, - renderPipeline, - out _); - Assert.IsTrue(gltfWriter.extensions[Extension.TextureTransform]); - var transform = texture.extensions?.KHR_texture_transform; - Assert.IsNotNull(transform); - Assert.AreEqual(new[] { 0.4f, 0.6f }, transform.offset); - Assert.AreEqual(new[] { 1f, 1f }, transform.scale); - Assert.AreEqual(0, transform.rotation); -#else - Assert.Ignore("Texture export is disabled! " + LogMessages.GetFullMessage(LogCode.ImageConversionNotEnabled)); -#endif - } - - - protected void BaseColorTextureScaledTest(RenderPipeline renderPipeline) - { -#if UNITY_IMAGECONVERSION - var texture = BaseColorTextureTest( - "BaseColorTextureScaled", - out var gltfWriter, - renderPipeline, - out _); - Assert.IsTrue(gltfWriter.extensions[Extension.TextureTransform]); - var transform = texture.extensions?.KHR_texture_transform; - Assert.IsNotNull(transform); - Assert.AreEqual(new[] { 1.2f, 1.3f }, transform.scale); - Assert.AreEqual(new[] { 0f, 0f }, transform.offset); - Assert.AreEqual(0, transform.rotation); -#else - Assert.Ignore("Texture export is disabled! " + LogMessages.GetFullMessage(LogCode.ImageConversionNotEnabled)); -#endif - } - - protected void BaseColorTextureCutoutTest(RenderPipeline renderPipeline) - { -#if UNITY_IMAGECONVERSION - BaseColorTextureTest( - "BaseColorTextureCutout", - out _, - renderPipeline, - out var material); - Assert.AreEqual(MaterialBase.AlphaMode.Mask, material.GetAlphaMode()); - Assert.AreEqual(.6f, material.alphaCutoff); -#else - Assert.Ignore("Texture export is disabled! " + LogMessages.GetFullMessage(LogCode.ImageConversionNotEnabled)); -#endif - } - - protected void BaseColorTextureTransparentTest(RenderPipeline renderPipeline) - { -#if UNITY_IMAGECONVERSION - BaseColorTextureTest( - "BaseColorTextureTransparent", - out _, - renderPipeline, - out var material); - Assert.AreEqual(MaterialBase.AlphaMode.Blend, material.GetAlphaMode()); -#else - Assert.Ignore("Texture export is disabled! " + LogMessages.GetFullMessage(LogCode.ImageConversionNotEnabled)); -#endif - } - - protected void BaseColorTextureRotatedTest(RenderPipeline renderPipeline) - { -#if UNITY_IMAGECONVERSION - var texture = BaseColorTextureTest( - "BaseColorTextureRotated", - out var gltfWriter, - renderPipeline, - out _); - Assert.IsTrue(gltfWriter.extensions[Extension.TextureTransform]); - var transform = texture.extensions?.KHR_texture_transform; - Assert.IsNotNull(transform); - Assert.AreEqual(45, transform.rotation); - Assert.AreEqual(new[] { 0f, 0f }, transform.offset); - var comparer = new FloatEqualityComparer(10e-8f); - Assert.That(transform.scale, Is.EquivalentTo(new[] { 1f, 1f }).Using(comparer)); -#else - Assert.Ignore("Texture export is disabled! " + LogMessages.GetFullMessage(LogCode.ImageConversionNotEnabled)); -#endif - } - - protected void RoughnessTextureTest(RenderPipeline renderPipeline) - { -#if UNITY_IMAGECONVERSION - var material = ConvertMaterial("RoughnessTexture", out var gltfWriter, renderPipeline); - - Assert.AreEqual(1, gltfWriter.imageExports.Count); - Assert.AreEqual(1, gltfWriter.samplers.Count); - Assert.AreEqual(1, gltfWriter.textures.Count); - Assert.IsInstanceOf(gltfWriter.imageExports[0]); - - var mrTexture = material.pbrMetallicRoughness?.metallicRoughnessTexture; - Assert.IsNotNull(mrTexture); - Assert.IsNull(mrTexture.extensions); - - Assert.AreEqual(.89f, material.pbrMetallicRoughness.roughnessFactor); - Assert.AreEqual(0f, material.pbrMetallicRoughness.metallicFactor); -#else - Assert.Ignore("Texture export is disabled! " + LogMessages.GetFullMessage(LogCode.ImageConversionNotEnabled)); -#endif - } - - protected void MetallicTest(RenderPipeline renderPipeline) - { - var material = ConvertMaterial("Metallic", out _, renderPipeline); - Assert.IsNotNull(material.pbrMetallicRoughness); - Assert.AreEqual(.89f, material.pbrMetallicRoughness.metallicFactor); - } - - protected void MetallicTextureTest(RenderPipeline renderPipeline) - { -#if UNITY_IMAGECONVERSION - var material = ConvertMaterial("MetallicTexture", out var gltfWriter, renderPipeline); - - Assert.AreEqual(1, gltfWriter.imageExports.Count); - Assert.AreEqual(0, gltfWriter.samplers.Count); - Assert.AreEqual(1, gltfWriter.textures.Count); - Assert.IsInstanceOf(gltfWriter.imageExports[0]); - - Assert.IsNotNull(material.pbrMetallicRoughness); - Assert.AreEqual(1f, material.pbrMetallicRoughness.metallicFactor); - - var mrTexture = material.pbrMetallicRoughness?.metallicRoughnessTexture; - Assert.NotNull(mrTexture); - - var transform = mrTexture.extensions?.KHR_texture_transform; - Assert.IsNotNull(transform); - Assert.AreEqual(new[] { 2f, 2f }, transform.scale); -#else - Assert.Ignore("Texture export is disabled! " + LogMessages.GetFullMessage(LogCode.ImageConversionNotEnabled)); -#endif - } - - protected void MetallicRoughnessTextureTest(RenderPipeline renderPipeline) - { -#if UNITY_IMAGECONVERSION - var material = ConvertMaterial("MetallicRoughnessTexture", out var gltfWriter, renderPipeline); - - Assert.AreEqual(1, gltfWriter.imageExports.Count); - Assert.AreEqual(0, gltfWriter.samplers.Count); - Assert.AreEqual(1, gltfWriter.textures.Count); - Assert.IsInstanceOf(gltfWriter.imageExports[0]); - - Assert.IsNotNull(material.pbrMetallicRoughness); - Assert.AreEqual(1f, material.pbrMetallicRoughness.metallicFactor); - Assert.AreEqual(1f, material.pbrMetallicRoughness.roughnessFactor); - - var mrTexture = material.pbrMetallicRoughness?.metallicRoughnessTexture; - Assert.NotNull(mrTexture); -#else - Assert.Ignore("Texture export is disabled! " + LogMessages.GetFullMessage(LogCode.ImageConversionNotEnabled)); -#endif - } - - protected void MetallicRoughnessOcclusionTextureTest(RenderPipeline renderPipeline) - { -#if UNITY_IMAGECONVERSION - var material = ConvertMaterial("MetallicRoughnessOcclusionTexture", out var gltfWriter, renderPipeline); - - Assert.AreEqual(1, gltfWriter.imageExports.Count); - Assert.AreEqual(0, gltfWriter.samplers.Count); - Assert.AreEqual(1, gltfWriter.textures.Count); - Assert.IsInstanceOf(gltfWriter.imageExports[0]); - - var mrTexture = material.pbrMetallicRoughness?.metallicRoughnessTexture; - Assert.NotNull(mrTexture); - - var oTexture = material.occlusionTexture; - Assert.NotNull(oTexture); - Assert.AreEqual(.8f, oTexture.strength); -#else - Assert.Ignore("Texture export is disabled! " + LogMessages.GetFullMessage(LogCode.ImageConversionNotEnabled)); -#endif - } - - protected void OcclusionTextureTest(RenderPipeline renderPipeline) - { -#if UNITY_IMAGECONVERSION - var material = ConvertMaterial("OcclusionTexture", out var gltfWriter, renderPipeline); - - Assert.AreEqual(1, gltfWriter.imageExports.Count); - Assert.AreEqual(0, gltfWriter.samplers.Count); - Assert.AreEqual(1, gltfWriter.textures.Count); - Assert.IsInstanceOf(gltfWriter.imageExports[0]); - - Assert.IsNotNull(material.pbrMetallicRoughness); - Assert.AreEqual(0f, material.pbrMetallicRoughness.metallicFactor); - - var oTexture = material.occlusionTexture; - Assert.NotNull(oTexture); - Assert.AreEqual(.8f, oTexture.strength); - - var transform = oTexture.extensions?.KHR_texture_transform; - Assert.IsNotNull(transform); - Assert.AreEqual(new[] { 2f, 2f }, transform.scale); -#else - Assert.Ignore("Texture export is disabled! " + LogMessages.GetFullMessage(LogCode.ImageConversionNotEnabled)); -#endif - } - - protected void EmissiveFactorTest(RenderPipeline renderPipeline) - { - var material = ConvertMaterial("EmissiveFactor", out _, renderPipeline); - - Assert.AreEqual(new Color(1, 1, 0), material.Emissive); - Assert.IsNull(material.emissiveTexture); - } - - protected void EmissiveTextureTest(RenderPipeline renderPipeline) - { -#if UNITY_IMAGECONVERSION - var material = ConvertMaterial("EmissiveTexture", out var gltfWriter, renderPipeline); - - Assert.AreEqual(1, gltfWriter.imageExports.Count); - Assert.AreEqual(0, gltfWriter.samplers.Count); - Assert.AreEqual(1, gltfWriter.textures.Count); - Assert.IsInstanceOf(gltfWriter.imageExports[0]); - - Assert.AreEqual(Color.white, material.Emissive); - - var texture = material.emissiveTexture; - Assert.NotNull(texture); - - Assert.IsNull(texture.extensions?.KHR_texture_transform); -#else - Assert.Ignore("Texture export is disabled! " + LogMessages.GetFullMessage(LogCode.ImageConversionNotEnabled)); -#endif - } - - protected void EmissiveTextureFactorTest(RenderPipeline renderPipeline) - { -#if UNITY_IMAGECONVERSION - var material = ConvertMaterial("EmissiveTextureFactor", out var gltfWriter, renderPipeline); - - Assert.AreEqual(1, gltfWriter.imageExports.Count); - Assert.AreEqual(0, gltfWriter.samplers.Count); - Assert.AreEqual(1, gltfWriter.textures.Count); - Assert.IsInstanceOf(gltfWriter.imageExports[0]); - - Assert.AreEqual(new Color(1, .7353569f, 0), material.Emissive); - - var texture = material.emissiveTexture; - Assert.NotNull(texture); - - var transform = texture.extensions?.KHR_texture_transform; - Assert.IsNotNull(transform); - Assert.AreEqual(new[] { 2f, 3f }, transform.scale); -#else - Assert.Ignore("Texture export is disabled! " + LogMessages.GetFullMessage(LogCode.ImageConversionNotEnabled)); -#endif - } - - protected void NormalTextureTest(RenderPipeline renderPipeline) - { -#if UNITY_IMAGECONVERSION - var material = ConvertMaterial("NormalTexture", out var gltfWriter, renderPipeline); - - Assert.AreEqual(1, gltfWriter.imageExports.Count); - Assert.AreEqual(0, gltfWriter.samplers.Count); - Assert.AreEqual(1, gltfWriter.textures.Count); - Assert.IsInstanceOf(gltfWriter.imageExports[0]); - - Assert.IsNotNull(material.pbrMetallicRoughness); - - var texture = material.normalTexture; - Assert.NotNull(texture); - Assert.AreEqual(1.1f, texture.scale); - - var transform = texture.extensions?.KHR_texture_transform; - Assert.IsNotNull(transform); - Assert.AreEqual(new[] { 1.5f, 1.2f }, transform.scale); - Assert.AreEqual(new[] { 0f, 0f }, transform.offset); - Assert.AreEqual(0, transform.rotation); -#else - Assert.Ignore("Texture export is disabled! " + LogMessages.GetFullMessage(LogCode.ImageConversionNotEnabled)); -#endif - } - - protected void NotGltfTest(RenderPipeline renderPipeline) - { - var material = ConvertMaterial("NotGltf", out _, renderPipeline); - Assert.IsNotNull(material); - } - - protected void OmniTest(RenderPipeline renderPipeline) - { -#if UNITY_IMAGECONVERSION - var material = ConvertMaterial("Omni", out var gltfWriter, renderPipeline); - - Assert.AreEqual(4, gltfWriter.imageExports.Count); - Assert.AreEqual(0, gltfWriter.samplers.Count); - Assert.AreEqual(4, gltfWriter.textures.Count); - Assert.IsInstanceOf(gltfWriter.imageExports[0]); - - Assert.IsNotNull(material.pbrMetallicRoughness); - Assert.AreEqual(new[] { 0.787412345f, 0.603827417f, 0.447988421f, 1 }, material.pbrMetallicRoughness.baseColorFactor); - var baseColorTexture = material.pbrMetallicRoughness.baseColorTexture; - Assert.IsNotNull(baseColorTexture); - Assert.AreEqual(0, baseColorTexture.index); - Assert.AreEqual(0, baseColorTexture.texCoord); - - Assert.AreEqual(1, gltfWriter.extensions.Count); - - var baseColorTransform = baseColorTexture.extensions?.KHR_texture_transform; - Assert.IsNotNull(baseColorTransform); - Assert.AreEqual(new[] { 0.4f, 0.6f }, baseColorTransform.offset); - Assert.AreEqual(new[] { 1f, 1f }, baseColorTransform.scale); - Assert.AreEqual(0, baseColorTransform.rotation); - - var mrTexture = material.pbrMetallicRoughness?.metallicRoughnessTexture; - Assert.NotNull(mrTexture); - - var mrTransform = mrTexture.extensions?.KHR_texture_transform; - Assert.IsNotNull(mrTransform); - Assert.AreEqual(new[] { 1.11f, 1.21f }, mrTransform.scale); - - var normalTexture = material.normalTexture; - Assert.NotNull(normalTexture); - Assert.AreEqual(0.42f, normalTexture.scale); - - var normalTransform = normalTexture.extensions?.KHR_texture_transform; - Assert.IsNotNull(normalTransform); - Assert.AreEqual(new[] { 1.5f, 1.2f }, normalTransform.scale); - Assert.AreEqual(new[] { 0f, 0f }, normalTransform.offset); - Assert.AreEqual(0, normalTransform.rotation); - - var oTexture = material.occlusionTexture; - Assert.NotNull(oTexture); - Assert.AreEqual(.58f, oTexture.strength); - - var oTransform = oTexture.extensions?.KHR_texture_transform; - Assert.IsNotNull(oTransform); - Assert.AreEqual(new[] { 1.1f, 1.2f }, oTransform.scale); -#else - Assert.Ignore("Texture export is disabled! " + LogMessages.GetFullMessage(LogCode.ImageConversionNotEnabled)); -#endif - } - - protected void AddImageFailTest(RenderPipeline renderPipeline) - { - const string name = "Omni"; - var gltfWriter = new GltfWritableMock(false); - var uMaterial = Resources.Load($"{GetResourcePath(renderPipeline)}{name}"); - Assert.IsNotNull(uMaterial); - var logger = new CollectingLogger(); - m_Exporter.ConvertMaterial(uMaterial, out var material, gltfWriter, logger); - Assert.IsNotNull(material); - LoggerTest.AssertLogger(logger); - } - - protected void DoubleSidedTest(RenderPipeline renderPipeline) - { - var material = ConvertMaterial("DoubleSided", out _, renderPipeline); - Assert.AreEqual(true, material.doubleSided); - } - - TextureInfo BaseColorTextureTest( - string name, - out GltfWritableMock gltfWriter, - RenderPipeline renderPipeline, - out Schema.Material material - ) - { - material = ConvertMaterial(name, out gltfWriter, renderPipeline); - - Assert.AreEqual(1, gltfWriter.imageExports.Count); - Assert.AreEqual(0, gltfWriter.samplers.Count); - Assert.AreEqual(1, gltfWriter.textures.Count); - Assert.IsInstanceOf(gltfWriter.imageExports[0]); - - Assert.IsNotNull(material.pbrMetallicRoughness); - Assert.AreEqual(new[] { 0.787412345f, 0.603827417f, 0.447988421f, 1 }, material.pbrMetallicRoughness.baseColorFactor); - var texture = material.pbrMetallicRoughness.baseColorTexture; - Assert.IsNotNull(texture); - Assert.AreEqual(0, texture.index); - Assert.AreEqual(0, texture.texCoord); - return texture; - } - - [OneTimeSetUp] - public void SetUp() - { - SetUpExporter(); - } - - protected abstract void SetUpExporter(); - - Schema.Material ConvertMaterial( - string name, - out GltfWritableMock gltfWriter, - RenderPipeline renderPipeline - ) - { - gltfWriter = new GltfWritableMock(); - var uMaterial = Resources.Load($"{GetResourcePath(renderPipeline)}{name}"); - Assert.IsNotNull(uMaterial); - var logger = new CollectingLogger(); - m_Exporter.ConvertMaterial(uMaterial, out var material, gltfWriter, logger); - Assert.IsNotNull(material); - LoggerTest.AssertLogger(logger); - return material; - } - - static string GetResourcePath(RenderPipeline renderPipeline) - { - switch (renderPipeline) - { - case RenderPipeline.BuiltIn: - return $"{k_ResourcePath}Built-In/"; - case RenderPipeline.Universal: - return $"{k_ResourcePath}URP/"; - case RenderPipeline.HighDefinition: - return $"{k_ResourcePath}HDRP/"; - case RenderPipeline.Unknown: - default: - throw new ArgumentOutOfRangeException(nameof(renderPipeline), renderPipeline, null); - } - } - } -} diff --git a/Tests/Runtime/Scripts/Export/MaterialExportTests.cs.meta b/Tests/Runtime/Scripts/Export/MaterialExportTests.cs.meta deleted file mode 100644 index 908c6f7e8..000000000 --- a/Tests/Runtime/Scripts/Export/MaterialExportTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 43b15ecc8a67143a9a11dd6b2ae3fb5c -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts/Export/SceneOriginTests.cs b/Tests/Runtime/Scripts/Export/SceneOriginTests.cs deleted file mode 100644 index f4dabd1e1..000000000 --- a/Tests/Runtime/Scripts/Export/SceneOriginTests.cs +++ /dev/null @@ -1,105 +0,0 @@ -// SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using System.Collections; -using System.IO; -using System.Threading.Tasks; -using GLTFast.Export; -using GLTFast.Logging; -using GLTFast.Schema; -using NUnit.Framework; -using Unity.Mathematics; -using UnityEngine; -using UnityEngine.TestTools; -using UnityEngine.TestTools.Utils; - -namespace GLTFast.Tests.Export -{ - class SceneOriginTests - { - static Vector3EqualityComparer s_Vector3Comparer; - static QuaternionEqualityComparer s_QuaternionComparer; - - [OneTimeSetUp] - public void OneTimeSetUp() - { - s_Vector3Comparer = new Vector3EqualityComparer(10e-6f); - s_QuaternionComparer = new QuaternionEqualityComparer(10e-6f); - } - - [UnityTest] - public IEnumerator SceneOrigin() - { - var task = ExportScene( - new float3(42, 0, 0), - new float3(0, 13, 0) - ); - yield return AsyncWrapper.WaitForTask(task); - var node = task.Result; - node.GetTransform(out var position, out _, out _); - Assert.That(position, Is.EqualTo(new Vector3(42, 13, 0)).Using(s_Vector3Comparer)); - } - - [UnityTest] - public IEnumerator SceneOriginRotated() - { - var task = ExportScene( - new float3(42, 0, 0), - new float3(0, 13, 0), - math.inverse(float4x4.TRS( - new float3(0, 0, 7), - quaternion.Euler(0, math.PIHALF, 0), - new float3(.1f)) - ) - ); - yield return AsyncWrapper.WaitForTask(task); - var node = task.Result; - node.GetTransform(out var position, out var rotation, out var scale); - Assert.That(position, Is.EqualTo(new Vector3(70, 130, 420)).Using(s_Vector3Comparer)); - Assert.That( - rotation, - Is.EqualTo(Quaternion.Euler(0, -90, 0)) - .Using(s_QuaternionComparer) - ); - Assert.That( - scale, - Is.EqualTo(new Vector3(10, 10, 10)).Using(s_Vector3Comparer)); - } - - static async Task ExportScene( - float3 parentPosition, - float3 nodePosition, - float4x4? sceneOrigin = null - ) - { - var root = new GameObject("root"); - root.transform.position = parentPosition; - - var node = new GameObject("node"); - node.transform.SetParent(root.transform, false); - node.transform.localPosition = nodePosition; - - var logger = new CollectingLogger(); - var export = new GameObjectExport(logger: logger); - export.AddScene(new[] { node }, sceneOrigin ?? float4x4.identity, "UnityScene"); - - var path = Path.Combine(Application.persistentDataPath, "SceneOrigin.gltf"); - var success = await export.SaveToFileAndDispose(path); - Assert.IsTrue(success); - LoggerTest.AssertLogger(logger); - - var jsonParser = new GltfJsonUtilityParser(); - var gltf = jsonParser.ParseJson( -#if UNITY_2021_3_OR_NEWER - await File.ReadAllTextAsync(path) -#else - File.ReadAllText(path) -#endif - ); - - Assert.IsNotNull(gltf?.Nodes); - Assert.AreEqual(1, gltf.Nodes.Count); - return gltf.Nodes[0]; - } - } -} diff --git a/Tests/Runtime/Scripts/Export/SceneOriginTests.cs.meta b/Tests/Runtime/Scripts/Export/SceneOriginTests.cs.meta deleted file mode 100644 index df69fce34..000000000 --- a/Tests/Runtime/Scripts/Export/SceneOriginTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: e5bd2e81dd8d14302b5833f41bd5410f -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts/Export/SceneRootObjectTestCaseAttribute.cs b/Tests/Runtime/Scripts/Export/SceneRootObjectTestCaseAttribute.cs deleted file mode 100644 index a9842c688..000000000 --- a/Tests/Runtime/Scripts/Export/SceneRootObjectTestCaseAttribute.cs +++ /dev/null @@ -1,82 +0,0 @@ -// SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using System; -using System.Collections.Generic; -using System.IO; -using NUnit.Framework; -using NUnit.Framework.Interfaces; -using NUnit.Framework.Internal; -using NUnit.Framework.Internal.Builders; -using UnityEngine; - -namespace GLTFast.Tests.Export -{ - - class SceneRootObjectTestCaseAttribute : UnityEngine.TestTools.UnityTestAttribute, ITestBuilder - { - - string m_Suffix; - string[] m_ObjectNames; - - NUnitTestCaseBuilder m_Builder = new NUnitTestCaseBuilder(); - - public SceneRootObjectTestCaseAttribute(string sceneName, string suffix = null) - { - m_Suffix = suffix; - -#if UNITY_EDITOR - try -#endif - { - m_ObjectNames = ExportTests.GetRootObjectNamesFromStreamingAssets(sceneName); - } -#if UNITY_EDITOR - catch (FileNotFoundException) - { - m_ObjectNames = ExportTests.GetRootObjectNamesFromObjectList(sceneName); - } -#endif - } - - IEnumerable ITestBuilder.BuildFrom(IMethodInfo method, Test suite) - { - var results = new List(); - - try - { - for (var i = 0; i < m_ObjectNames.Length; i++) - { - var objectName = m_ObjectNames[i]; - if (string.IsNullOrEmpty(objectName)) - { - continue; - } - var data = new TestCaseData(new object[] { i, objectName }); - - var testName = string.IsNullOrEmpty(m_Suffix) ? objectName : $"{objectName}-{m_Suffix}"; - data.SetName(testName); - data.ExpectedResult = new UnityEngine.Object(); - data.HasExpectedResult = true; - - var test = m_Builder.BuildTestMethod(method, suite, data); - if (test.parms != null) - test.parms.HasExpectedResult = false; - - test.Name = testName; - - results.Add(test); - } - } - catch (Exception ex) - { - Console.WriteLine("Failed to generate glTF testcases!"); - Debug.LogException(ex); - throw; - } - - Console.WriteLine("Generated {0} glTF test cases.", results.Count); - return results; - } - } -} diff --git a/Tests/Runtime/Scripts/Export/SceneRootObjectTestCaseAttribute.cs.meta b/Tests/Runtime/Scripts/Export/SceneRootObjectTestCaseAttribute.cs.meta deleted file mode 100644 index 8f11606c3..000000000 --- a/Tests/Runtime/Scripts/Export/SceneRootObjectTestCaseAttribute.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 7b22f380c15e14d4dade3ad49f566f0f -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts/Export/VertexAttributeUsageTests.cs b/Tests/Runtime/Scripts/Export/VertexAttributeUsageTests.cs deleted file mode 100644 index bcfda43b0..000000000 --- a/Tests/Runtime/Scripts/Export/VertexAttributeUsageTests.cs +++ /dev/null @@ -1,33 +0,0 @@ -// SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using System; -using GLTFast.Export; -using NUnit.Framework; -using UnityEngine; -using UnityEngine.Rendering; - -namespace GLTFast.Tests.Export -{ - class VertexAttributeUsageTests - { - [Test] - public void ToVertexAttributeUsage() - { - Assert.AreEqual(VertexAttributeUsage.Position, VertexAttribute.Position.ToVertexAttributeUsage()); - Assert.AreEqual(VertexAttributeUsage.Normal, VertexAttribute.Normal.ToVertexAttributeUsage()); - Assert.AreEqual(VertexAttributeUsage.Tangent, VertexAttribute.Tangent.ToVertexAttributeUsage()); - Assert.AreEqual(VertexAttributeUsage.Color, VertexAttribute.Color.ToVertexAttributeUsage()); - Assert.AreEqual(VertexAttributeUsage.TexCoord0, VertexAttribute.TexCoord0.ToVertexAttributeUsage()); - Assert.AreEqual(VertexAttributeUsage.TexCoord1, VertexAttribute.TexCoord1.ToVertexAttributeUsage()); - Assert.AreEqual(VertexAttributeUsage.TexCoord2, VertexAttribute.TexCoord2.ToVertexAttributeUsage()); - Assert.AreEqual(VertexAttributeUsage.TexCoord3, VertexAttribute.TexCoord3.ToVertexAttributeUsage()); - Assert.AreEqual(VertexAttributeUsage.TexCoord4, VertexAttribute.TexCoord4.ToVertexAttributeUsage()); - Assert.AreEqual(VertexAttributeUsage.TexCoord5, VertexAttribute.TexCoord5.ToVertexAttributeUsage()); - Assert.AreEqual(VertexAttributeUsage.TexCoord6, VertexAttribute.TexCoord6.ToVertexAttributeUsage()); - Assert.AreEqual(VertexAttributeUsage.TexCoord7, VertexAttribute.TexCoord7.ToVertexAttributeUsage()); - Assert.AreEqual(VertexAttributeUsage.BlendWeight, VertexAttribute.BlendWeight.ToVertexAttributeUsage()); - Assert.AreEqual(VertexAttributeUsage.BlendIndices, VertexAttribute.BlendIndices.ToVertexAttributeUsage()); - } - } -} diff --git a/Tests/Runtime/Scripts/Export/VertexAttributeUsageTests.cs.meta b/Tests/Runtime/Scripts/Export/VertexAttributeUsageTests.cs.meta deleted file mode 100644 index 92ba09374..000000000 --- a/Tests/Runtime/Scripts/Export/VertexAttributeUsageTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 13737a9256abd43fba5aa7d746855091 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts/Export/glTFast.Tests.Export.asmref b/Tests/Runtime/Scripts/Export/glTFast.Tests.Export.asmref deleted file mode 100644 index acd721997..000000000 --- a/Tests/Runtime/Scripts/Export/glTFast.Tests.Export.asmref +++ /dev/null @@ -1,3 +0,0 @@ -{ - "reference": "GUID:7897e000c47a54a4c8a8a7345af3c565" -} \ No newline at end of file diff --git a/Tests/Runtime/Scripts/Export/glTFast.Tests.Export.asmref.meta b/Tests/Runtime/Scripts/Export/glTFast.Tests.Export.asmref.meta deleted file mode 100644 index d9deac461..000000000 --- a/Tests/Runtime/Scripts/Export/glTFast.Tests.Export.asmref.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 68d2ad01947fd4e149284c00acabcf76 -AssemblyDefinitionReferenceImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts/Import.meta b/Tests/Runtime/Scripts/Import.meta deleted file mode 100644 index a6a35771d..000000000 --- a/Tests/Runtime/Scripts/Import.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 7bb9468bda02441a38c04f0b93a7edb1 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts/Import/AssetsTests.cs b/Tests/Runtime/Scripts/Import/AssetsTests.cs deleted file mode 100644 index 77ea25d6b..000000000 --- a/Tests/Runtime/Scripts/Import/AssetsTests.cs +++ /dev/null @@ -1,168 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using System; -using System.Collections; -using System.Collections.Generic; -using System.IO; -using System.Threading.Tasks; -using GLTFast.Logging; -using NUnit.Framework; -using UnityEngine; -using Object = UnityEngine.Object; - -namespace GLTFast.Tests.Import -{ - [TestFixture] - class AssetsTests - { - [GltfTestCase("glTF-test-models", 22)] - public IEnumerator GltfTestModels(GltfTestCaseSet testCaseSet, GltfTestCase testCase) - { - yield return AsyncWrapper.WaitForTask(RunTestCase(testCaseSet, testCase)); - } - - [GltfTestCase("glTF-Sample-Assets", 101, @"glTF(-JPG-PNG)?\/.*\.gltf$")] - public IEnumerator KhronosGltfSampleAssets(GltfTestCaseSet testCaseSet, GltfTestCase testCase) - { - yield return AsyncWrapper.WaitForTask(RunTestCase(testCaseSet, testCase)); - } - - [GltfTestCase("glTF-Sample-Assets", 7, @"glTF-Binary\/.*\.glb$")] - public IEnumerator KhronosGltfSampleAssetsBinary(GltfTestCaseSet testCaseSet, GltfTestCase testCase) - { - yield return AsyncWrapper.WaitForTask(RunTestCase(testCaseSet, testCase)); - } - - [GltfTestCase("glTF-Sample-Assets", 4, @"glTF-Draco\/.*\.gltf$")] - public IEnumerator KhronosGltfSampleAssetsDraco(GltfTestCaseSet testCaseSet, GltfTestCase testCase) - { -#if DRACO_UNITY - yield return AsyncWrapper.WaitForTask(RunTestCase(testCaseSet, testCase)); -#else - Assert.Ignore("Requires Draco for Unity package to be installed."); - yield break; -#endif - } - - [GltfTestCase("glTF-Sample-Assets", 2, @"glTF-KTX-BasisU\/.*\.gltf$")] - public IEnumerator KhronosGltfSampleAssetsKtx(GltfTestCaseSet testCaseSet, GltfTestCase testCase) - { -#if KTX_UNITY - yield return AsyncWrapper.WaitForTask(RunTestCase(testCaseSet, testCase)); -#else - Assert.Ignore("Requires KTX for Unity package to be installed."); - yield break; -#endif - } - - [GltfTestCase("glTF-Sample-Assets", 1, @"StainedGlassLamp\/glTF-KTX-BasisU\/StainedGlassLamp.gltf$")] - public IEnumerator KtxMissing(GltfTestCaseSet testCaseSet, GltfTestCase testCase) - { -#if KTX_UNITY - yield return null; - Assert.Ignore("Requires absence of KTX for Unity package."); -#else - testCase = new GltfTestCase - { - relativeUri = testCase.relativeUri, - expectLoadFail = true, - expectInstantiationFail = testCase.expectInstantiationFail, - expectedLogCodes = new[] { LogCode.PackageMissing } - }; - yield return AsyncWrapper.WaitForTask(RunTestCase(testCaseSet, testCase)); -#endif - } - - [GltfTestCase("glTF-Sample-Assets", 1, @"Box\/glTF-Draco\/Box.gltf$")] - public IEnumerator DracoMissing(GltfTestCaseSet testCaseSet, GltfTestCase testCase) - { -#if DRACO_UNITY - yield return null; - Assert.Ignore("Requires absence of Draco for Unity package."); -#else - testCase = new GltfTestCase - { - relativeUri = testCase.relativeUri, - expectLoadFail = true, - expectInstantiationFail = testCase.expectInstantiationFail, - expectedLogCodes = new[] { LogCode.PackageMissing } - }; - yield return AsyncWrapper.WaitForTask(RunTestCase(testCaseSet, testCase)); -#endif - } - - [GltfTestCase("glTF-Sample-Assets", 8, @"glTF-Embedded\/.*\.gltf$")] - public IEnumerator KhronosGltfSampleAssetsEmbedded(GltfTestCaseSet testCaseSet, GltfTestCase testCase) - { - yield return AsyncWrapper.WaitForTask(RunTestCase(testCaseSet, testCase)); - } - - [GltfTestCase("glTF-Sample-Assets", 1, @"glTF-Quantized\/.*\.gltf$")] - public IEnumerator KhronosGltfSampleAssetsQuantized(GltfTestCaseSet testCaseSet, GltfTestCase testCase) - { - yield return AsyncWrapper.WaitForTask(RunTestCase(testCaseSet, testCase)); - } - - static async Task RunTestCase(GltfTestCaseSet testCaseSet, GltfTestCase testCase) - { - var go = new GameObject(); - var deferAgent = new UninterruptedDeferAgent(); - var loadLogger = new CollectingLogger(); - var path = Path.Combine(testCaseSet.RootPath, testCase.relativeUri); - Debug.Log($"Loading {testCase} from {path}"); - - using var gltf = new GltfImport(deferAgent: deferAgent, logger: loadLogger); - var success = await gltf.Load(path); - if (success ^ !testCase.expectLoadFail) - { - AssertLoggers(new[] { loadLogger }, testCase); - if (success) - { - throw new AssertionException("glTF import unexpectedly succeeded!"); - } - - throw new AssertionException("glTF import failed!"); - } - - if (!success) - { - AssertLoggers(new[] { loadLogger }, testCase); - return; - } - var instantiateLogger = new CollectingLogger(); - var instantiator = new GameObjectInstantiator(gltf, go.transform, instantiateLogger); - success = await gltf.InstantiateMainSceneAsync(instantiator); - if (!success) - { - instantiateLogger.LogAll(); - throw new AssertionException("glTF instantiation failed"); - } - Object.Destroy(go); - AssertLoggers(new[] { loadLogger, instantiateLogger }, testCase); - } - - static void AssertLoggers(IEnumerable loggers, GltfTestCase testCase) - { - AssertLogItems(IterateLoggerItems(), testCase); - return; - - IEnumerable IterateLoggerItems() - { - foreach (var logger in loggers) - { - if (logger.Count < 1) continue; - foreach (var item in logger.Items) - { - yield return item; - } - } - } - } - - internal static void AssertLogItems(IEnumerable logItems, GltfTestCase testCase) - { - LoggerTest.AssertLogCodes(logItems, testCase.expectedLogCodes); - } - } -} diff --git a/Tests/Runtime/Scripts/Import/AssetsTests.cs.meta b/Tests/Runtime/Scripts/Import/AssetsTests.cs.meta deleted file mode 100644 index 31fde93a2..000000000 --- a/Tests/Runtime/Scripts/Import/AssetsTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 81161889e3c754c72aa340372bca135b -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts/Import/GltfBufferMock.cs b/Tests/Runtime/Scripts/Import/GltfBufferMock.cs deleted file mode 100644 index 9470feb41..000000000 --- a/Tests/Runtime/Scripts/Import/GltfBufferMock.cs +++ /dev/null @@ -1,40 +0,0 @@ -// SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using System; -using GLTFast.Schema; - -namespace GLTFast.Tests -{ - unsafe class GltfBufferMock : IGltfBuffers - { - public const int sparseAccessorIndex = 42; - - public void GetAccessor(int index, out AccessorBase accessor, out void* data, out int byteStride) - { - accessor = new Accessor - { - bufferView = index, - componentType = GltfComponentType.Float, - sparse = index == sparseAccessorIndex - ? new AccessorSparse() - : null, - min = new float[] { -1, -1, -1 }, - max = new float[] { 1, 1, 1 } - }; - accessor.SetAttributeType(GltfAccessorAttributeType.VEC3); - data = null; - byteStride = 1; - } - - public void GetAccessorSparseIndices(AccessorSparseIndices sparseIndices, out void* data) - { - data = null; - } - - public void GetAccessorSparseValues(AccessorSparseValues sparseValues, out void* data) - { - data = null; - } - } -} diff --git a/Tests/Runtime/Scripts/Import/GltfBufferMock.cs.meta b/Tests/Runtime/Scripts/Import/GltfBufferMock.cs.meta deleted file mode 100644 index 830d3e415..000000000 --- a/Tests/Runtime/Scripts/Import/GltfBufferMock.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 04e97d45cac34d8ea890eeca12682209 -timeCreated: 1709565164 \ No newline at end of file diff --git a/Tests/Runtime/Scripts/Import/GltfTestCase.cs b/Tests/Runtime/Scripts/Import/GltfTestCase.cs deleted file mode 100644 index 7b33217f9..000000000 --- a/Tests/Runtime/Scripts/Import/GltfTestCase.cs +++ /dev/null @@ -1,36 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using System; -using GLTFast.Logging; -using UnityEngine; - -namespace GLTFast.Tests.Import -{ - [Serializable] - class GltfTestCase - { - public string relativeUri; - - public bool expectLoadFail; - public bool expectInstantiationFail; - - public LogCode[] expectedLogCodes; - - public string Filename - { - get - { - var lastSeparatorIndex = relativeUri.LastIndexOf('/'); - return lastSeparatorIndex >= 0 - ? relativeUri.Substring(lastSeparatorIndex + 1) - : relativeUri; - } - } - - public override string ToString() - { - return relativeUri; - } - } -} diff --git a/Tests/Runtime/Scripts/Import/GltfTestCase.cs.meta b/Tests/Runtime/Scripts/Import/GltfTestCase.cs.meta deleted file mode 100644 index 568be8539..000000000 --- a/Tests/Runtime/Scripts/Import/GltfTestCase.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 07bb9865c4e8e4ec0bfe73257c1b8f04 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts/Import/GltfTestCaseAttribute.cs b/Tests/Runtime/Scripts/Import/GltfTestCaseAttribute.cs deleted file mode 100644 index 5dfd50d53..000000000 --- a/Tests/Runtime/Scripts/Import/GltfTestCaseAttribute.cs +++ /dev/null @@ -1,102 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using System; -using System.Collections.Generic; -using System.IO; -using System.Text.RegularExpressions; -using NUnit.Framework; -using NUnit.Framework.Interfaces; -using NUnit.Framework.Internal; -using NUnit.Framework.Internal.Builders; -#if UNITY_EDITOR -using UnityEditor; -#endif -using UnityEngine; - -namespace GLTFast.Tests.Import -{ - class GltfTestCaseAttribute : UnityEngine.TestTools.UnityTestAttribute, ITestBuilder - { - readonly GltfTestCaseSet m_TestCases; - readonly GltfTestCaseFilter m_Filter; - - readonly NUnitTestCaseBuilder m_Builder = new NUnitTestCaseBuilder(); - - public GltfTestCaseAttribute(string testSetName, int testCaseCount, string includeFilter = null) - { -#if UNITY_EDITOR - var path = $"Packages/{GltfGlobals.GltfPackageName}/Tests/Runtime/TestCaseSets/{testSetName}.asset"; - m_TestCases = AssetDatabase.LoadAssetAtPath(path); - if (m_TestCases == null) - { - path = $"Packages/{GltfGlobals.GltfPackageName}.tests/Tests/Runtime/TestCaseSets/{testSetName}.asset"; - m_TestCases = AssetDatabase.LoadAssetAtPath(path); - } -#else - var path = $"{testSetName}.json"; - m_TestCases = GltfTestCaseSet.DeserializeFromStreamingAssets(path); -#endif - if (m_TestCases == null) - { - throw new InvalidDataException($"Test case collection not found at {path}"); - } - - m_Filter = includeFilter == null ? null : new GltfTestCaseFilter(new Regex(includeFilter)); - var actualTestCaseCount = m_TestCases.GetTestCaseCount(m_Filter); - if (testCaseCount != actualTestCaseCount) - { - throw new InvalidDataException( - $"Incorrect number of test cases in {testSetName}. " + - $"Expected {testCaseCount}, but found {actualTestCaseCount} " + - (includeFilter == null ? "" : $"(includeFilter: \"{includeFilter}\")") - ); - } - } - - IEnumerable ITestBuilder.BuildFrom(IMethodInfo method, Test suite) - { - var results = new List(); - var nameCounts = new Dictionary(); - - try - { - foreach (var testCase in m_TestCases.IterateTestCases(m_Filter)) - { - var data = new TestCaseData(new object[] { m_TestCases, testCase }); - - var origName = testCase.Filename; - string name; - if (nameCounts.TryGetValue(origName, out var count)) - { - name = $"{origName}-{count}"; - nameCounts[origName] = count + 1; - } - else - { - name = $"{origName}"; - nameCounts[origName] = 1; - } - - data.SetName($"{method.Name}.{name}"); - data.ExpectedResult = new UnityEngine.Object(); - data.HasExpectedResult = true; - - var test = m_Builder.BuildTestMethod(method, suite, data); - test.Name = name; - - results.Add(test); - } - } - catch (Exception ex) - { - Console.WriteLine("Failed to generate glTF testcases!"); - Debug.LogException(ex); - throw; - } - - Console.WriteLine("Generated {0} glTF test cases.", results.Count); - return results; - } - } -} diff --git a/Tests/Runtime/Scripts/Import/GltfTestCaseAttribute.cs.meta b/Tests/Runtime/Scripts/Import/GltfTestCaseAttribute.cs.meta deleted file mode 100644 index 8d83ea3ea..000000000 --- a/Tests/Runtime/Scripts/Import/GltfTestCaseAttribute.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 0d7b59068b40f429888aecb440f1b4e6 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts/Import/GltfTestCaseFilter.cs b/Tests/Runtime/Scripts/Import/GltfTestCaseFilter.cs deleted file mode 100644 index a489e1ee6..000000000 --- a/Tests/Runtime/Scripts/Import/GltfTestCaseFilter.cs +++ /dev/null @@ -1,23 +0,0 @@ -// SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using System; -using System.Text.RegularExpressions; - -namespace GLTFast.Tests.Import -{ - class GltfTestCaseFilter - { - Regex m_IncludeFilter; - - public GltfTestCaseFilter(Regex includeFilter) - { - m_IncludeFilter = includeFilter; - } - - public bool Matches(GltfTestCase testCase) - { - return m_IncludeFilter.IsMatch(testCase.relativeUri); - } - } -} diff --git a/Tests/Runtime/Scripts/Import/GltfTestCaseFilter.cs.meta b/Tests/Runtime/Scripts/Import/GltfTestCaseFilter.cs.meta deleted file mode 100644 index d17dcf8c3..000000000 --- a/Tests/Runtime/Scripts/Import/GltfTestCaseFilter.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 6a55c08a433740e7aea3f11aa63a5ce3 -timeCreated: 1713258913 \ No newline at end of file diff --git a/Tests/Runtime/Scripts/Import/GltfTestCaseSet.cs b/Tests/Runtime/Scripts/Import/GltfTestCaseSet.cs deleted file mode 100644 index e0ac7b219..000000000 --- a/Tests/Runtime/Scripts/Import/GltfTestCaseSet.cs +++ /dev/null @@ -1,213 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - - -#if UNITY_ANDROID || UNITY_IOS || UNITY_TVOS || UNITY_VISIONOS || UNITY_WEBGL || UNITY_WSA || UNITY_LUMIN -#define STREAMING_ASSETS_PLATFORM -#endif - -#if !UNITY_EDITOR && STREAMING_ASSETS_PLATFORM -#define LOAD_FROM_STREAMING_ASSETS -#endif - -using System; -using System.Collections.Generic; -using System.Runtime.CompilerServices; -using System.IO; -#if UNITY_EDITOR -using UnityEditor; -#endif -using UnityEngine; -#if LOAD_FROM_STREAMING_ASSETS -using UnityEngine.Networking; -#endif - -namespace GLTFast.Tests.Import -{ - [CreateAssetMenu(fileName = "glTF-TestCaseCollection", menuName = "ScriptableObjects/glTFast Test Case Collection")] - class GltfTestCaseSet : ScriptableObject - { - public static bool IsStreamingAssetsPlatform => -#if STREAMING_ASSETS_PLATFORM - true; -#else - false; -#endif - - /// - /// Path relative to "Assets", a folder at root level of the repository. - /// - public string assetsRelativePath; - - public string assetsAbsolutePath; - - [SerializeField] - GltfTestCase[] m_TestCases; - - public int TestCaseCount => m_TestCases?.Length ?? 0; - - public string streamingAssetsPath => $"gltfast/{assetsRelativePath}"; - - public IEnumerable IterateTestCases(GltfTestCaseFilter filter = null) - { - foreach (var testCase in m_TestCases) - { - if (filter == null || filter.Matches(testCase)) - { - yield return testCase; - } - } - } - - public uint GetTestCaseCount(GltfTestCaseFilter filter = null) - { - var count = 0u; - foreach (var testCase in m_TestCases) - { - if (filter == null || filter.Matches(testCase)) - { - count++; - } - } - return count; - } - - public static GltfTestCaseSet DeserializeFromStreamingAssets(string path) - { - var fullPath = Path.Combine(Application.streamingAssetsPath, path); -#if LOAD_FROM_STREAMING_ASSETS - var request = UnityWebRequest.Get(fullPath); - var it = request.SendWebRequest(); - while(!it.isDone) {} - - if (request.result != UnityWebRequest.Result.Success) - { - throw new IOException($"Loading GltfTestCaseSet from {fullPath} failed!"); - } - - var json = request.downloadHandler.text; -#else - var json = File.ReadAllText(fullPath); -#endif - var sampleSet = CreateInstance(); - JsonUtility.FromJsonOverwrite(json, sampleSet); - return sampleSet; - } - - public string RootPath => -#if LOAD_FROM_STREAMING_ASSETS - Path.Combine(Application.streamingAssetsPath, streamingAssetsPath); -#else -#if UNITY_EDITOR - SourcePath; -#else - assetsAbsolutePath; -#endif -#endif - -#if UNITY_EDITOR - /// - /// Get assets path from the root level of the glTF Test repository - /// Can be overriden via GLTF_TEST_ASSET_DIR environment variable - /// - /// Path to glTFastTest project specific assets folder - static string GetAssetsPath() - { - var assetDir = Environment.GetEnvironmentVariable("GLTF_TEST_ASSET_DIR"); - if (!string.IsNullOrEmpty(assetDir)) - { - if (Directory.Exists(assetDir)) - { - return assetDir; - } - throw new InvalidDataException($"GLTF_TEST_ASSET_DIR at {assetDir} is not a valid directory!"); - } - var dir = new DirectoryInfo(Application.dataPath); // Assets - dir = dir.Parent; // Project directory - dir = dir?.Parent; // Projects directory - dir = dir?.Parent; // Repository root directory - if (dir != null) - { - var path = Path.Combine(dir.FullName, "Assets"); - if (Directory.Exists(path)) - { - return path; - } - } - - return null; - } - - public string SourcePath => Path.Combine(GetAssetsPath(), assetsRelativePath); - - public void SerializeToStreamingAssets() - { -#if !STREAMING_ASSETS_PLATFORM - assetsAbsolutePath = SourcePath; -#endif - var jsonPathAbsolute = Path.Combine(Application.streamingAssetsPath, $"{name}.json"); - File.WriteAllText(jsonPathAbsolute, ToJson()); - } - - public void CopyToStreamingAssets(bool force = false) { - var srcPath = SourcePath; - if (string.IsNullOrEmpty(srcPath) || !Directory.Exists(srcPath)) { - Debug.LogError($"Invalid source path: \"{srcPath}\""); - return; - } - - var dstPath = Path.Combine(Application.streamingAssetsPath, streamingAssetsPath); - - if (Directory.Exists(dstPath)) { - if (force) { - Directory.Delete(dstPath); - } - else { - return; - } - } - else { - var parent = Directory.GetParent(dstPath).FullName; - if (!Directory.Exists(parent)) { - Directory.CreateDirectory(parent); - } - } - - FileUtil.CopyFileOrDirectory(srcPath, dstPath); - } - - string ToJson() - { - return JsonUtility.ToJson(this); - } - - [ContextMenu("Scan for glTF test files")] - public void ScanAndUpdateGltfTestCases() - { - ScanAndUpdateGltfTestCases("*.gl*"); - } - - void ScanAndUpdateGltfTestCases(string searchPattern) - { - var dir = new DirectoryInfo(SourcePath); - var dirLength = dir.FullName.Length + 1; - - var newTestCases = new List(); - - foreach (var file in dir.GetFiles(searchPattern, SearchOption.AllDirectories)) - { - var ext = file.Extension; - if (ext != ".gltf" && ext != ".glb") continue; - // var i = CreateInstance(); - var i = new GltfTestCase - { - relativeUri = file.FullName.Substring(dirLength) - }; - newTestCases.Add(i); - } - - m_TestCases = newTestCases.ToArray(); - } -#endif - } -} diff --git a/Tests/Runtime/Scripts/Import/GltfTestCaseSet.cs.meta b/Tests/Runtime/Scripts/Import/GltfTestCaseSet.cs.meta deleted file mode 100644 index 92eb630a6..000000000 --- a/Tests/Runtime/Scripts/Import/GltfTestCaseSet.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 59748363cc8e485aa56e62947048bff8 -timeCreated: 1706781699 \ No newline at end of file diff --git a/Tests/Runtime/Scripts/Import/LoadGltfTestCaseSet.cs b/Tests/Runtime/Scripts/Import/LoadGltfTestCaseSet.cs deleted file mode 100644 index 130844e47..000000000 --- a/Tests/Runtime/Scripts/Import/LoadGltfTestCaseSet.cs +++ /dev/null @@ -1,118 +0,0 @@ -// SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -#if !(UNITY_ANDROID || UNITY_WEBGL) || UNITY_EDITOR -#define LOCAL_LOADING -#endif - -using System.Collections.Generic; -using System.Diagnostics.CodeAnalysis; -using System.IO; -using System.Threading.Tasks; -using GLTFast.Tests.Import; -using UnityEngine; - -namespace GLTFast.Tests -{ - /// - /// Helper component that loads all glTFs of a GltfTestCaseSet. - /// Typical use-cases during development: - /// - Extract all shader variants - /// - Performance testing - /// - // Not actually used by any test at the moment, so exclude from coverage. - [ExcludeFromCodeCoverage] - class LoadGltfTestCaseSet : MonoBehaviour - { - enum Strategy - { - Fast, - Responsive - } - - [SerializeField] - GltfTestCaseSet m_GltfTestCaseSet; - - [SerializeField] - protected bool m_Local = true; - - [SerializeField] - Strategy m_Strategy = Strategy.Responsive; - - [SerializeField] - int m_NumVisibleAssets = 1; - - Queue m_VisibleAssets = new Queue(); - - async void Start() - { - await MassLoadRoutine(m_GltfTestCaseSet); - } - - async Task MassLoadRoutine(GltfTestCaseSet set) - { - - // stopWatch.StartTime(); - - IDeferAgent deferAgent; - if (m_Strategy == Strategy.Fast) - { - deferAgent = new UninterruptedDeferAgent(); - } - else - { - deferAgent = gameObject.AddComponent(); - } - - var loadTasks = new List(set.TestCaseCount); - - var rootDir = set.RootPath; - - - foreach (var testCase in set.IterateTestCases()) - { - var path = Path.Combine(rootDir, testCase.relativeUri); - if (m_Local) - { - var loadTask = LoadIt( -#if LOCAL_LOADING - $"file://{path}" -#else - path -#endif - , deferAgent - ); - loadTasks.Add(loadTask); - await deferAgent.BreakPoint(); - } - else - { - var loadTask = LoadIt(path, deferAgent); - loadTasks.Add(loadTask); - await deferAgent.BreakPoint(); - } - } - - await Task.WhenAll(loadTasks); - - // stopWatch.StopTime(); - // Debug.LogFormat("Finished loading {1} glTFs in {0} milliseconds!",stopWatch.lastDuration,set.itemCount); - } - - async Task LoadIt(string n, IDeferAgent deferAgent) - { - var go = new GameObject(Path.GetFileNameWithoutExtension(n)); - // Debug.Log(go.name); - var gltfAsset = go.AddComponent(); - gltfAsset.LoadOnStartup = false; // prevent auto-loading - await gltfAsset.Load(n, null, deferAgent); // load manually with custom defer agent - if (m_VisibleAssets.Count >= m_NumVisibleAssets) - { - var oldAsset = m_VisibleAssets.Dequeue(); - // oldAsset.gameObject.SetActive(false); - Destroy(oldAsset.gameObject); - } - m_VisibleAssets.Enqueue(gltfAsset); - } - } -} diff --git a/Tests/Runtime/Scripts/Import/LoadGltfTestCaseSet.cs.meta b/Tests/Runtime/Scripts/Import/LoadGltfTestCaseSet.cs.meta deleted file mode 100644 index b81ecd09a..000000000 --- a/Tests/Runtime/Scripts/Import/LoadGltfTestCaseSet.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 48b1a2287cd464147bac4b2c1df161e2 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts/Import/LoadTests.cs b/Tests/Runtime/Scripts/Import/LoadTests.cs deleted file mode 100644 index 6b8013142..000000000 --- a/Tests/Runtime/Scripts/Import/LoadTests.cs +++ /dev/null @@ -1,244 +0,0 @@ -// SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using System; -using System.Collections; -using System.IO; -using NUnit.Framework; -using UnityEngine; -using Object = UnityEngine.Object; -using GLTFast.Logging; -using UnityEngine.TestTools; - -namespace GLTFast.Tests.Import -{ - /// - /// Tests all of 's load methods. - /// - [Category("Import")] - class LoadTests - { - const string k_RelativeUriFilter = @"\/RelativeUri\.gl(b|tf)$"; - - [GltfTestCase("glTF-test-models", 2, k_RelativeUriFilter)] - public IEnumerator LoadString(GltfTestCaseSet testCaseSet, GltfTestCase testCase) - { - var go = new GameObject(); - var deferAgent = new UninterruptedDeferAgent(); - var logger = new ConsoleLogger(); - using var gltf = new GltfImport(deferAgent: deferAgent, logger: logger); - var path = Path.Combine(testCaseSet.RootPath, testCase.relativeUri); - var task = gltf.Load(path); - yield return Utils.WaitForTask(task); - var success = task.Result; - Assert.IsTrue(success); - var instantiator = new GameObjectInstantiator(gltf, go.transform, logger); - task = gltf.InstantiateMainSceneAsync(instantiator); - yield return Utils.WaitForTask(task); - success = task.Result; - Assert.IsTrue(success); - Object.Destroy(go); - } - - [GltfTestCase("glTF-test-models", 2, k_RelativeUriFilter)] - public IEnumerator LoadUri(GltfTestCaseSet testCaseSet, GltfTestCase testCase) - { - var go = new GameObject(); - var deferAgent = new UninterruptedDeferAgent(); - var logger = new ConsoleLogger(); - using var gltf = new GltfImport(deferAgent: deferAgent, logger: logger); - var path = Path.Combine(testCaseSet.RootPath, testCase.relativeUri); - var uri = new Uri(path, UriKind.RelativeOrAbsolute); - var task = gltf.Load(uri); - yield return Utils.WaitForTask(task); - var success = task.Result; - Assert.IsTrue(success); - - task = gltf.InstantiateMainSceneAsync(go.transform); - yield return Utils.WaitForTask(task); - success = task.Result; - Assert.IsTrue(success); - - var firstSceneGameObject = new GameObject("firstScene"); - task = gltf.InstantiateSceneAsync(firstSceneGameObject.transform); - yield return Utils.WaitForTask(task); - success = task.Result; - Assert.IsTrue(success); - - Object.Destroy(go); - } - - [GltfTestCase("glTF-test-models", 2, k_RelativeUriFilter)] - public IEnumerator Load(GltfTestCaseSet testCaseSet, GltfTestCase testCase) - { - var path = Path.Combine(testCaseSet.RootPath, testCase.relativeUri); - Debug.Log($"Testing {path}"); - var data = File.ReadAllBytes(path); - var go = new GameObject(); - var deferAgent = new UninterruptedDeferAgent(); - var logger = new ConsoleLogger(); - using var gltf = new GltfImport(deferAgent: deferAgent, logger: logger); - var task = gltf.Load(data, new Uri(path)); - yield return Utils.WaitForTask(task); - var success = task.Result; - Assert.IsTrue(success); - var instantiator = new GameObjectInstantiator(gltf, go.transform, logger); - task = gltf.InstantiateMainSceneAsync(instantiator); - yield return Utils.WaitForTask(task); - success = task.Result; - Assert.IsTrue(success); - Object.Destroy(go); - } - - [GltfTestCase("glTF-test-models", 2, k_RelativeUriFilter)] - public IEnumerator LoadSyncInstantiation(GltfTestCaseSet testCaseSet, GltfTestCase testCase) - { - var path = Path.Combine(testCaseSet.RootPath, testCase.relativeUri); - Debug.Log($"Testing {path}"); - var data = File.ReadAllBytes(path); - var go = new GameObject(); - var deferAgent = new UninterruptedDeferAgent(); - var logger = new ConsoleLogger(); - using var gltf = new GltfImport(deferAgent: deferAgent, logger: logger); - var task = gltf.Load(data, new Uri(path)); - yield return Utils.WaitForTask(task); - var success = task.Result; - Assert.IsTrue(success); - var instantiator = new GameObjectInstantiator(gltf, go.transform, logger); -#pragma warning disable CS0618 - success = gltf.InstantiateMainScene(instantiator); -#pragma warning restore CS0618 - Assert.IsTrue(success); - Object.Destroy(go); - } - - [GltfTestCase("glTF-test-models", 2, k_RelativeUriFilter)] - public IEnumerator LoadFile(GltfTestCaseSet testCaseSet, GltfTestCase testCase) - { - var path = Path.Combine(testCaseSet.RootPath, testCase.relativeUri); - Debug.Log($"Testing {path}"); - var go = new GameObject(); - var deferAgent = new UninterruptedDeferAgent(); - var logger = new ConsoleLogger(); - using var gltf = new GltfImport(deferAgent: deferAgent, logger: logger); - var task = gltf.LoadFile(path, new Uri(path)); - yield return Utils.WaitForTask(task); - var success = task.Result; - Assert.IsTrue(success); - var instantiator = new GameObjectInstantiator(gltf, go.transform, logger); - task = gltf.InstantiateMainSceneAsync(instantiator); - yield return Utils.WaitForTask(task); - success = task.Result; - Assert.IsTrue(success); - Object.Destroy(go); - } - - [GltfTestCase("glTF-test-models", 2, k_RelativeUriFilter)] - public IEnumerator LoadBinary(GltfTestCaseSet testCaseSet, GltfTestCase testCase) - { - var path = Path.Combine(testCaseSet.RootPath, testCase.relativeUri); - if (!path.EndsWith(".glb")) - { - Assert.Ignore("Wrong glTF type. Skipping"); - } - Debug.Log($"Testing {path}"); - var data = File.ReadAllBytes(path); - var go = new GameObject(); - var deferAgent = new UninterruptedDeferAgent(); - var logger = new ConsoleLogger(); - using var gltf = new GltfImport(deferAgent: deferAgent, logger: logger); - var task = gltf.LoadGltfBinary(data, new Uri(path)); - yield return Utils.WaitForTask(task); - var success = task.Result; - Assert.IsTrue(success); - var instantiator = new GameObjectInstantiator(gltf, go.transform, logger); - task = gltf.InstantiateMainSceneAsync(instantiator); - yield return Utils.WaitForTask(task); - success = task.Result; - Assert.IsTrue(success); - Object.Destroy(go); - } - - [GltfTestCase("glTF-test-models", 2, k_RelativeUriFilter)] - public IEnumerator LoadStream(GltfTestCaseSet testCaseSet, GltfTestCase testCase) - { - var path = Path.Combine(testCaseSet.RootPath, testCase.relativeUri); - Debug.Log($"Testing {path}"); - var stream = new FileStream(path, FileMode.Open); - var go = new GameObject(); - var deferAgent = new UninterruptedDeferAgent(); - var logger = new ConsoleLogger(); - using var gltf = new GltfImport(deferAgent: deferAgent, logger: logger); - var task = gltf.LoadStream(stream, new Uri(path)); - yield return Utils.WaitForTask(task); - stream.Dispose(); - var success = task.Result; - Assert.IsTrue(success); - var instantiator = new GameObjectInstantiator(gltf, go.transform, logger); - task = gltf.InstantiateMainSceneAsync(instantiator); - yield return Utils.WaitForTask(task); - success = task.Result; - Assert.IsTrue(success); - Object.Destroy(go); - } - - [GltfTestCase("glTF-test-models", 2, k_RelativeUriFilter)] - public IEnumerator LoadJson(GltfTestCaseSet testCaseSet, GltfTestCase testCase) - { - var path = Path.Combine(testCaseSet.RootPath, testCase.relativeUri); - if (!path.EndsWith(".gltf")) - { - Assert.Ignore("Wrong glTF type. Skipping"); - } - Debug.Log($"Testing {path}"); - var json = File.ReadAllText(path); - var go = new GameObject(); - var deferAgent = new UninterruptedDeferAgent(); - var logger = new ConsoleLogger(); - using var gltf = new GltfImport(deferAgent: deferAgent, logger: logger); - var task = gltf.LoadGltfJson(json, new Uri(path)); - yield return Utils.WaitForTask(task); - var success = task.Result; - Assert.IsTrue(success); - var instantiator = new GameObjectInstantiator(gltf, go.transform, logger); - task = gltf.InstantiateMainSceneAsync(instantiator); - yield return Utils.WaitForTask(task); - success = task.Result; - Assert.IsTrue(success); - Object.Destroy(go); - } - - [UnityTest] - public IEnumerator LoadStreamBigGltf() - { - // Create header-only glTF-binary that's too big (4GB). - var stream = new MemoryStream(); - // glTF magic - stream.Write(BitConverter.GetBytes(GltfGlobals.GltfBinaryMagic), 0, 4); - // glTF version - stream.Write(BitConverter.GetBytes(2u), 0, 4); - // Total size - stream.Write(BitConverter.GetBytes(uint.MaxValue), 0, 4); - stream.Seek(0, SeekOrigin.Begin); - - var deferAgent = new UninterruptedDeferAgent(); - var logger = new CollectingLogger(); - using var gltf = new GltfImport(deferAgent: deferAgent, logger: logger); - var task = gltf.LoadStream(stream); - yield return Utils.WaitForTask(task); - stream.Dispose(); - var success = task.Result; - Assert.IsFalse(success); - LoggerTest.AssertLogger( - logger, - new[] - { - new LogItem( - LogType.Error, - LogCode.None, - "glb exceeds 2GB limit." - ) - }); - } - } -} diff --git a/Tests/Runtime/Scripts/Import/LoadTests.cs.meta b/Tests/Runtime/Scripts/Import/LoadTests.cs.meta deleted file mode 100644 index 4e7d590e6..000000000 --- a/Tests/Runtime/Scripts/Import/LoadTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 539ae0a3ad91d4cb5850a0ac26939d86 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts/Import/MaterialProviderMock.cs b/Tests/Runtime/Scripts/Import/MaterialProviderMock.cs deleted file mode 100644 index 124bed9aa..000000000 --- a/Tests/Runtime/Scripts/Import/MaterialProviderMock.cs +++ /dev/null @@ -1,61 +0,0 @@ -// SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using System; -using System.Threading; -using System.Threading.Tasks; -using UnityEngine; - -namespace GLTFast.Tests -{ - class MaterialProviderMock : IMaterialProvider - { - public Material GetMaterial(int index = 0) - { - return new Material(Shader.Find("Standard")) - { - name = index.ToString() - }; - } - - public Task GetMaterialAsync(int index) - { - return Task.FromResult(GetMaterial(index)); - } - - public Task GetMaterialAsync(int index, CancellationToken cancellationToken) - { - return Task.FromResult(GetMaterial(index)); - } - - public Task GetDefaultMaterialAsync() - { - return Task.FromResult(GetDefaultMaterial()); - } - - public Task GetDefaultMaterialAsync(CancellationToken cancellationToken) - { - return Task.FromResult(GetDefaultMaterial()); - } - - public Material GetDefaultMaterial() - { - return new Material(Shader.Find("Standard")) - { - name = "Default" - }; - } - - public int MaterialsVariantsCount => 6; - - public string GetMaterialsVariantName(int index) - { - return $"Variant {index}"; - } - - public IMaterialsVariantsSlot[] GetMaterialsVariantsSlots(int meshIndex, int meshResultOffset) - { - throw new System.NotImplementedException(); - } - } -} diff --git a/Tests/Runtime/Scripts/Import/MaterialProviderMock.cs.meta b/Tests/Runtime/Scripts/Import/MaterialProviderMock.cs.meta deleted file mode 100644 index a68362456..000000000 --- a/Tests/Runtime/Scripts/Import/MaterialProviderMock.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 602fb593804b4075a18988c3c9cedff7 -timeCreated: 1718274207 \ No newline at end of file diff --git a/Tests/Runtime/Scripts/Import/MaterialsVariantsTests.cs b/Tests/Runtime/Scripts/Import/MaterialsVariantsTests.cs deleted file mode 100644 index 598704e00..000000000 --- a/Tests/Runtime/Scripts/Import/MaterialsVariantsTests.cs +++ /dev/null @@ -1,157 +0,0 @@ -// SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using System.Collections; -using System.Collections.Generic; -using GLTFast.Schema; -using NUnit.Framework; -using UnityEngine; -using UnityEngine.TestTools; -using Material = UnityEngine.Material; - -namespace GLTFast.Tests -{ - class MaterialsVariantsTests - { - const int k_SubMeshCount = 3; - - [UnityTest] - public IEnumerator MaterialsVariantsControlTest() - { - var provider = new MaterialProviderMock(); - var renderer = CreateRenderer(); - var renderers = new MeshRenderer[] - { - CreateRenderer(), - CreateRenderer(), - }; - var slots = new IMaterialsVariantsSlot[k_SubMeshCount]; - for (var subMesh = 0; subMesh < k_SubMeshCount; subMesh++) - { - slots[subMesh] = CreatePrimitive(subMesh, provider.MaterialsVariantsCount); - } - var slotInstance = new MaterialsVariantsSlotInstances(renderer, slots); - var multiSlotInstance = new MultiMaterialsVariantsSlotInstances(renderers, slots); - var slotInstances = new List { slotInstance, multiSlotInstance }; - var ctrl = new MaterialsVariantsControl(provider, slotInstances); - var go = new GameObject(); - var comp = go.AddComponent(); - comp.Control = ctrl; - - for (var variant = 0; variant < provider.MaterialsVariantsCount; variant++) - { - yield return AsyncWrapper.WaitForTask( - ctrl.ApplyMaterialsVariantAsync(variant) - ); - - AssertMaterials(renderer, variant); - foreach (var r in renderers) - { - AssertMaterials(r, variant); - } - } - - // Reset to default materials - yield return AsyncWrapper.WaitForTask( - comp.Control.ApplyMaterialsVariantAsync(-1) - ); - - AssertDefaultMaterials(renderer); - foreach (var r in renderers) - { - AssertDefaultMaterials(r); - } - } - - static void AssertDefaultMaterials(MeshRenderer renderer) - { - var materials = renderer.sharedMaterials; - Assert.AreEqual("Default", materials[0].name); - for (var subMesh = 1; subMesh < 3; subMesh++) - { - Assert.AreEqual(materials[subMesh].name, subMesh.ToString()); - } - } - - static void AssertMaterials(MeshRenderer renderer, int variant) - { - var materials = renderer.sharedMaterials; - for (var subMesh = 0; subMesh < 3; subMesh++) - { - string actual; - if ((variant + 1) % 3 == 0) - { - actual = subMesh == 0 ? "Default" : subMesh.ToString(); - } - else - { - actual = ((variant + 3) / 3 * 100 + subMesh).ToString(); - } - - if (actual != materials[subMesh].name) - { - - Assert.AreEqual(actual, materials[subMesh].name); - } - } - } - - static MeshRenderer CreateRenderer() - { - var go = new GameObject(); - var renderer = go.AddComponent(); - renderer.sharedMaterials = new Material[k_SubMeshCount]; - return renderer; - } - - static MeshPrimitive CreatePrimitive(int seed, int variantsCount) - { - var result = new MeshPrimitive - { - material = seed == 0 ? -1 : seed, - extensions = new MeshPrimitiveExtensions - { - KHR_materials_variants = new MaterialsVariantsMeshPrimitiveExtension - { - mappings = new List() - } - } - }; - - for (var variant = 0; variant < variantsCount + 2; variant += 3) - { - result.extensions.KHR_materials_variants.mappings.Add( - new MaterialVariantsMapping { material = seed + (variant + 3) / 3 * 100, variants = new[] { variant, variant + 1 } } - ); - } - - return result; - } - - [Test] - public void MaterialsVariantsRootExtensionTest() - { - var root = new Root - { - extensions = new RootExtensions - { - KHR_materials_variants = new MaterialsVariantsRootExtension - { - variants = new List - { - new MaterialsVariant { name = "One" }, - new MaterialsVariant { name = "Two" }, - new MaterialsVariant { name = "Spanish Inquisition" }, - } - } - } - }; - - Assert.AreEqual("One", root.GetMaterialsVariantName(0)); - Assert.AreEqual("Two", root.GetMaterialsVariantName(1)); - Assert.AreEqual("Spanish Inquisition", root.GetMaterialsVariantName(2)); - Assert.IsNull(root.GetMaterialsVariantName(3)); - Assert.IsNull(root.GetMaterialsVariantName(-1)); - } - } -} diff --git a/Tests/Runtime/Scripts/Import/MaterialsVariantsTests.cs.meta b/Tests/Runtime/Scripts/Import/MaterialsVariantsTests.cs.meta deleted file mode 100644 index 1cfcca279..000000000 --- a/Tests/Runtime/Scripts/Import/MaterialsVariantsTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 685708dbbe21e45db850b7d90c8bd1f6 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts/Import/VertexBufferTexCoordsTests.cs b/Tests/Runtime/Scripts/Import/VertexBufferTexCoordsTests.cs deleted file mode 100644 index dd9a8ccf5..000000000 --- a/Tests/Runtime/Scripts/Import/VertexBufferTexCoordsTests.cs +++ /dev/null @@ -1,30 +0,0 @@ -// SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using GLTFast.Vertex; -using NUnit.Framework; -using Unity.Collections; -using Unity.Jobs; -using UnityEngine; - -namespace GLTFast.Tests -{ - class VertexBufferTexCoordsTests - { - [Test] - public void SparseTexCoords() - { - var v = new VertexBufferTexCoords(null); - - var handles = new NativeArray(1, Allocator.Temp); - var success = v.ScheduleVertexUVJobs( - new GltfBufferMock(), - new[] { GltfBufferMock.sparseAccessorIndex }, - 3, - handles); - Assert.IsFalse(success); - v.Dispose(); - handles.Dispose(); - } - } -} diff --git a/Tests/Runtime/Scripts/Import/VertexBufferTexCoordsTests.cs.meta b/Tests/Runtime/Scripts/Import/VertexBufferTexCoordsTests.cs.meta deleted file mode 100644 index d26299a50..000000000 --- a/Tests/Runtime/Scripts/Import/VertexBufferTexCoordsTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 51821c85addbe488e9d2be074a000f5f -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts/Import/glTFast.Tests.Import.asmref b/Tests/Runtime/Scripts/Import/glTFast.Tests.Import.asmref deleted file mode 100644 index acd721997..000000000 --- a/Tests/Runtime/Scripts/Import/glTFast.Tests.Import.asmref +++ /dev/null @@ -1,3 +0,0 @@ -{ - "reference": "GUID:7897e000c47a54a4c8a8a7345af3c565" -} \ No newline at end of file diff --git a/Tests/Runtime/Scripts/Import/glTFast.Tests.Import.asmref.meta b/Tests/Runtime/Scripts/Import/glTFast.Tests.Import.asmref.meta deleted file mode 100644 index 3b24b2024..000000000 --- a/Tests/Runtime/Scripts/Import/glTFast.Tests.Import.asmref.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: ef30e3613e5444fda9e3549997647901 -AssemblyDefinitionReferenceImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts/ImportAddonTests.cs b/Tests/Runtime/Scripts/ImportAddonTests.cs deleted file mode 100644 index e89032e08..000000000 --- a/Tests/Runtime/Scripts/ImportAddonTests.cs +++ /dev/null @@ -1,65 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using NUnit.Framework; -using UnityEngine; - -namespace GLTFast.Tests -{ - using Addons; - - static class ImportAddonTests - { - [Test] - public static void GetImportAddonInstance() - { - var gltf = new GltfImport(); - var addonA = gltf.GetImportAddonInstance(); - Assert.IsNull(addonA); - - ImportAddonRegistry.RegisterImportAddon(new AddonB()); - gltf = new GltfImport(); - addonA = gltf.GetImportAddonInstance(); - Assert.IsNull(addonA); - var addonB = gltf.GetImportAddonInstance(); - Assert.IsNotNull(addonB); - } - - class AddonA : ImportAddon { } - class AddonB : ImportAddon { } - - class AddonInstanceA : ImportAddonInstance - { - public override bool SupportsGltfExtension(string extensionName) - { - return false; - } - - public override void Inject(GltfImportBase gltfImport) - { - gltfImport.AddImportAddonInstance(this); - } - - public override void Inject(IInstantiator instantiator) { } - - public override void Dispose() { } - } - - class AddonInstanceB : ImportAddonInstance - { - public override bool SupportsGltfExtension(string extensionName) - { - return false; - } - - public override void Inject(GltfImportBase gltfImport) - { - gltfImport.AddImportAddonInstance(this); - } - - public override void Inject(IInstantiator instantiator) { } - - public override void Dispose() { } - } - } -} diff --git a/Tests/Runtime/Scripts/ImportAddonTests.cs.meta b/Tests/Runtime/Scripts/ImportAddonTests.cs.meta deleted file mode 100644 index c40626be2..000000000 --- a/Tests/Runtime/Scripts/ImportAddonTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 71264ec9b5fc24a13b9b6aacb643eff9 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts/JobTests.cs b/Tests/Runtime/Scripts/JobTests.cs deleted file mode 100644 index b7041c9a0..000000000 --- a/Tests/Runtime/Scripts/JobTests.cs +++ /dev/null @@ -1,1435 +0,0 @@ -// SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using System; -using GLTFast.Schema; -using GLTFast.Vertex; -using NUnit.Framework; -using Unity.Collections.LowLevel.Unsafe; -using Unity.Collections; -using Unity.Jobs; -using Unity.Mathematics; -using UnityEngine; - -namespace GLTFast.Tests.Jobs -{ - - [TestFixture] - class Vector3Jobs - { - - const int k_Length = 10; - float3 m_NormalizedReference = new float3(-.5f, .5f, 0.707107f); - float3 m_Reference = new float3(-1, 13, 42); - - NativeArray m_Input; - NativeArray m_InputUInt16; - NativeArray m_InputInt16; - NativeArray m_InputUInt8; - NativeArray m_InputInt8; - NativeArray m_Output; - - [OneTimeSetUp] - public void SetUpTest() - { - m_Input = new NativeArray(k_Length, Allocator.Persistent); - m_InputUInt16 = new NativeArray(k_Length * 3, Allocator.Persistent); - m_InputInt16 = new NativeArray(k_Length * 3, Allocator.Persistent); - m_InputUInt8 = new NativeArray(k_Length * 3, Allocator.Persistent); - m_InputInt8 = new NativeArray(k_Length * 3, Allocator.Persistent); - m_Output = new NativeArray(k_Length, Allocator.Persistent); - - { - m_Input[1] = new float3(.5f, .5f, 0.707107f); - - m_InputUInt8[3] = byte.MaxValue / 2; - m_InputUInt8[4] = byte.MaxValue / 2; - m_InputUInt8[5] = 180; - - m_InputInt8[3] = sbyte.MaxValue / 2; - m_InputInt8[4] = sbyte.MaxValue / 2; - m_InputInt8[5] = 90; - - m_InputUInt16[3] = ushort.MaxValue / 2; - m_InputUInt16[4] = ushort.MaxValue / 2; - m_InputUInt16[5] = (ushort)(0.707107f * ushort.MaxValue); - - m_InputInt16[3] = short.MaxValue / 2; - m_InputInt16[4] = short.MaxValue / 2; - m_InputInt16[5] = (short)(0.707107f * short.MaxValue); - } - - { - m_Input[2] = new float3(1, 13, 42); - - m_InputUInt8[6] = 1; - m_InputUInt8[7] = 13; - m_InputUInt8[8] = 42; - - m_InputInt8[6] = 1; - m_InputInt8[7] = 13; - m_InputInt8[8] = 42; - - m_InputUInt16[6] = 1; - m_InputUInt16[7] = 13; - m_InputUInt16[8] = 42; - - m_InputInt16[6] = 1; - m_InputInt16[7] = 13; - m_InputInt16[8] = 42; - } - } - - [OneTimeTearDown] - public void Cleanup() - { - m_Input.Dispose(); - m_InputUInt16.Dispose(); - m_InputInt16.Dispose(); - m_InputUInt8.Dispose(); - m_InputInt8.Dispose(); - m_Output.Dispose(); - } - - void CheckNormalizedResult(float epsilon = float.Epsilon) - { - const int i = 1; - Utils.AssertNearOrEqual(m_NormalizedReference, m_Output[i], epsilon); - } - - void CheckResult(float epsilon = float.Epsilon) - { - const int i = 2; - Utils.AssertNearOrEqual(m_Reference, m_Output[i], epsilon); - } - - [Test] - public unsafe void ConvertVector3FloatToFloatInterleavedJob() - { - var job = new GLTFast.Jobs.ConvertVector3FloatToFloatInterleavedJob - { - inputByteStride = 12, - input = (byte*)m_Input.GetUnsafeReadOnlyPtr(), - outputByteStride = 12, - result = (float3*)m_Output.GetUnsafePtr() - }; - job.RunBatch(m_Input.Length); - - CheckNormalizedResult(); - CheckResult(); - } - - [Test] - public unsafe void ConvertVector3FloatToFloatJob() - { - var job = new GLTFast.Jobs.ConvertVector3FloatToFloatJob - { - input = (float3*)m_Input.GetUnsafeReadOnlyPtr(), - result = (float3*)m_Output.GetUnsafePtr() - }; - job.Run(m_Input.Length); - CheckNormalizedResult(); - CheckResult(); - } - - [Test] - public unsafe void ConvertVector3Int16ToFloatInterleavedNormalizedJob() - { - var job = new GLTFast.Jobs.ConvertVector3Int16ToFloatInterleavedNormalizedJob - { - input = (byte*)m_InputInt16.GetUnsafeReadOnlyPtr(), - inputByteStride = 6, - result = (float3*)m_Output.GetUnsafePtr(), - outputByteStride = 12 - }; - job.RunBatch(m_Output.Length); - CheckNormalizedResult(Constants.epsilonInt16); - } - - [Test] - public unsafe void ConvertVector3Int8ToFloatInterleavedNormalizedJob() - { - var job = new GLTFast.Jobs.ConvertVector3Int8ToFloatInterleavedNormalizedJob - { - input = (sbyte*)m_InputInt8.GetUnsafeReadOnlyPtr(), - inputByteStride = 3, - result = (float3*)m_Output.GetUnsafePtr(), - outputByteStride = 12 - }; - job.RunBatch(m_Output.Length); - CheckNormalizedResult(Constants.epsilonInt8); - } - - [Test] - public unsafe void ConvertPositionsUInt16ToFloatInterleavedJob() - { - var job = new GLTFast.Jobs.ConvertPositionsUInt16ToFloatInterleavedJob - { - input = (byte*)m_InputUInt16.GetUnsafeReadOnlyPtr(), - inputByteStride = 6, - result = (float3*)m_Output.GetUnsafePtr(), - outputByteStride = 12 - }; - job.RunBatch(m_Output.Length); - CheckResult(); - } - - [Test] - public unsafe void ConvertPositionsUInt16ToFloatInterleavedNormalizedJob() - { - var job = new GLTFast.Jobs.ConvertPositionsUInt16ToFloatInterleavedNormalizedJob - { - input = (byte*)m_InputUInt16.GetUnsafeReadOnlyPtr(), - inputByteStride = 6, - result = (float3*)m_Output.GetUnsafePtr(), - outputByteStride = 12 - }; - job.RunBatch(m_Output.Length); - CheckNormalizedResult(Constants.epsilonUInt16); - } - - [Test] - public unsafe void ConvertPositionsInt16ToFloatInterleavedJob() - { - var job = new GLTFast.Jobs.ConvertPositionsInt16ToFloatInterleavedJob - { - input = (byte*)m_InputInt16.GetUnsafeReadOnlyPtr(), - inputByteStride = 6, - result = (float3*)m_Output.GetUnsafePtr(), - outputByteStride = 12 - }; - job.RunBatch(m_Output.Length); - CheckResult(); - } - - [Test] - public unsafe void ConvertPositionsInt8ToFloatInterleavedJob() - { - var job = new GLTFast.Jobs.ConvertPositionsInt8ToFloatInterleavedJob - { - input = (sbyte*)m_InputInt8.GetUnsafeReadOnlyPtr(), - inputByteStride = 3, - result = (float3*)m_Output.GetUnsafePtr(), - outputByteStride = 12 - }; - job.RunBatch(m_Output.Length); - CheckResult(); - } - - [Test] - public unsafe void ConvertPositionsUInt8ToFloatInterleavedJob() - { - var job = new GLTFast.Jobs.ConvertPositionsUInt8ToFloatInterleavedJob - { - input = (byte*)m_InputUInt8.GetUnsafeReadOnlyPtr(), - inputByteStride = 3, - result = (float3*)m_Output.GetUnsafePtr(), - outputByteStride = 12 - }; - job.RunBatch(m_Output.Length); - CheckResult(); - } - - [Test] - public unsafe void ConvertPositionsUInt8ToFloatInterleavedNormalizedJob() - { - var job = new GLTFast.Jobs.ConvertPositionsUInt8ToFloatInterleavedNormalizedJob - { - input = (byte*)m_InputUInt8.GetUnsafeReadOnlyPtr(), - inputByteStride = 3, - result = (float3*)m_Output.GetUnsafePtr(), - outputByteStride = 12 - }; - job.RunBatch(m_Output.Length); - CheckNormalizedResult(Constants.epsilonUInt8); - } - - [Test] - public unsafe void ConvertNormalsInt16ToFloatInterleavedNormalizedJob() - { - var job = new GLTFast.Jobs.ConvertNormalsInt16ToFloatInterleavedNormalizedJob - { - input = (byte*)m_InputInt16.GetUnsafeReadOnlyPtr(), - inputByteStride = 6, - result = (float3*)m_Output.GetUnsafePtr(), - outputByteStride = 12 - }; - job.RunBatch(m_Output.Length); - CheckNormalizedResult(Constants.epsilonInt16); - } - - [Test] - public unsafe void ConvertNormalsInt8ToFloatInterleavedNormalizedJob() - { - var job = new GLTFast.Jobs.ConvertNormalsInt8ToFloatInterleavedNormalizedJob - { - input = (sbyte*)m_InputInt8.GetUnsafeReadOnlyPtr(), - inputByteStride = 3, - result = (float3*)m_Output.GetUnsafePtr(), - outputByteStride = 12 - }; - job.RunBatch(m_Output.Length); - CheckNormalizedResult(Constants.epsilonInt8); - } - } - - [TestFixture] - class PositionSparseJobs - { - - const int k_Length = 10; - - NativeArray m_Indices; - NativeArray m_Input; - NativeArray m_Output; - - [OneTimeSetUp] - public void SetUpTest() - { - m_Indices = new NativeArray(k_Length, Allocator.Persistent); - m_Input = new NativeArray(k_Length, Allocator.Persistent); - m_Output = new NativeArray(k_Length * 2, Allocator.Persistent); - - for (int i = 0; i < k_Length; i++) - { - m_Indices[i] = i * 2; - m_Input[i] = new float3(i, k_Length - 1, 42); - } - } - - void CheckResult() - { - var endIndex = math.min(k_Length, 10); - for (int i = 0; i < endIndex; i++) - { - Utils.AssertNearOrEqual(new float3(-i, k_Length - 1, 42), m_Output[i * 2]); - } - } - - [OneTimeTearDown] - public void Cleanup() - { - m_Input.Dispose(); - m_Output.Dispose(); - m_Indices.Dispose(); - } - - [Test] - public unsafe void ConvertPositionsSparseJob() - { - const GltfComponentType indexType = GltfComponentType.UnsignedInt; - const GltfComponentType valueType = GltfComponentType.Float; - const bool normalized = false; - - var job = new GLTFast.Jobs.ConvertVector3SparseJob - { - indexBuffer = m_Indices.GetUnsafeReadOnlyPtr(), - indexConverter = GLTFast.Jobs.CachedFunction.GetIndexConverter(indexType), - inputByteStride = 3 * Accessor.GetComponentTypeSize(valueType), - input = m_Input.GetUnsafeReadOnlyPtr(), - valueConverter = GLTFast.Jobs.CachedFunction.GetPositionConverter(valueType, normalized), - outputByteStride = 12, - result = (float3*)m_Output.GetUnsafePtr(), - }; - job.Run(m_Indices.Length); - CheckResult(); - } - } - - [TestFixture] - class UVJobs - { - const int k_UVLength = 10; - float2 m_NormalizedReference = new float2(.5f, 0f); - float2 m_Reference = new float2(13, -41); - - NativeArray m_UVInput; - NativeArray m_InputUInt16; - NativeArray m_InputInt16; - NativeArray m_InputUInt8; - NativeArray m_InputInt8; - NativeArray m_UVOutput; - - [OneTimeSetUp] - public void SetUpTest() - { - m_UVInput = new NativeArray(k_UVLength, Allocator.Persistent); - m_InputUInt16 = new NativeArray(k_UVLength * 2, Allocator.Persistent); - m_InputInt16 = new NativeArray(k_UVLength * 2, Allocator.Persistent); - m_InputUInt8 = new NativeArray(k_UVLength * 2, Allocator.Persistent); - m_InputInt8 = new NativeArray(k_UVLength * 2, Allocator.Persistent); - m_UVOutput = new NativeArray(k_UVLength, Allocator.Persistent); - - { - m_UVInput[1] = new float2(.5f, 1f); - - m_InputUInt8[2] = byte.MaxValue / 2; - m_InputUInt8[3] = byte.MaxValue; - - m_InputInt8[2] = SByte.MaxValue / 2; - m_InputInt8[3] = SByte.MaxValue; - - m_InputUInt16[2] = ushort.MaxValue / 2; - m_InputUInt16[3] = ushort.MaxValue; - - m_InputInt16[2] = short.MaxValue / 2; - m_InputInt16[3] = short.MaxValue; - } - - { - m_UVInput[2] = new float2(13, 42); - - m_InputUInt8[4] = 13; - m_InputUInt8[5] = 42; - - m_InputInt8[4] = 13; - m_InputInt8[5] = 42; - - m_InputUInt16[4] = 13; - m_InputUInt16[5] = 42; - - m_InputInt16[4] = 13; - m_InputInt16[5] = 42; - } - } - - [OneTimeTearDown] - public void Cleanup() - { - m_UVInput.Dispose(); - m_InputUInt16.Dispose(); - m_InputInt16.Dispose(); - m_InputUInt8.Dispose(); - m_InputInt8.Dispose(); - m_UVOutput.Dispose(); - } - - void CheckNormalizedResult(float epsilon = float.Epsilon) - { - const int i = 1; - Utils.AssertNearOrEqual(m_NormalizedReference, m_UVOutput[i], epsilon); - } - - void CheckResult(float epsilon = float.Epsilon) - { - const int i = 2; - Utils.AssertNearOrEqual(m_Reference, m_UVOutput[i], epsilon); - } - - // [Test] - // public unsafe void ConvertUVsUInt8ToFloatJob() { - // var job = new GLTFast.Jobs.ConvertUVsUInt8ToFloatJob { - // input = (byte*)m_UVInput.GetUnsafeReadOnlyPtr(), - // result = (Vector2*)m_UVOutput.GetUnsafePtr() - // }; - // job.Run(m_UVOutput.Length); - // } - // - // [Test] - // public unsafe void ConvertUVsUInt8ToFloatNormalizedJob() { - // var job = new GLTFast.Jobs.ConvertUVsUInt8ToFloatNormalizedJob { - // input = (byte*)m_UVInput.GetUnsafeReadOnlyPtr(), - // result = (Vector2*)m_UVOutput.GetUnsafePtr() - // }; - // job.Run(m_UVOutput.Length); - // } - // - // [Test] - // public unsafe void ConvertUVsUInt16ToFloatNormalizedJob() { - // var job = new GLTFast.Jobs.ConvertUVsUInt16ToFloatNormalizedJob { - // input = (ushort*)m_UVInput.GetUnsafeReadOnlyPtr(), - // result = (Vector2*)m_UVOutput.GetUnsafePtr() - // }; - // job.Run(m_UVOutput.Length); - // } - // - // [Test] - // public unsafe void ConvertUVsUInt16ToFloatJob() { - // var job = new GLTFast.Jobs.ConvertUVsUInt16ToFloatJob { - // input = (ushort*)m_UVInput.GetUnsafeReadOnlyPtr(), - // result = (Vector2*)m_UVOutput.GetUnsafePtr() - // }; - // job.Run(m_UVOutput.Length); - // } - // - // [Test] - // public unsafe void ConvertUVsFloatToFloatJob() { - // var job = new GLTFast.Jobs.ConvertUVsFloatToFloatJob { - // input = (float*)m_UVInput.GetUnsafeReadOnlyPtr(), - // result = (Vector2*)m_UVOutput.GetUnsafePtr() - // }; - // job.Run(m_UVOutput.Length); - // } - - [Test] - public unsafe void ConvertUVsUInt8ToFloatInterleavedJob() - { - var job = new GLTFast.Jobs.ConvertUVsUInt8ToFloatInterleavedJob - { - input = (byte*)m_InputUInt8.GetUnsafeReadOnlyPtr(), - inputByteStride = 2, - result = (float2*)m_UVOutput.GetUnsafePtr(), - outputByteStride = 8 - }; - job.RunBatch(m_UVOutput.Length); - CheckResult(Constants.epsilonUInt8); - } - - [Test] - public unsafe void ConvertUVsUInt8ToFloatInterleavedNormalizedJob() - { - var job = new GLTFast.Jobs.ConvertUVsUInt8ToFloatInterleavedNormalizedJob - { - input = (byte*)m_InputUInt8.GetUnsafeReadOnlyPtr(), - inputByteStride = 2, - result = (float2*)m_UVOutput.GetUnsafePtr(), - outputByteStride = 8 - }; - job.Run(m_UVOutput.Length); - CheckNormalizedResult(Constants.epsilonUInt8); - } - - [Test] - public unsafe void ConvertUVsUInt16ToFloatInterleavedJob() - { - var job = new GLTFast.Jobs.ConvertUVsUInt16ToFloatInterleavedJob - { - input = (byte*)m_InputUInt16.GetUnsafeReadOnlyPtr(), - inputByteStride = 4, - result = (float2*)m_UVOutput.GetUnsafePtr(), - outputByteStride = 8 - }; - job.RunBatch(m_UVOutput.Length); - CheckResult(Constants.epsilonUInt16); - } - - [Test] - public unsafe void ConvertUVsUInt16ToFloatInterleavedNormalizedJob() - { - var job = new GLTFast.Jobs.ConvertUVsUInt16ToFloatInterleavedNormalizedJob - { - input = (byte*)m_InputUInt16.GetUnsafeReadOnlyPtr(), - inputByteStride = 4, - result = (float2*)m_UVOutput.GetUnsafePtr(), - outputByteStride = 8 - }; - job.Run(m_UVOutput.Length); - CheckNormalizedResult(Constants.epsilonUInt16); - } - - [Test] - public unsafe void ConvertUVsInt16ToFloatInterleavedJob() - { - var job = new GLTFast.Jobs.ConvertUVsInt16ToFloatInterleavedJob - { - input = (short*)m_InputInt16.GetUnsafeReadOnlyPtr(), - inputByteStride = 4, - result = (float2*)m_UVOutput.GetUnsafePtr(), - outputByteStride = 8 - }; - job.RunBatch(m_UVOutput.Length); - CheckResult(Constants.epsilonInt16); - } - - [Test] - public unsafe void ConvertUVsInt16ToFloatInterleavedNormalizedJob() - { - var job = new GLTFast.Jobs.ConvertUVsInt16ToFloatInterleavedNormalizedJob - { - input = (short*)m_InputInt16.GetUnsafeReadOnlyPtr(), - inputByteStride = 4, - result = (float2*)m_UVOutput.GetUnsafePtr(), - outputByteStride = 8 - }; - job.RunBatch(m_UVOutput.Length); - CheckNormalizedResult(Constants.epsilonInt16); - } - - [Test] - public unsafe void ConvertUVsInt8ToFloatInterleavedJob() - { - var job = new GLTFast.Jobs.ConvertUVsInt8ToFloatInterleavedJob - { - input = (sbyte*)m_InputInt8.GetUnsafeReadOnlyPtr(), - inputByteStride = 2, - result = (float2*)m_UVOutput.GetUnsafePtr(), - outputByteStride = 8 - }; - job.RunBatch(m_UVOutput.Length); - CheckResult(Constants.epsilonInt8); - } - - [Test] - public unsafe void ConvertUVsInt8ToFloatInterleavedNormalizedJob() - { - var job = new GLTFast.Jobs.ConvertUVsInt8ToFloatInterleavedNormalizedJob - { - input = (sbyte*)m_InputInt8.GetUnsafeReadOnlyPtr(), - inputByteStride = 2, - result = (float2*)m_UVOutput.GetUnsafePtr(), - outputByteStride = 8 - }; - job.RunBatch(m_UVOutput.Length); - CheckNormalizedResult(Constants.epsilonInt8); - } - - [Test] - public unsafe void ConvertUVsFloatToFloatInterleavedJob() - { - var job = new GLTFast.Jobs.ConvertUVsFloatToFloatInterleavedJob - { - input = (byte*)m_UVInput.GetUnsafeReadOnlyPtr(), - inputByteStride = 8, - result = (float2*)m_UVOutput.GetUnsafePtr(), - outputByteStride = 8 - }; - job.RunBatch(m_UVOutput.Length); - CheckResult(); - CheckNormalizedResult(); - } - } - - [TestFixture] - class Vector4Jobs - { - const int k_RotationLength = 10; - float4 m_NormalizedReference = new float4(0.844623f, -0.191342f, -0.46194f, 0.191342f); - float4 m_NormalizedTangentReference = new float4(0.844623f, 0.191342f, -0.46194f, 0.191342f); - float4 m_RotationReference = new float4(2, -13, -42, 1); - float4 m_TangentReference = new float4(2, 13, -42, 1); - float4 m_Reference = new float4(2, 13, 42, 1); - - NativeArray m_RotInput; - NativeArray m_InputUInt16; - NativeArray m_InputInt16; - NativeArray m_InputUInt8; - NativeArray m_InputInt8; - NativeArray m_RotOutput; - - [OneTimeSetUp] - public void SetUpTest() - { - m_RotInput = new NativeArray(k_RotationLength, Allocator.Persistent); - m_InputUInt16 = new NativeArray(k_RotationLength * 4, Allocator.Persistent); - m_InputInt16 = new NativeArray(k_RotationLength * 4, Allocator.Persistent); - m_InputUInt8 = new NativeArray(k_RotationLength * 4, Allocator.Persistent); - m_InputInt8 = new NativeArray(k_RotationLength * 4, Allocator.Persistent); - m_RotOutput = new NativeArray(k_RotationLength, Allocator.Persistent); - - { - var tmp = new float4(0.844623f, 0.191342f, 0.46194f, 0.191342f); - m_RotInput[1] = tmp; - - m_InputUInt8[4] = (byte)(byte.MaxValue * tmp.x); - m_InputUInt8[5] = (byte)(byte.MaxValue * tmp.y); - m_InputUInt8[6] = (byte)(byte.MaxValue * tmp.z); - m_InputUInt8[7] = (byte)(byte.MaxValue * tmp.w); - - m_InputInt8[4] = (sbyte)(sbyte.MaxValue * tmp.x); - m_InputInt8[5] = (sbyte)(sbyte.MaxValue * tmp.y); - m_InputInt8[6] = (sbyte)(sbyte.MaxValue * tmp.z); - m_InputInt8[7] = (sbyte)(sbyte.MaxValue * tmp.w); - - m_InputUInt16[4] = (ushort)(ushort.MaxValue * tmp.x); - m_InputUInt16[5] = (ushort)(ushort.MaxValue * tmp.y); - m_InputUInt16[6] = (ushort)(ushort.MaxValue * tmp.z); - m_InputUInt16[7] = (ushort)(ushort.MaxValue * tmp.w); - - m_InputInt16[4] = (short)(short.MaxValue * tmp.x); - m_InputInt16[5] = (short)(short.MaxValue * tmp.y); - m_InputInt16[6] = (short)(short.MaxValue * tmp.z); - m_InputInt16[7] = (short)(short.MaxValue * tmp.w); - } - - { - m_RotInput[2] = new float4(2, 13, 42, 1); - - m_InputUInt8[8] = 2; - m_InputUInt8[9] = 13; - m_InputUInt8[10] = 42; - m_InputUInt8[11] = 1; - - m_InputInt8[8] = 2; - m_InputInt8[9] = 13; - m_InputInt8[10] = 42; - m_InputInt8[11] = 1; - - m_InputUInt16[8] = 2; - m_InputUInt16[9] = 13; - m_InputUInt16[10] = 42; - m_InputUInt16[11] = 1; - - m_InputInt16[8] = 2; - m_InputInt16[9] = 13; - m_InputInt16[10] = 42; - m_InputInt16[11] = 1; - } - } - - [OneTimeTearDown] - public void Cleanup() - { - m_RotInput.Dispose(); - m_InputUInt16.Dispose(); - m_InputInt16.Dispose(); - m_InputUInt8.Dispose(); - m_InputInt8.Dispose(); - m_RotOutput.Dispose(); - } - - void CheckNormalizedResult(float epsilon = float.Epsilon) - { - const int i = 1; - Utils.AssertNearOrEqual(m_NormalizedReference, m_RotOutput[i], epsilon); - } - - void CheckNormalizedTangentResult(float epsilon = float.Epsilon) - { - const int i = 1; - Utils.AssertNearOrEqual(m_NormalizedTangentReference, m_RotOutput[i], epsilon); - } - - void CheckResult(float epsilon = float.Epsilon) - { - const int i = 2; - Utils.AssertNearOrEqual(m_RotationReference, m_RotOutput[i], epsilon); - } - - void CheckTangentResult(float epsilon = float.Epsilon) - { - const int i = 2; - Utils.AssertNearOrEqual(m_TangentReference, m_RotOutput[i], epsilon); - } - - void CheckBoneWeightResult(float epsilon = float.Epsilon) - { - const int i = 2; - Utils.AssertNearOrEqual(m_Reference, m_RotOutput[i], epsilon); - } - - [Test] - public unsafe void ConvertRotationsFloatToFloatJob() - { - var job = new GLTFast.Jobs.ConvertRotationsFloatToFloatJob - { - input = (float4*)m_RotInput.GetUnsafeReadOnlyPtr(), - result = (float4*)m_RotOutput.GetUnsafePtr() - }; - job.Run(m_RotOutput.Length); - CheckNormalizedResult(); - CheckResult(); - } - - [Test] - public unsafe void ConvertRotationsInt16ToFloatJob() - { - var job = new GLTFast.Jobs.ConvertRotationsInt16ToFloatJob - { - input = (short*)m_InputInt16.GetUnsafeReadOnlyPtr(), - result = (float*)m_RotOutput.GetUnsafePtr() - }; - job.Run(m_RotOutput.Length); - CheckNormalizedResult(Constants.epsilonInt16); - } - - [Test] - public unsafe void ConvertRotationsInt8ToFloatJob() - { - m_InputInt8[0] = sbyte.MinValue; - m_InputInt8[1] = -64; - m_InputInt8[2] = 64; - m_InputInt8[3] = sbyte.MaxValue; - - var job = new GLTFast.Jobs.ConvertRotationsInt8ToFloatJob - { - input = (sbyte*)m_InputInt8.GetUnsafeReadOnlyPtr(), - result = (float*)m_RotOutput.GetUnsafePtr() - }; - job.Run(m_RotOutput.Length); - Utils.AssertNearOrEqual(new float4(-1, .5f, -.5f, 1), m_RotOutput[0], Constants.epsilonInt8); - CheckNormalizedResult(Constants.epsilonInt8); - } - - [Test] - public unsafe void ConvertTangentsFloatToFloatInterleavedJob() - { - var job = new GLTFast.Jobs.ConvertTangentsFloatToFloatInterleavedJob - { - input = (byte*)m_RotInput.GetUnsafeReadOnlyPtr(), - inputByteStride = 16, - result = (float4*)m_RotOutput.GetUnsafePtr(), - outputByteStride = 16 - }; - job.RunBatch(m_RotOutput.Length); - CheckTangentResult(); - } - - [Test] - public unsafe void ConvertBoneWeightsFloatToFloatInterleavedJob() - { - var job = new GLTFast.Jobs.ConvertBoneWeightsFloatToFloatInterleavedJob - { - input = (byte*)m_RotInput.GetUnsafeReadOnlyPtr(), - inputByteStride = 16, - result = (float4*)m_RotOutput.GetUnsafePtr(), - outputByteStride = 16 - }; - job.RunBatch(m_RotOutput.Length); - CheckBoneWeightResult(); - } - - // TODO: Test ConvertBoneWeightsUInt8ToFloatInterleavedJob - // TODO: Test ConvertBoneWeightsUInt16ToFloatInterleavedJob - - [Test] - public unsafe void ConvertTangentsInt16ToFloatInterleavedNormalizedJob() - { - var job = new GLTFast.Jobs.ConvertTangentsInt16ToFloatInterleavedNormalizedJob - { - input = (short*)m_InputInt16.GetUnsafeReadOnlyPtr(), - inputByteStride = 8, - result = (float4*)m_RotOutput.GetUnsafePtr(), - outputByteStride = 16 - }; - job.RunBatch(m_RotOutput.Length); - CheckNormalizedTangentResult(Constants.epsilonInt16); - } - - [Test] - public unsafe void ConvertTangentsInt8ToFloatInterleavedNormalizedJob() - { - var job = new GLTFast.Jobs.ConvertTangentsInt8ToFloatInterleavedNormalizedJob - { - input = (sbyte*)m_InputInt8.GetUnsafeReadOnlyPtr(), - inputByteStride = 4, - result = (float4*)m_RotOutput.GetUnsafePtr(), - outputByteStride = 16 - }; - job.RunBatch(m_RotOutput.Length); - CheckNormalizedTangentResult(Constants.epsilonInt8); - } - } - - [TestFixture] - class ColorJobs - { - const int k_ColorLength = 10; - Color m_ReferenceRGB = new Color(.13f, .42f, .95f, 1f); - Color m_ReferenceRGBA = new Color(.42f, .95f, .5f, .24f); - - NativeArray m_ColorInput; - NativeArray m_InputUInt16; - NativeArray m_InputUInt8; - NativeArray m_ColorOutput; - - [OneTimeSetUp] - public void SetUpTest() - { - m_ColorInput = new NativeArray(k_ColorLength * 4, Allocator.Persistent); - m_InputUInt16 = new NativeArray(k_ColorLength * 4, Allocator.Persistent); - m_InputUInt8 = new NativeArray(k_ColorLength * 4, Allocator.Persistent); - m_ColorOutput = new NativeArray(k_ColorLength, Allocator.Persistent); - - m_ColorInput[3] = m_ReferenceRGB.r; - m_ColorInput[4] = m_ReferenceRGB.g; - m_ColorInput[5] = m_ReferenceRGB.b; - m_ColorInput[6] = m_ReferenceRGBA.b; - m_ColorInput[7] = m_ReferenceRGBA.a; - - m_InputUInt8[3] = (byte)(byte.MaxValue * m_ReferenceRGB.r); - m_InputUInt8[4] = (byte)(byte.MaxValue * m_ReferenceRGB.g); - m_InputUInt8[5] = (byte)(byte.MaxValue * m_ReferenceRGB.b); - m_InputUInt8[6] = (byte)(byte.MaxValue * m_ReferenceRGBA.b); - m_InputUInt8[7] = (byte)(byte.MaxValue * m_ReferenceRGBA.a); - - m_InputUInt16[3] = (ushort)(ushort.MaxValue * m_ReferenceRGB.r); - m_InputUInt16[4] = (ushort)(ushort.MaxValue * m_ReferenceRGB.g); - m_InputUInt16[5] = (ushort)(ushort.MaxValue * m_ReferenceRGB.b); - m_InputUInt16[6] = (ushort)(ushort.MaxValue * m_ReferenceRGBA.b); - m_InputUInt16[7] = (ushort)(ushort.MaxValue * m_ReferenceRGBA.a); - } - - [OneTimeTearDown] - public void Cleanup() - { - m_ColorInput.Dispose(); - m_InputUInt8.Dispose(); - m_InputUInt16.Dispose(); - m_ColorOutput.Dispose(); - } - - void CheckResultRGB(float epsilon = float.Epsilon) - { - const int i = 1; - Utils.AssertNearOrEqual(m_ReferenceRGB, m_ColorOutput[i], epsilon); - } - - void CheckResultRGBA(float epsilon = float.Epsilon) - { - const int i = 1; - Utils.AssertNearOrEqual(m_ReferenceRGBA, m_ColorOutput[i], epsilon); - } - - [Test] - public unsafe void ConvertColorsRGBFloatToRGBAFloatJob() - { - var job = new GLTFast.Jobs.ConvertColorsRGBFloatToRGBAFloatJob - { - input = (byte*)m_ColorInput.GetUnsafeReadOnlyPtr(), - inputByteStride = 12, - result = (float4*)m_ColorOutput.GetUnsafePtr() - }; - job.Run(m_ColorOutput.Length); - CheckResultRGB(); - } - - [Test] - public unsafe void ConvertColorsRGBUInt8ToRGBAFloatJob() - { - var job = new GLTFast.Jobs.ConvertColorsRgbUInt8ToRGBAFloatJob - { - input = (byte*)m_InputUInt8.GetUnsafeReadOnlyPtr(), - inputByteStride = 3, - result = m_ColorOutput - }; - job.Run(m_ColorOutput.Length); - CheckResultRGB(Constants.epsilonUInt8); - } - - [Test] - public unsafe void ConvertColorsRGBUInt16ToRGBAFloatJob() - { - var job = new GLTFast.Jobs.ConvertColorsRgbUInt16ToRGBAFloatJob - { - input = (ushort*)m_InputUInt16.GetUnsafeReadOnlyPtr(), - inputByteStride = 6, - result = m_ColorOutput - }; - job.Run(m_ColorOutput.Length); - CheckResultRGB(Constants.epsilonUInt16); - } - - [Test] - public unsafe void ConvertColorsRGBAUInt16ToRGBAFloatJob() - { - var job = new GLTFast.Jobs.ConvertColorsRgbaUInt16ToRGBAFloatJob - { - input = (ushort*)m_InputUInt16.GetUnsafeReadOnlyPtr(), - inputByteStride = 8, - result = (float4*)m_ColorOutput.GetUnsafePtr() - }; - job.RunBatch(m_ColorOutput.Length); - CheckResultRGBA(Constants.epsilonUInt16); - } - - [Test] - public unsafe void ConvertColorsRGBAFloatToRGBAFloatJob() - { - var job = new GLTFast.Jobs.ConvertColorsRGBAFloatToRGBAFloatJob - { - input = (byte*)m_ColorInput.GetUnsafeReadOnlyPtr(), - inputByteStride = 16, - result = (float4*)m_ColorOutput.GetUnsafePtr() - }; - job.RunBatch(m_ColorOutput.Length); - CheckResultRGBA(Constants.epsilonUInt16); - } - - [Test] - public unsafe void ConvertColorsRGBAUInt8ToRGBAFloatJob() - { - var job = new GLTFast.Jobs.ConvertColorsRgbaUInt8ToRGBAFloatJob - { - input = (byte*)m_InputUInt8.GetUnsafeReadOnlyPtr(), - inputByteStride = 4, - result = m_ColorOutput - }; - job.Run(m_ColorOutput.Length); - CheckResultRGBA(Constants.epsilonUInt8); - } - } - - [TestFixture] - class BoneIndexJobs - { - const int k_BoneIndexLength = 10; - uint4 m_Reference = new uint4(2, 3, 4, 5); - NativeArray m_InputUInt8; - NativeArray m_InputUInt16; - NativeArray m_BoneIndexOutput; - - [OneTimeSetUp] - public void SetUpTest() - { - m_InputUInt8 = new NativeArray(k_BoneIndexLength * 4, Allocator.Persistent); - m_InputUInt16 = new NativeArray(k_BoneIndexLength * 4, Allocator.Persistent); - m_BoneIndexOutput = new NativeArray(k_BoneIndexLength, Allocator.Persistent); - - m_InputUInt8[4] = (byte)m_Reference.x; - m_InputUInt8[5] = (byte)m_Reference.y; - m_InputUInt8[6] = (byte)m_Reference.z; - m_InputUInt8[7] = (byte)m_Reference.w; - - m_InputUInt16[4] = (ushort)m_Reference.x; - m_InputUInt16[5] = (ushort)m_Reference.y; - m_InputUInt16[6] = (ushort)m_Reference.z; - m_InputUInt16[7] = (ushort)m_Reference.w; - } - - [OneTimeTearDown] - public void Cleanup() - { - m_InputUInt16.Dispose(); - m_InputUInt8.Dispose(); - m_BoneIndexOutput.Dispose(); - } - - void CheckResult() - { - const int i = 1; - Utils.AssertNearOrEqual(m_Reference, m_BoneIndexOutput[i]); - } - - [Test] - public unsafe void ConvertBoneJointsUInt8ToUInt32Job() - { - var job = new GLTFast.Jobs.ConvertBoneJointsUInt8ToUInt32Job - { - input = (byte*)m_InputUInt8.GetUnsafeReadOnlyPtr(), - inputByteStride = 4, - result = (uint4*)m_BoneIndexOutput.GetUnsafePtr(), - outputByteStride = 16 - }; - job.Run(m_BoneIndexOutput.Length); - CheckResult(); - } - - [Test] - public unsafe void ConvertBoneJointsUInt16ToUInt32Job() - { - var job = new GLTFast.Jobs.ConvertBoneJointsUInt16ToUInt32Job - { - input = (byte*)m_InputUInt16.GetUnsafeReadOnlyPtr(), - inputByteStride = 8, - result = (uint4*)m_BoneIndexOutput.GetUnsafePtr(), - outputByteStride = 16 - }; - job.Run(m_BoneIndexOutput.Length); - CheckResult(); - } - } - - [TestFixture] - class SortJointsJobs - { - - const int k_BoneIndexLength = 24; - - NativeArray m_Input; - - [OneTimeSetUp] - public unsafe void SetUpTest() - { - m_Input = new NativeArray(k_BoneIndexLength, Allocator.Persistent); - var v = new VBones(); - var index = 0; - foreach (var i in AllFour()) - { - v.joints[i[0]] = 0; - v.joints[i[1]] = 1; - v.joints[i[2]] = 2; - v.joints[i[3]] = 3; - - v.weights[i[0]] = .5f; - v.weights[i[1]] = .25f; - v.weights[i[2]] = .20f; - v.weights[i[3]] = .05f; - m_Input[index] = v; - index++; - } - } - - [OneTimeTearDown] - public void Cleanup() - { - m_Input.Dispose(); - } - - unsafe void CheckResult() - { - foreach (var v in m_Input) - { - Assert.AreEqual(0, v.joints[0]); - Assert.AreEqual(1, v.joints[1]); - Assert.AreEqual(2, v.joints[2]); - Assert.AreEqual(3, v.joints[3]); - Assert.AreEqual(0.5f, v.weights[0]); - Assert.AreEqual(.25f, v.weights[1]); - Assert.AreEqual(.2f, v.weights[2]); - Assert.AreEqual(.05f, v.weights[3]); - } - } - - [Test] - public unsafe void SortAndRenormalizeBoneWeightsJob() - { - var job = new GLTFast.Jobs.SortAndNormalizeBoneWeightsJob() - { - bones = m_Input, - skinWeights = 4 - }; - job.Run(m_Input.Length); - CheckResult(); - } - - public static System.Collections.Generic.IEnumerable AllFour() - { - yield return new[] { 0, 1, 2, 3 }; - yield return new[] { 0, 1, 3, 2 }; - yield return new[] { 0, 2, 3, 1 }; - yield return new[] { 0, 2, 1, 3 }; - yield return new[] { 0, 3, 1, 2 }; - yield return new[] { 0, 3, 2, 1 }; - yield return new[] { 1, 3, 2, 0 }; - yield return new[] { 1, 3, 0, 2 }; - yield return new[] { 1, 2, 0, 3 }; - yield return new[] { 1, 2, 3, 0 }; - yield return new[] { 1, 0, 3, 2 }; - yield return new[] { 1, 0, 2, 3 }; - yield return new[] { 2, 0, 1, 3 }; - yield return new[] { 2, 0, 3, 1 }; - yield return new[] { 2, 1, 0, 3 }; - yield return new[] { 2, 1, 3, 0 }; - yield return new[] { 2, 3, 0, 1 }; - yield return new[] { 2, 3, 1, 0 }; - yield return new[] { 3, 0, 2, 1 }; - yield return new[] { 3, 0, 1, 2 }; - yield return new[] { 3, 2, 1, 0 }; - yield return new[] { 3, 2, 0, 1 }; - yield return new[] { 3, 1, 0, 2 }; - yield return new[] { 3, 1, 2, 0 }; - } - } - - [TestFixture] - class MatrixJobs - { - const int k_MatrixLength = 10; - static readonly Matrix4x4 k_Reference = new Matrix4x4( - new Vector4(1, -5, -9, 13), - new Vector4(-2, 6, 10, 14), - new Vector4(-3, 7, 11, 15), - new Vector4(-4, 8, 12, 16) - ); - NativeArray m_MatrixInput; - NativeArray m_MatrixOutput; - - [OneTimeSetUp] - public void SetUpTest() - { - m_MatrixInput = new NativeArray(k_MatrixLength, Allocator.Persistent); - m_MatrixOutput = new NativeArray(k_MatrixLength, Allocator.Persistent); - - m_MatrixInput[1] = new float4x4( - 1, 2, 3, 4, - 5, 6, 7, 8, - 9, 10, 11, 12, - 13, 14, 15, 16 - ); - } - - [OneTimeTearDown] - public void Cleanup() - { - m_MatrixInput.Dispose(); - m_MatrixOutput.Dispose(); - } - - [Test] - public unsafe void ConvertMatricesJob() - { - var job = new GLTFast.Jobs.ConvertMatricesJob - { - input = (float4x4*)m_MatrixInput.GetUnsafeReadOnlyPtr(), - result = (float4x4*)m_MatrixOutput.GetUnsafePtr(), - }; - job.Run(m_MatrixOutput.Length); - Assert.AreEqual(k_Reference, m_MatrixOutput[1]); - } - } - - [TestFixture] - class IndexJobs - { - const int k_IndexLength = 12; // multiple of 3! - NativeArray m_InputUInt8; - NativeArray m_InputUInt16; - NativeArray m_InputUInt32; - NativeArray m_IndexOutput; - - [OneTimeSetUp] - public void SetUpTest() - { - m_InputUInt8 = new NativeArray(k_IndexLength, Allocator.Persistent); - m_InputUInt16 = new NativeArray(k_IndexLength, Allocator.Persistent); - m_InputUInt32 = new NativeArray(k_IndexLength, Allocator.Persistent); - m_IndexOutput = new NativeArray(k_IndexLength, Allocator.Persistent); - - for (var i = 0; i < 6; i++) - { - m_InputUInt8[i] = (byte)i; - m_InputUInt16[i] = (ushort)i; - m_InputUInt32[i] = (uint)i; - } - } - - [OneTimeTearDown] - public void Cleanup() - { - m_InputUInt8.Dispose(); - m_InputUInt16.Dispose(); - m_InputUInt32.Dispose(); - m_IndexOutput.Dispose(); - } - - void CheckResult() - { - for (var i = 0; i < 6; i++) - { - Assert.AreEqual(i, m_IndexOutput[i]); - } - } - - void CheckResultFlipped() - { - Assert.AreEqual(0, m_IndexOutput[0]); - Assert.AreEqual(2, m_IndexOutput[1]); - Assert.AreEqual(1, m_IndexOutput[2]); - Assert.AreEqual(3, m_IndexOutput[3]); - Assert.AreEqual(5, m_IndexOutput[4]); - Assert.AreEqual(4, m_IndexOutput[5]); - } - - [Test] - public unsafe void CreateIndicesInt32Job() - { - Assert.IsTrue(m_IndexOutput.Length % 3 == 0); - var job = new GLTFast.Jobs.CreateIndicesInt32Job - { - result = (int*)m_IndexOutput.GetUnsafePtr() - }; - job.Run(m_IndexOutput.Length); - CheckResult(); - } - - [Test] - public unsafe void CreateIndicesInt32FlippedJob() - { - Assert.IsTrue(m_IndexOutput.Length % 3 == 0); - var job = new GLTFast.Jobs.CreateIndicesInt32FlippedJob - { - result = (int*)m_IndexOutput.GetUnsafePtr() - }; - job.Run(m_IndexOutput.Length); - Assert.AreEqual(2, m_IndexOutput[0]); - Assert.AreEqual(1, m_IndexOutput[1]); - Assert.AreEqual(0, m_IndexOutput[2]); - Assert.AreEqual(5, m_IndexOutput[3]); - Assert.AreEqual(4, m_IndexOutput[4]); - Assert.AreEqual(3, m_IndexOutput[5]); - } - - [Test] - public unsafe void ConvertIndicesUInt8ToInt32Job() - { - Assert.IsTrue(m_IndexOutput.Length % 3 == 0); - var job = new GLTFast.Jobs.ConvertIndicesUInt8ToInt32Job - { - input = (byte*)m_InputUInt8.GetUnsafeReadOnlyPtr(), - result = (int*)m_IndexOutput.GetUnsafePtr() - }; - job.Run(m_IndexOutput.Length); - CheckResult(); - } - - [Test] - public unsafe void ConvertIndicesUInt8ToInt32FlippedJob() - { - Assert.IsTrue(m_IndexOutput.Length % 3 == 0); - var job = new GLTFast.Jobs.ConvertIndicesUInt8ToInt32FlippedJob - { - input = (byte*)m_InputUInt8.GetUnsafeReadOnlyPtr(), - result = (int3*)m_IndexOutput.GetUnsafePtr() - }; - job.Run(m_IndexOutput.Length / 3); - CheckResultFlipped(); - } - - [Test] - public unsafe void ConvertIndicesUInt16ToInt32FlippedJob() - { - Assert.IsTrue(m_IndexOutput.Length % 3 == 0); - var job = new GLTFast.Jobs.ConvertIndicesUInt16ToInt32FlippedJob - { - input = (ushort*)m_InputUInt16.GetUnsafeReadOnlyPtr(), - result = (int3*)m_IndexOutput.GetUnsafePtr() - }; - job.Run(m_IndexOutput.Length / 3); - CheckResultFlipped(); - } - - [Test] - public unsafe void ConvertIndicesUInt16ToInt32Job() - { - Assert.IsTrue(m_IndexOutput.Length % 3 == 0); - var job = new GLTFast.Jobs.ConvertIndicesUInt16ToInt32Job - { - input = (ushort*)m_InputUInt16.GetUnsafeReadOnlyPtr(), - result = (int*)m_IndexOutput.GetUnsafePtr() - }; - job.Run(m_IndexOutput.Length); - CheckResult(); - } - - [Test] - public unsafe void ConvertIndicesUInt32ToInt32Job() - { - Assert.IsTrue(m_IndexOutput.Length % 3 == 0); - var job = new GLTFast.Jobs.ConvertIndicesUInt32ToInt32Job - { - input = (uint*)m_InputUInt32.GetUnsafeReadOnlyPtr(), - result = (int*)m_IndexOutput.GetUnsafePtr() - }; - job.Run(m_IndexOutput.Length); - CheckResult(); - } - - [Test] - public unsafe void ConvertIndicesUInt32ToInt32FlippedJob() - { - Assert.IsTrue(m_IndexOutput.Length % 3 == 0); - var job = new GLTFast.Jobs.ConvertIndicesUInt32ToInt32FlippedJob - { - input = (uint*)m_InputUInt32.GetUnsafeReadOnlyPtr(), - result = (int3*)m_IndexOutput.GetUnsafePtr() - }; - job.Run(m_IndexOutput.Length / 3); - CheckResultFlipped(); - } - } - - [TestFixture] - class ScalarJobs - { - const int k_ScalarLength = 10; - NativeArray m_InputInt8; - NativeArray m_InputUInt8; - NativeArray m_InputInt16; - NativeArray m_InputUInt16; - NativeArray m_ScalarOutput; - - [OneTimeSetUp] - public void SetUpTest() - { - m_InputInt8 = new NativeArray(k_ScalarLength, Allocator.Persistent); - m_InputUInt8 = new NativeArray(k_ScalarLength, Allocator.Persistent); - m_InputInt16 = new NativeArray(k_ScalarLength, Allocator.Persistent); - m_InputUInt16 = new NativeArray(k_ScalarLength, Allocator.Persistent); - m_ScalarOutput = new NativeArray(k_ScalarLength, Allocator.Persistent); - - m_InputInt8[0] = sbyte.MaxValue; - m_InputUInt8[0] = byte.MaxValue; - m_InputInt16[0] = short.MaxValue; - m_InputUInt16[0] = ushort.MaxValue; - - m_InputInt8[1] = 0; - m_InputUInt8[1] = 0; - m_InputInt16[1] = 0; - m_InputUInt16[1] = 0; - - m_InputInt8[2] = sbyte.MinValue; - m_InputUInt8[2] = byte.MinValue; - m_InputInt16[2] = short.MinValue; - m_InputUInt16[2] = ushort.MinValue; - - m_InputInt8[3] = sbyte.MaxValue / 2; - m_InputUInt8[3] = byte.MaxValue / 2; - m_InputInt16[3] = short.MaxValue / 2; - m_InputUInt16[3] = ushort.MaxValue / 2; - } - - [OneTimeTearDown] - public void Cleanup() - { - m_InputInt8.Dispose(); - m_InputUInt8.Dispose(); - m_InputInt16.Dispose(); - m_InputUInt16.Dispose(); - m_ScalarOutput.Dispose(); - } - - void CheckResult(float epsilon = float.Epsilon) - { - Utils.AssertNearOrEqual(1, m_ScalarOutput[0], epsilon); - Utils.AssertNearOrEqual(0, m_ScalarOutput[1], epsilon); - Utils.AssertNearOrEqual(0, m_ScalarOutput[2], epsilon); - Utils.AssertNearOrEqual(.5f, m_ScalarOutput[3], epsilon); - } - - void CheckSignedResult(float epsilon = float.Epsilon) - { - Utils.AssertNearOrEqual(1, m_ScalarOutput[0], epsilon); - Utils.AssertNearOrEqual(0, m_ScalarOutput[1], epsilon); - Utils.AssertNearOrEqual(-1, m_ScalarOutput[2], epsilon); - Utils.AssertNearOrEqual(.5f, m_ScalarOutput[3], epsilon); - } - - [Test] - public unsafe void ConvertScalarInt8ToFloatNormalizedJob() - { - var job = new GLTFast.Jobs.ConvertScalarInt8ToFloatNormalizedJob - { - input = (sbyte*)m_InputInt8.GetUnsafeReadOnlyPtr(), - result = m_ScalarOutput, - }; - job.Run(m_ScalarOutput.Length); - CheckSignedResult(Constants.epsilonInt8); - } - - [Test] - public unsafe void ConvertScalarUInt8ToFloatNormalizedJob() - { - var job = new GLTFast.Jobs.ConvertScalarUInt8ToFloatNormalizedJob - { - input = (byte*)m_InputUInt8.GetUnsafeReadOnlyPtr(), - result = m_ScalarOutput, - }; - job.Run(m_ScalarOutput.Length); - CheckResult(Constants.epsilonUInt8); - } - - [Test] - public unsafe void ConvertScalarInt16ToFloatNormalizedJob() - { - var job = new GLTFast.Jobs.ConvertScalarInt16ToFloatNormalizedJob - { - input = (short*)m_InputInt16.GetUnsafeReadOnlyPtr(), - result = m_ScalarOutput, - }; - job.Run(m_ScalarOutput.Length); - CheckSignedResult(Constants.epsilonInt16); - } - - [Test] - public unsafe void ConvertScalarUInt16ToFloatNormalizedJob() - { - var job = new GLTFast.Jobs.ConvertScalarUInt16ToFloatNormalizedJob - { - input = (ushort*)m_InputUInt16.GetUnsafeReadOnlyPtr(), - result = m_ScalarOutput, - }; - job.Run(m_ScalarOutput.Length); - CheckResult(Constants.epsilonUInt16); - } - } -} diff --git a/Tests/Runtime/Scripts/JobTests.cs.meta b/Tests/Runtime/Scripts/JobTests.cs.meta deleted file mode 100644 index 515f890fe..000000000 --- a/Tests/Runtime/Scripts/JobTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 30a1d1b152d51468fbe45b4a2c79e1f9 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts/JsonParsing.meta b/Tests/Runtime/Scripts/JsonParsing.meta deleted file mode 100644 index 488953201..000000000 --- a/Tests/Runtime/Scripts/JsonParsing.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 2f0440d9524574750abb7501afdccb31 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts/JsonParsing/EnumTypeTests.cs b/Tests/Runtime/Scripts/JsonParsing/EnumTypeTests.cs deleted file mode 100644 index a9e884743..000000000 --- a/Tests/Runtime/Scripts/JsonParsing/EnumTypeTests.cs +++ /dev/null @@ -1,478 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using System; -#if NEWTONSOFT_JSON -using Newtonsoft.Json; -#endif -using GLTFast.Schema; -#if MESHOPT -using Meshoptimizer; -#endif -using NUnit.Framework; -using UnityEngine; -using Camera = GLTFast.Schema.Camera; -using Material = GLTFast.Schema.Material; - -namespace GLTFast.Tests.JsonParsing -{ - [TestFixture] - [Category("JsonParsing")] - class EnumTypeTests - { - Root m_Gltf; -#if NEWTONSOFT_JSON - Newtonsoft.Schema.Root m_GltfNewtonsoft; -#endif - - [OneTimeSetUp] - public void OneTimeSetUp() - { - var jsonUtilityParser = new GltfJsonUtilityParser(); - m_Gltf = (Root)jsonUtilityParser.ParseJson(k_EnumTypesJson); - -#if NEWTONSOFT_JSON - m_GltfNewtonsoft = JsonConvert.DeserializeObject(k_EnumTypesJson); -#endif - } - - [Test] - public void Accessor() - { - CheckResultAccessor(m_Gltf); - } - - [Test] - public void AccessorNewtonsoft() - { -#if NEWTONSOFT_JSON - CheckResultAccessor(m_GltfNewtonsoft); -#else - Assert.Ignore("Requires Newtonsoft JSON package to be installed."); -#endif - } - - [Test] - public void Animation() - { -#if UNITY_ANIMATION - CheckResultAnimation(m_Gltf); -#else - Assert.Ignore("Requires Animation module to be enabled."); -#endif - } - - [Test] - public void AnimationNewtonsoft() - { -#if NEWTONSOFT_JSON && UNITY_ANIMATION - CheckResultAnimation(m_GltfNewtonsoft); -#else - Assert.Ignore("Requires Newtonsoft JSON package to be installed."); -#endif - } - - [Test] - public void Camera() - { - CheckResultCamera(m_Gltf); - } - - [Test] - public void CameraNewtonsoft() - { -#if NEWTONSOFT_JSON - CheckResultCamera(m_GltfNewtonsoft); -#else - Assert.Ignore("Requires Newtonsoft JSON package to be installed."); -#endif - } - - [Test] - public void Meshopt() - { -#if MESHOPT - CheckResultMeshopt(m_Gltf); -#else - Assert.Ignore("Requires meshoptimizer decompression for Unity package to be installed."); -#endif - } - - [Test] - public void MeshoptNewtonsoft() - { -#if NEWTONSOFT_JSON -#if MESHOPT - CheckResultMeshopt(m_GltfNewtonsoft); -#else - Assert.Ignore("Requires meshoptimizer decompression for Unity package to be installed."); -#endif -#else - Assert.Ignore("Requires Newtonsoft JSON package to be installed."); -#endif - } - - [Test] - public void RootExtensions() - { - CheckResultRootExtensions(m_Gltf); - } - - [Test] - public void RootExtensionsNewtonsoft() - { -#if NEWTONSOFT_JSON - CheckResultRootExtensions(m_GltfNewtonsoft); -#else - Assert.Ignore("Requires Newtonsoft JSON package to be installed."); -#endif - } - - [Test] - public void Materials() - { - CheckResultMaterials(m_Gltf); - } - - [Test] - public void MaterialsNewtonsoft() - { -#if NEWTONSOFT_JSON - CheckResultMaterials(m_GltfNewtonsoft); -#else - Assert.Ignore("Requires Newtonsoft JSON package to be installed."); -#endif - } - - [Test] - public void Samplers() - { - CheckResultSamplers(m_Gltf); - } - - [Test] - public void SamplersNewtonsoft() - { -#if NEWTONSOFT_JSON - CheckResultSamplers(m_GltfNewtonsoft); -#else - Assert.Ignore("Requires Newtonsoft JSON package to be installed."); -#endif - } - - [Test] - public void AccessorTypeEnumCasting() - { -#pragma warning disable CS0618 // Type or member is obsolete - var accessor = new Accessor - { - type = null - }; - Assert.AreEqual(GltfAccessorAttributeType.Undefined, accessor.GetAttributeType()); - Assert.IsNull(accessor.type); - - accessor.type = "MAT3"; - Assert.AreEqual(GltfAccessorAttributeType.MAT3, accessor.GetAttributeType()); - Assert.IsNull(accessor.type); - accessor.SetAttributeType(GltfAccessorAttributeType.Undefined); - Assert.IsNull(accessor.type); - - accessor.type = "Nonsense"; - Assert.AreEqual(GltfAccessorAttributeType.Undefined, accessor.GetAttributeType()); - Assert.IsNull(accessor.type); - - accessor.type = ""; - Assert.AreEqual(GltfAccessorAttributeType.Undefined, accessor.GetAttributeType()); - Assert.IsNull(accessor.type); -#pragma warning restore CS0618 // Type or member is obsolete - } - - - - [Test] - public void AnimationChannelTargetEnumCasting() - { -#if UNITY_ANIMATION -#pragma warning disable CS0618 // Type or member is obsolete - var obj = new AnimationChannelTarget - { - path = null - }; - Assert.AreEqual(AnimationChannel.Path.Invalid, obj.GetPath()); - Assert.IsNull(obj.path); - // Second time to test cached value - Assert.AreEqual(AnimationChannel.Path.Invalid, obj.GetPath()); - - obj = new AnimationChannelTarget - { - path = "Pointer" - }; - Assert.AreEqual(AnimationChannel.Path.Pointer, obj.GetPath()); - Assert.IsNull(obj.path); -#pragma warning restore CS0618 // Type or member is obsolete -#else - Assert.Ignore("Requires Animation module to be enabled."); -#endif - } - - [Test] - public void AnimationSamplerEnumCasting() - { -#if UNITY_ANIMATION -#pragma warning disable CS0618 // Type or member is obsolete - var obj = new AnimationSampler - { - interpolation = null - }; - Assert.AreEqual(InterpolationType.Linear, obj.GetInterpolationType()); - Assert.IsNull(obj.interpolation); - // Second time to test cached value - Assert.AreEqual(InterpolationType.Linear, obj.GetInterpolationType()); - - obj = new AnimationSampler - { - interpolation = "CubicSpline" - }; - Assert.AreEqual(InterpolationType.CubicSpline, obj.GetInterpolationType()); - Assert.IsNull(obj.interpolation); -#pragma warning restore CS0618 // Type or member is obsolete -#else - Assert.Ignore("Requires Animation module to be enabled."); -#endif - } - -#if MESHOPT - [Test] - public void BufferViewEnumCasting() - { -#pragma warning disable CS0618 // Type or member is obsolete - var obj = new BufferViewMeshoptExtension - { - filter = "Octahedral", - mode = "Nonsense" - }; - - Assert.AreEqual(Filter.Octahedral, obj.GetFilter()); - Assert.IsNull(obj.filter); - // Second time to test cached value - Assert.AreEqual(Filter.Octahedral, obj.GetFilter()); - - Assert.AreEqual(Mode.Undefined, obj.GetMode()); - Assert.IsNull(obj.mode); - obj.mode = "Indices"; - Assert.AreEqual(Mode.Indices, obj.GetMode()); - Assert.IsNull(obj.mode); - // Second time to test cached value - Assert.AreEqual(Mode.Indices, obj.GetMode()); - - obj = new BufferViewMeshoptExtension - { - filter = "Nonsense" - }; - Assert.AreEqual(Filter.None, obj.GetFilter()); - Assert.IsNull(obj.filter); -#pragma warning restore CS0618 // Type or member is obsolete - } -#endif - - [Test] - public void CameraEnumCasting() - { -#pragma warning disable CS0618 // Type or member is obsolete - var obj = new Camera - { - type = "Orthographic" - }; - Assert.AreEqual(Schema.Camera.Type.Orthographic, obj.GetCameraType()); - Assert.IsNull(obj.type); - // Second time to test cached value - Assert.AreEqual(Schema.Camera.Type.Orthographic, obj.GetCameraType()); - - obj = new Camera(); - Assert.AreEqual(Schema.Camera.Type.Perspective, obj.GetCameraType()); - obj = new Camera - { - orthographic = new CameraOrthographic() - }; - Assert.AreEqual(Schema.Camera.Type.Orthographic, obj.GetCameraType()); - obj = new Camera - { - perspective = new CameraPerspective() - }; - Assert.AreEqual(Schema.Camera.Type.Perspective, obj.GetCameraType()); -#pragma warning restore CS0618 // Type or member is obsolete - } - - - [Test] - public void LightPunctualEnumCasting() - { -#pragma warning disable CS0618 // Type or member is obsolete - var obj = new LightPunctual - { - type = "Directional" - }; - Assert.AreEqual(LightPunctual.Type.Directional, obj.GetLightType()); - Assert.IsNull(obj.type); - // Second time to test cached value - Assert.AreEqual(LightPunctual.Type.Directional, obj.GetLightType()); - - obj = new LightPunctual - { - type = "Nonsense" - }; - Assert.AreEqual(LightPunctual.Type.Unknown, obj.GetLightType()); - Assert.IsNull(obj.type); -#pragma warning restore CS0618 // Type or member is obsolete - } - - [Test] - public void MaterialAlphaModeEnumCasting() - { -#pragma warning disable CS0618 // Type or member is obsolete - var obj = new Material - { - alphaMode = "BLEND" - }; - Assert.AreEqual(Material.AlphaMode.Blend, obj.GetAlphaMode()); - Assert.IsNull(obj.alphaMode); - // Second time to test cached value - Assert.AreEqual(Material.AlphaMode.Blend, obj.GetAlphaMode()); - - obj = new Material - { - alphaMode = "Nonsense" - }; - Assert.AreEqual(Material.AlphaMode.Opaque, obj.GetAlphaMode()); - Assert.IsNull(obj.alphaMode); -#pragma warning restore CS0618 // Type or member is obsolete - } - - static void CheckResultAccessor(RootBase gltf) - { - Assert.NotNull(gltf); - Assert.NotNull(gltf.Accessors); - Assert.AreEqual(1, gltf.Accessors.Count); - Assert.AreEqual(GltfComponentType.UnsignedShort, gltf.Accessors[0].componentType); - Assert.AreEqual(GltfAccessorAttributeType.MAT3, gltf.Accessors[0].GetAttributeType()); - } - -#if UNITY_ANIMATION - static void CheckResultAnimation(RootBase gltf) - { - Assert.NotNull(gltf); - Assert.NotNull(gltf.Animations); - Assert.AreEqual(1, gltf.Animations.Count); - Assert.NotNull(gltf.Animations[0].Channels); - Assert.AreEqual(1, gltf.Animations[0].Channels.Count); - Assert.NotNull(gltf.Animations[0].Channels[0].Target); - Assert.AreEqual(AnimationChannel.Path.Weights, gltf.Animations[0].Channels[0].Target.GetPath()); - Assert.NotNull(gltf.Animations[0].Samplers); - Assert.AreEqual(1, gltf.Animations[0].Samplers.Count); - Assert.AreEqual(InterpolationType.CubicSpline, gltf.Animations[0].Samplers[0].GetInterpolationType()); - } -#endif - - static void CheckResultCamera(RootBase gltf) - { - Assert.NotNull(gltf); - Assert.NotNull(gltf.Cameras); - Assert.AreEqual(1, gltf.Cameras.Count); - Assert.AreEqual(Schema.Camera.Type.Orthographic, gltf.Cameras[0].GetCameraType()); - } - -#if MESHOPT - static void CheckResultMeshopt(RootBase gltf) - { - Assert.NotNull(gltf); - Assert.NotNull(gltf.BufferViews); - Assert.AreEqual(1, gltf.BufferViews.Count); - Assert.NotNull(gltf.BufferViews[0].Extensions?.EXT_meshopt_compression); - Assert.AreEqual(Mode.Triangles, gltf.BufferViews[0].Extensions?.EXT_meshopt_compression.GetMode()); - Assert.AreEqual(Filter.Exponential, gltf.BufferViews[0].Extensions?.EXT_meshopt_compression.GetFilter()); - } -#endif - static void CheckResultRootExtensions(RootBase gltf) - { - Assert.NotNull(gltf); - Assert.NotNull(gltf.Extensions); - Assert.NotNull(gltf.Extensions.KHR_lights_punctual); - Assert.NotNull(gltf.Extensions.KHR_lights_punctual.lights); - Assert.AreEqual(1, gltf.Extensions.KHR_lights_punctual.lights.Length); - Assert.AreEqual(LightPunctual.Type.Directional, gltf.Extensions.KHR_lights_punctual.lights[0].GetLightType()); - } - - static void CheckResultMaterials(RootBase gltf) - { - Assert.NotNull(gltf); - Assert.NotNull(gltf.Materials); - Assert.AreEqual(1, gltf.Materials.Count); - Assert.AreEqual(Material.AlphaMode.Mask, gltf.Materials[0].GetAlphaMode()); - Assert.NotNull(gltf.Meshes); - Assert.AreEqual(1, gltf.Meshes.Count); - Assert.NotNull(gltf.Meshes[0].Primitives); - Assert.AreEqual(1, gltf.Meshes[0].Primitives.Count); - Assert.AreEqual(DrawMode.LineStrip, gltf.Meshes[0].Primitives[0].mode); - } - - static void CheckResultSamplers(RootBase gltf) - { - Assert.NotNull(gltf); - Assert.NotNull(gltf.Samplers); - Assert.AreEqual(1, gltf.Samplers.Count); - Assert.AreEqual(Sampler.MagFilterMode.Nearest, gltf.Samplers[0].magFilter); - Assert.AreEqual(Sampler.WrapMode.MirroredRepeat, gltf.Samplers[0].wrapS); - Assert.AreEqual(Sampler.WrapMode.None, gltf.Samplers[0].wrapT); - } - - const string k_EnumTypesJson = @" -{ - ""accessors"": [{ - ""type"": ""MAT3"", - ""componentType"": 5123 - }], - ""animations"": [{ - ""channels"": [{ - ""target"": { - ""path"": ""Weights"" - } - }], - ""samplers"": [{ - ""interpolation"": ""CubicSpline"" - }] - }], - ""bufferViews"": [{ - ""extensions"": { - ""EXT_meshopt_compression"": { - ""mode"": ""Triangles"", - ""filter"": ""Exponential"" - } - } - }], - ""cameras"": [{ - ""type"": ""Orthographic"" - }], - ""extensions"": { - ""KHR_lights_punctual"": { - ""lights"":[{ - ""type"": ""Directional"" - }] - } - }, - ""materials"": [{ - ""alphaMode"": ""MASK"" - }], - ""meshes"": [{ - ""primitives"": [{ - ""mode"": 3 - }] - }], - ""samplers"": [{ - ""magFilter"": 9728, - ""minFilter"": 9984, - ""wrapS"": 33648, - ""wrapT"": 0 - }] -}"; - } -} diff --git a/Tests/Runtime/Scripts/JsonParsing/EnumTypeTests.cs.meta b/Tests/Runtime/Scripts/JsonParsing/EnumTypeTests.cs.meta deleted file mode 100644 index 8348228a9..000000000 --- a/Tests/Runtime/Scripts/JsonParsing/EnumTypeTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: bc3a8d039f62d455ab9b7940647ee495 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts/JsonParsing/ExtensionTests.cs b/Tests/Runtime/Scripts/JsonParsing/ExtensionTests.cs deleted file mode 100644 index 0c582da9d..000000000 --- a/Tests/Runtime/Scripts/JsonParsing/ExtensionTests.cs +++ /dev/null @@ -1,620 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using System; - -using GLTFast.Schema; -#if NEWTONSOFT_JSON -using Newtonsoft.Json; -#endif -using NUnit.Framework; -using UnityEngine; - -namespace GLTFast.Tests.JsonParsing -{ - [Category("JsonParsing")] - class ExtensionTests - { - const string k_CustomContent = @" -{ - ""floatProp"" : 3.4700000286102295, - ""intProp"" : 42, - ""stringProp"" : ""Yadiya"", - ""eulerAngles"" : [ - 1.0, - 1.0, - 1.0 - ], - ""intArrayProp"" : [ - 1, - 1, - 1 - ], - ""rotation"" : [ - 0.8199999928474426, - 0.8199999928474426, - 0.8199999928474426, - 0.8199999928474426 - ], - ""color"" : [ - 1.0, - 1.0, - 1.0, - 1.0 - ], - ""subObject"":{ - ""floatProp"" : 3.4700000286102295, - ""intProp"" : 42, - ""stringProp"" : ""Yadiya"", - ""eulerAngles"" : [ - 1.0, - 1.0, - 1.0 - ], - ""intArrayProp"" : [ - 1, - 1, - 1 - ], - ""rotation"" : [ - 0.8199999928474426, - 0.8199999928474426, - 0.8199999928474426, - 0.8199999928474426 - ], - ""color"" : [ - 1.0, - 1.0, - 1.0, - 1.0 - ] - } -} -"; - - static readonly string k_CustomExtensionJson = -$@" -{{ - ""extensions"": {{ - ""CUSTOM_my_extension"":{k_CustomContent}, - ""KHR_lights_punctual"": - {{ - ""lights"":[{{ - ""type"": ""Directional"" - }}] - }} - }} -}}"; - - [Serializable] - class MyExtension : SubClass - { - public SubClass subObject; - } - - [Serializable] - class SubClass - { - public float floatProp; - public int intProp; - public string stringProp; - public float[] eulerAngles; - public int[] intArrayProp; - public float[] rotation; - public float[] color; - } - - [Serializable] - class NotMatchingExtension - { - // ReSharper disable once NotAccessedField.Local - public string noMatch; - } - - [Test] - public void KnownExtensionOnly() - { -#if !NEWTONSOFT_JSON - Assert.Ignore("Requires Newtonsoft JSON package to be installed."); -#else - const string json = @" - { - ""extensions"": { - ""KHR_lights_punctual"": - { - ""lights"":[{ - ""type"": ""Directional"" - }] - } - } - }"; - - var gltf = JsonConvert.DeserializeObject(json); - Assert.NotNull(gltf); - Assert.NotNull(gltf.extensions); - Assert.NotNull(gltf.extensions.KHR_lights_punctual); - Assert.NotNull(gltf.extensions.KHR_lights_punctual.lights); - Assert.AreEqual(1, gltf.extensions.KHR_lights_punctual.lights.Length); - Assert.AreEqual(LightPunctual.Type.Directional, gltf.extensions.KHR_lights_punctual.lights[0].GetLightType()); - Assert.IsFalse(gltf.extensions.TryGetValue("CUSTOM_my_extension", out var ext)); - Assert.IsNull(ext); -#endif - } - - [Test] - public void CustomExtensionOnly() - { -#if !NEWTONSOFT_JSON - Assert.Ignore("Requires Newtonsoft JSON package to be installed."); -#else - var json = $@" - {{ - ""extensions"": {{ - ""CUSTOM_my_extension"":{k_CustomContent} - }} - }}"; - - var gltf = JsonConvert.DeserializeObject(json); - Assert.NotNull(gltf); - Assert.NotNull(gltf.extensions); - Assert.IsNull(gltf.extensions.KHR_lights_punctual); - Assert.IsTrue(gltf.extensions.TryGetValue("CUSTOM_my_extension", out var ext)); - CertifyCustomExtensions(gltf.extensions); -#endif - } - - [Test] - public void CustomExtensionJsonUtility() - { - var jsonParser = new GltfJsonUtilityParser(); - var gltf = jsonParser.ParseJson(k_CustomExtensionJson); - Assert.NotNull(gltf); - Assert.NotNull(gltf.Extensions); - Assert.NotNull(gltf.Extensions.KHR_lights_punctual); - Assert.NotNull(gltf.Extensions.KHR_lights_punctual.lights); - Assert.AreEqual(1, gltf.Extensions.KHR_lights_punctual.lights.Length); - Assert.AreEqual(LightPunctual.Type.Directional, gltf.Extensions.KHR_lights_punctual.lights[0].GetLightType()); - } - - [Test] - public void CustomExtensionNewtonsoft() - { -#if !NEWTONSOFT_JSON - Assert.Ignore("Requires Newtonsoft JSON package to be installed."); -#else - var gltf = JsonConvert.DeserializeObject(k_CustomExtensionJson); - Assert.NotNull(gltf); - Assert.NotNull(gltf.extensions); - Assert.NotNull(gltf.extensions.KHR_lights_punctual); - Assert.NotNull(gltf.extensions.KHR_lights_punctual.lights); - Assert.AreEqual(1, gltf.extensions.KHR_lights_punctual.lights.Length); - Assert.AreEqual(LightPunctual.Type.Directional, gltf.extensions.KHR_lights_punctual.lights[0].GetLightType()); - Assert.IsTrue(gltf.extensions.TryGetValue("CUSTOM_my_extension", out var ext)); - CertifyCustomExtensions(gltf.extensions); -#endif - } - - [Test] - public void CustomExtensionEverywhere() - { -#if !NEWTONSOFT_JSON - Assert.Ignore("Requires Newtonsoft JSON package to be installed."); -#else - var json = $@" -{{ - ""accessors"": [{{ - ""customProperty"": 42, - ""extras"": {{""myKey"": ""myValue""}}, - ""extensions"": {{""CUSTOM_my_extension"": {k_CustomContent}}}, - ""sparse"":{{ - ""customProperty"": 420, - ""extras"": {{""myKey"": ""myValue""}}, - ""extensions"": {{""CUSTOM_my_extension"": {k_CustomContent}}}, - ""indices"": {{ - ""customProperty"": 4200, - ""extras"": {{""myKey"": ""myValue""}}, - ""extensions"": {{""CUSTOM_my_extension"": {k_CustomContent}}} - }}, - ""values"": {{ - ""customProperty"": 4201, - ""extras"": {{""myKey"": ""myValue""}}, - ""extensions"": {{""CUSTOM_my_extension"": {k_CustomContent}}} - }} - }} - }}], - ""animations"": [{{ - ""customProperty"": 43, - ""extras"": {{""myKey"": ""myValue""}}, - ""extensions"": {{""CUSTOM_my_extension"": {k_CustomContent}}}, - ""channels"": [{{ - ""customProperty"": 430, - ""extras"": {{""myKey"": ""myValue""}}, - ""extensions"": {{""CUSTOM_my_extension"": {k_CustomContent}}}, - ""target"": {{ - ""customProperty"": 4300, - ""extras"": {{""myKey"": ""myValue""}}, - ""extensions"": {{""CUSTOM_my_extension"": {k_CustomContent}}} - }} - }}], - ""samplers"": [{{ - ""customProperty"": 431, - ""extras"": {{""myKey"": ""myValue""}}, - ""extensions"": {{""CUSTOM_my_extension"": {k_CustomContent}}} - }}] - }}], - ""asset"": {{ - ""customProperty"": 44, - ""extras"": {{""myKey"": ""myValue""}}, - ""extensions"": {{""CUSTOM_my_extension"": {k_CustomContent}}}, - ""version"": ""2.0"" - }}, - ""buffers"": [{{ - ""customProperty"": 45, - ""extras"": {{""myKey"": ""myValue""}}, - ""extensions"": {{""CUSTOM_my_extension"": {k_CustomContent}}} - }}], - ""bufferViews"": [{{ - ""customProperty"": 46, - ""extras"": {{""myKey"": ""myValue""}}, - ""extensions"": {{""CUSTOM_my_extension"": {k_CustomContent}}} - }}], - ""cameras"": [{{ - ""customProperty"": 47, - ""extras"": {{""myKey"": ""myValue""}}, - ""extensions"": {{""CUSTOM_my_extension"": {k_CustomContent}}}, - ""orthographic"": {{ - ""customProperty"": 470, - ""extras"": {{""myKey"": ""myValue""}}, - ""extensions"": {{""CUSTOM_my_extension"": {k_CustomContent}}} - }}, - ""perspective"": {{ - ""customProperty"": 471, - ""extras"": {{""myKey"": ""myValue""}}, - ""extensions"": {{""CUSTOM_my_extension"": {k_CustomContent}}} - }} - }}], - ""customProperty"": 48, - ""extensions"": {{""CUSTOM_my_extension"": {k_CustomContent}}}, - ""extensionsRequired"": [""CUSTOM_my_extension""], - ""extensionsUsed"": [""CUSTOM_my_extension""], - ""extras"": {{""myKey"": ""myValue""}}, - ""images"": [{{ - ""customProperty"": 49, - ""extras"": {{""myKey"": ""myValue""}}, - ""extensions"": {{""CUSTOM_my_extension"": {k_CustomContent}}} - }}], - ""materials"": [{{ - ""customProperty"": 50, - ""extras"": {{""myKey"": ""myValue""}}, - ""extensions"": {{""CUSTOM_my_extension"": {k_CustomContent}}}, - ""pbrMetallicRoughness"": {{ - ""customProperty"": 500, - ""extras"": {{""myKey"": ""myValue""}}, - ""extensions"": {{""CUSTOM_my_extension"": {k_CustomContent}}}, - ""baseColorTexture"": {{ - ""customProperty"": 5000, - ""extras"": {{""myKey"": ""myValue""}}, - ""extensions"": {{""CUSTOM_my_extension"": {k_CustomContent}}}, - }}, - ""metallicRoughnessTexture"": {{ - ""customProperty"": 5001, - ""extras"": {{""myKey"": ""myValue""}}, - ""extensions"": {{""CUSTOM_my_extension"": {k_CustomContent}}}, - }} - }}, - ""emissiveTexture"": {{ - ""customProperty"": 501, - ""extras"": {{""myKey"": ""myValue""}}, - ""extensions"": {{""CUSTOM_my_extension"": {k_CustomContent}}}, - }}, - ""normalTexture"": {{ - ""customProperty"": 502, - ""extras"": {{""myKey"": ""myValue""}}, - ""extensions"": {{""CUSTOM_my_extension"": {k_CustomContent}}}, - }}, - ""occlusionTexture"": {{ - ""customProperty"": 503, - ""extras"": {{""myKey"": ""myValue""}}, - ""extensions"": {{""CUSTOM_my_extension"": {k_CustomContent}}}, - }} - }}], - ""meshes"": [{{ - ""primitives"": [{{ - ""customProperty"": 510, - ""extras"": {{""myKey"": ""myValue""}}, - ""extensions"": {{""CUSTOM_my_extension"": {k_CustomContent}}} - }}], - ""customProperty"": 51, - ""extras"": {{""myKey"": ""myValue""}}, - ""extensions"": {{""CUSTOM_my_extension"": {k_CustomContent}}} - }}], - ""nodes"": [{{ - ""customProperty"": 52, - ""extras"": {{""myKey"": ""myValue""}}, - ""extensions"": {{""CUSTOM_my_extension"": {k_CustomContent}}} - }}], - ""samplers"": [{{ - ""customProperty"": 53, - ""extras"": {{""myKey"": ""myValue""}}, - ""extensions"": {{""CUSTOM_my_extension"": {k_CustomContent}}} - }}], - ""scene"": 0, - ""scenes"": [{{ - ""customProperty"": 54, - ""extras"": {{""myKey"": ""myValue""}}, - ""extensions"": {{""CUSTOM_my_extension"": {k_CustomContent}}} - }}], - ""skins"": [{{ - ""customProperty"": 55, - ""extras"": {{""myKey"": ""myValue""}}, - ""extensions"": {{""CUSTOM_my_extension"": {k_CustomContent}}} - }}], - ""textures"": [{{ - ""customProperty"": 56, - ""extras"": {{""myKey"": ""myValue""}}, - ""extensions"": {{""CUSTOM_my_extension"": {k_CustomContent}}} - }}] -}}"; - - var gltf = JsonConvert.DeserializeObject(json); - - CertifyCustomData(gltf, 48); - CertifyCustomExtensions(gltf.extensions); - CertifyCustomExtras(gltf.extras); - - CertifyCustomData(gltf.accessors[0], 42); - CertifyCustomExtensions(gltf.accessors[0].extensions); - CertifyCustomExtras(gltf.accessors[0].extras); - - CertifyCustomData(gltf.accessors[0].sparse, 420); - CertifyCustomExtensions(gltf.accessors[0].sparse.extensions); - CertifyCustomExtras(gltf.accessors[0].sparse.extras); - - CertifyCustomData(gltf.accessors[0].sparse.indices, 4200); - CertifyCustomExtensions(gltf.accessors[0].sparse.indices.extensions); - CertifyCustomExtras(gltf.accessors[0].sparse.indices.extras); - - CertifyCustomData(gltf.accessors[0].sparse.values, 4201); - CertifyCustomExtensions(gltf.accessors[0].sparse.values.extensions); - CertifyCustomExtras(gltf.accessors[0].sparse.values.extras); - -#if UNITY_ANIMATION - CertifyCustomData(gltf.animations[0], 43); - CertifyCustomExtensions(gltf.animations[0].extensions); - CertifyCustomExtras(gltf.animations[0].extras); - - CertifyCustomData(gltf.animations[0].channels[0], 430); - CertifyCustomExtensions(gltf.animations[0].channels[0].extensions); - CertifyCustomExtras(gltf.animations[0].channels[0].extras); - - CertifyCustomData(gltf.animations[0].channels[0].target, 4300); - CertifyCustomExtensions(gltf.animations[0].channels[0].target.extensions); - CertifyCustomExtras(gltf.animations[0].channels[0].target.extras); - - CertifyCustomData(gltf.animations[0].samplers[0], 431); - CertifyCustomExtensions(gltf.animations[0].samplers[0].extensions); - CertifyCustomExtras(gltf.animations[0].samplers[0].extras); -#endif - - CertifyCustomData(gltf.asset, 44); - CertifyCustomExtensions(gltf.asset.extensions); - CertifyCustomExtras(gltf.asset.extras); - - CertifyCustomData(gltf.buffers[0], 45); - CertifyCustomExtensions(gltf.buffers[0].extensions); - CertifyCustomExtras(gltf.buffers[0].extras); - - CertifyCustomData(gltf.bufferViews[0], 46); - CertifyCustomExtensions(gltf.bufferViews[0].extensions); - CertifyCustomExtras(gltf.bufferViews[0].extras); - - CertifyCustomData(gltf.cameras[0], 47); - CertifyCustomExtensions(gltf.cameras[0].extensions); - CertifyCustomExtras(gltf.cameras[0].extras); - - CertifyCustomData(gltf.cameras[0].orthographic, 470); - CertifyCustomExtensions(gltf.cameras[0].orthographic.extensions); - CertifyCustomExtras(gltf.cameras[0].orthographic.extras); - - CertifyCustomData(gltf.cameras[0].perspective, 471); - CertifyCustomExtensions(gltf.cameras[0].perspective.extensions); - CertifyCustomExtras(gltf.cameras[0].perspective.extras); - - CertifyCustomData(gltf.images[0], 49); - CertifyCustomExtensions(gltf.images[0].extensions); - CertifyCustomExtras(gltf.images[0].extras); - - CertifyCustomData(gltf.materials[0], 50); - CertifyCustomExtensions(gltf.materials[0].extensions); - CertifyCustomExtras(gltf.materials[0].extras); - - CertifyCustomData(gltf.materials[0].pbrMetallicRoughness, 500); - CertifyCustomExtensions(gltf.materials[0].pbrMetallicRoughness.extensions); - CertifyCustomExtras(gltf.materials[0].pbrMetallicRoughness.extras); - - CertifyCustomData(gltf.materials[0].pbrMetallicRoughness.baseColorTexture, 5000); - CertifyCustomExtensions(gltf.materials[0].pbrMetallicRoughness.baseColorTexture.extensions); - CertifyCustomExtras(gltf.materials[0].pbrMetallicRoughness.baseColorTexture.extras); - - CertifyCustomData(gltf.materials[0].pbrMetallicRoughness.metallicRoughnessTexture, 5001); - CertifyCustomExtensions(gltf.materials[0].pbrMetallicRoughness.metallicRoughnessTexture.extensions); - CertifyCustomExtras(gltf.materials[0].pbrMetallicRoughness.metallicRoughnessTexture.extras); - - CertifyCustomData(gltf.materials[0].emissiveTexture, 501); - CertifyCustomExtensions(gltf.materials[0].emissiveTexture.extensions); - CertifyCustomExtras(gltf.materials[0].emissiveTexture.extras); - - CertifyCustomData(gltf.materials[0].normalTexture, 502); - CertifyCustomExtensions(gltf.materials[0].normalTexture.extensions); - CertifyCustomExtras(gltf.materials[0].normalTexture.extras); - - CertifyCustomData(gltf.materials[0].occlusionTexture, 503); - CertifyCustomExtensions(gltf.materials[0].occlusionTexture.extensions); - CertifyCustomExtras(gltf.materials[0].occlusionTexture.extras); - - CertifyCustomData(gltf.meshes[0], 51); - CertifyCustomExtensions(gltf.meshes[0].extensions); - CertifyCustomExtras(gltf.meshes[0].extras); - - CertifyCustomData(gltf.meshes[0].primitives[0], 510); - CertifyCustomExtensions(gltf.meshes[0].primitives[0].extensions); - CertifyCustomExtras(gltf.meshes[0].primitives[0].extras); - - CertifyCustomData(gltf.nodes[0], 52); - CertifyCustomExtensions(gltf.nodes[0].extensions); - CertifyCustomExtras(gltf.nodes[0].extras); - - CertifyCustomData(gltf.samplers[0], 53); - CertifyCustomExtensions(gltf.samplers[0].extensions); - CertifyCustomExtras(gltf.samplers[0].extras); - - CertifyCustomData(gltf.scenes[0], 54); - CertifyCustomExtensions(gltf.scenes[0].extensions); - CertifyCustomExtras(gltf.scenes[0].extras); - - CertifyCustomData(gltf.skins[0], 55); - CertifyCustomExtensions(gltf.skins[0].extensions); - CertifyCustomExtras(gltf.skins[0].extras); - - CertifyCustomData(gltf.textures[0], 56); - CertifyCustomExtensions(gltf.textures[0].extensions); - CertifyCustomExtras(gltf.textures[0].extras); -#endif - } - -#if NEWTONSOFT_JSON - static void CertifyCustomData(GLTFast.Newtonsoft.Schema.IJsonObject gltf, int expected) - { - Assert.NotNull(gltf); - Assert.IsTrue(gltf.TryGetValue("customProperty", out int prop)); - Assert.AreEqual(expected, prop); - } - - static void CertifyCustomExtensions(GLTFast.Newtonsoft.Schema.IJsonObject extensions) - { - Assert.NotNull(extensions); - Assert.IsFalse(extensions.TryGetValue("NO_MATCH", out _)); - Assert.IsTrue(extensions.TryGetValue("CUSTOM_my_extension", out var ext)); - CertifySubClass(ext); - CertifySubClass(ext.subObject); - return; - - void CertifySubClass(SubClass sub) - { - Assert.NotNull(sub); - Assert.AreEqual(3.4700000286102295f, sub.floatProp, "JSON value mismatch"); - Assert.AreEqual(42, sub.intProp, "JSON value mismatch"); - Assert.AreEqual("Yadiya", sub.stringProp, "JSON value mismatch"); - Assert.AreEqual(3, sub.eulerAngles.Length); - Assert.AreEqual(1.0f, sub.eulerAngles[0]); - Assert.AreEqual(1.0f, sub.eulerAngles[1]); - Assert.AreEqual(1.0f, sub.eulerAngles[2]); - Assert.AreEqual(3, sub.intArrayProp.Length); - Assert.AreEqual(1, sub.intArrayProp[0]); - Assert.AreEqual(1, sub.intArrayProp[1]); - Assert.AreEqual(1, sub.intArrayProp[2]); - Assert.AreEqual(4, sub.rotation.Length); - Assert.AreEqual(0.8199999928474426f, sub.rotation[0]); - Assert.AreEqual(0.8199999928474426f, sub.rotation[1]); - Assert.AreEqual(0.8199999928474426f, sub.rotation[2]); - Assert.AreEqual(0.8199999928474426f, sub.rotation[3]); - Assert.AreEqual(4, sub.color.Length); - Assert.AreEqual(1.0f, sub.color[0]); - Assert.AreEqual(1.0f, sub.color[1]); - Assert.AreEqual(1.0f, sub.color[2]); - Assert.AreEqual(1.0f, sub.color[3]); - } - } - - static void CertifyCustomExtras(GLTFast.Newtonsoft.Schema.IJsonObject extras) - { - Assert.NotNull(extras); - Assert.IsFalse(extras.TryGetValue("NoMatch", out int _)); - Assert.IsTrue(extras.TryGetValue("myKey", out string value)); - Assert.AreEqual("myValue", value); - - // incorrect destination type int (actually is a string) - Assert.Throws( - () => extras.TryGetValue("myKey", out int intValue)); - } -#endif - - [Test] - public void CustomExtensionNowhere() - { -#if NEWTONSOFT_JSON - const string json = @" -{ - ""accessors"": [{}], - ""animations"": [{}], - ""asset"": { - ""version"": ""2.0""}, - ""buffers"": [{}], - ""bufferViews"": [{}], - ""cameras"": [{}], - ""images"": [{}], - ""materials"": [{}], - ""meshes"": [{}], - ""nodes"": [{}], - ""samplers"": [{}], - ""scenes"": [{}], - ""skins"": [{}], - ""textures"": [{}] -} - "; - - var gltf = JsonConvert.DeserializeObject(json); - - Assert.NotNull(gltf); - Assert.IsNull(gltf.extras); - Assert.IsNull(gltf.extensions); - - Assert.IsNull(gltf.accessors[0].extras); - Assert.IsNull(gltf.accessors[0].extensions); - -#if UNITY_ANIMATION - Assert.IsNull(gltf.animations[0].extras); - Assert.IsNull(gltf.animations[0].extensions); -#endif - - Assert.IsNull(gltf.asset.extras); - Assert.IsNull(gltf.asset.extensions); - - Assert.IsNull(gltf.buffers[0].extras); - Assert.IsNull(gltf.buffers[0].extensions); - - Assert.IsNull(gltf.bufferViews[0].extras); - Assert.IsNull(gltf.bufferViews[0].extensions); - - Assert.IsNull(gltf.cameras[0].extras); - Assert.IsNull(gltf.cameras[0].extensions); - - Assert.IsNull(gltf.images[0].extras); - Assert.IsNull(gltf.images[0].extensions); - - Assert.IsNull(gltf.materials[0].extras); - Assert.IsNull(gltf.materials[0].extensions); - - Assert.IsNull(gltf.meshes[0].extras); - Assert.IsNull(gltf.meshes[0].extensions); - - Assert.IsNull(gltf.nodes[0].extras); - Assert.IsNull(gltf.nodes[0].Extensions); - - Assert.IsNull(gltf.samplers[0].extras); - Assert.IsNull(gltf.samplers[0].extensions); - - Assert.IsNull(gltf.scenes[0].extras); - Assert.IsNull(gltf.scenes[0].extensions); - - Assert.IsNull(gltf.skins[0].extras); - Assert.IsNull(gltf.skins[0].extensions); - - Assert.IsNull(gltf.textures[0].extras); - Assert.IsNull(gltf.textures[0].Extensions); -#else - Assert.Ignore("Requires Newtonsoft JSON package to be installed."); -#endif - } - } -} diff --git a/Tests/Runtime/Scripts/JsonParsing/ExtensionTests.cs.meta b/Tests/Runtime/Scripts/JsonParsing/ExtensionTests.cs.meta deleted file mode 100644 index 58eaa52d1..000000000 --- a/Tests/Runtime/Scripts/JsonParsing/ExtensionTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: ade501eee5fc54eb9ab1b7f023934b9c -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts/JsonParsing/ExtrasDataTests.cs b/Tests/Runtime/Scripts/JsonParsing/ExtrasDataTests.cs deleted file mode 100644 index fd746e10d..000000000 --- a/Tests/Runtime/Scripts/JsonParsing/ExtrasDataTests.cs +++ /dev/null @@ -1,220 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using System; -using NUnit.Framework; -using UnityEngine; - -#if NEWTONSOFT_JSON -using Newtonsoft.Json; -#endif - -namespace GLTFast.Tests.JsonParsing -{ - [Category("JsonParsing")] - class ExtrasDataTests - { - const string k_ExtrasDataJson = @" -{ - ""asset"" : { - ""copyright"" : ""(c) 2022 Andreas Atteneder, CC BY 4.0."", - ""generator"" : ""Khronos glTF Blender I/O v3.3.27"", - ""version"" : ""2.0"" - }, - ""scene"" : 0, - ""scenes"" : [ - { - ""name"" : ""Scene"", - ""nodes"" : [ - 0 - ] - } - ], - ""nodes"" : [ - { - ""extras"" : { - ""floatProp"" : 3.4700000286102295, - ""intProp"" : 42, - ""stringProp"" : ""Yadiya"", - ""eulerAngles"" : [ - 1.0, - 1.0, - 1.0 - ], - ""intArrayProp"" : [ - 1, - 1, - 1 - ], - ""rotation"" : [ - 0.8199999928474426, - 0.8199999928474426, - 0.8199999928474426, - 0.8199999928474426 - ], - ""color"" : [ - 1.0, - 1.0, - 1.0, - 1.0 - ] - }, - ""mesh"" : 0, - ""name"" : ""Cube"" - } - ], - ""materials"" : [ - { - ""doubleSided"" : true, - ""name"" : ""Material"", - ""pbrMetallicRoughness"" : { - ""baseColorFactor"" : [ - 0.800000011920929, - 0.800000011920929, - 0.800000011920929, - 1 - ], - ""metallicFactor"" : 0, - ""roughnessFactor"" : 0.5 - } - } - ], - ""meshes"" : [ - { - ""name"" : ""Cube"", - ""primitives"" : [ - { - ""attributes"" : { - ""POSITION"" : 0, - ""NORMAL"" : 1 - }, - ""indices"" : 2, - ""material"" : 0 - } - ] - } - ], - ""accessors"" : [ - { - ""bufferView"" : 0, - ""componentType"" : 5126, - ""count"" : 3, - ""max"" : [ - 0, - 2, - 1 - ], - ""min"" : [ - 0, - 0, - -1 - ], - ""type"" : ""VEC3"" - }, - { - ""bufferView"" : 1, - ""componentType"" : 5126, - ""count"" : 3, - ""type"" : ""VEC3"" - }, - { - ""bufferView"" : 2, - ""componentType"" : 5123, - ""count"" : 3, - ""type"" : ""SCALAR"" - } - ], - ""bufferViews"" : [ - { - ""buffer"" : 0, - ""byteLength"" : 36, - ""byteOffset"" : 0, - ""target"" : 34962 - }, - { - ""buffer"" : 0, - ""byteLength"" : 36, - ""byteOffset"" : 36, - ""target"" : 34962 - }, - { - ""buffer"" : 0, - ""byteLength"" : 6, - ""byteOffset"" : 72, - ""target"" : 34963 - } - ], - ""buffers"" : [ - { - ""byteLength"" : 80, - ""uri"" : ""ExtrasData.bin"" - } - ] -} -"; - - [Test] - public void ExtrasDataTest() - { -#if !NEWTONSOFT_JSON - Assert.Ignore("Requires Newtonsoft JSON package to be installed."); -#else - var gltf = JsonConvert.DeserializeObject(k_ExtrasDataJson); - - Assert.NotNull(gltf); - Assert.NotNull(gltf.nodes); - Assert.GreaterOrEqual(gltf.nodes.Length, 1); - Assert.NotNull(gltf.nodes[0]); - - AssertResultNewtonsoftJson(gltf); -#endif - } - -#if NEWTONSOFT_JSON - static void AssertResultNewtonsoftJson(GLTFast.Newtonsoft.Schema.Root gltf) - { - Assert.NotNull(gltf); - var e = gltf.nodes[0].extras; - Assert.IsNotNull(e); - - Assert.IsTrue(e.TryGetValue("floatProp", out float floatProp)); - Assert.NotNull(floatProp); - Assert.AreEqual(3.4700000286102295f, floatProp, "JSON value mismatch"); - - Assert.IsTrue(e.TryGetValue("intProp", out int intProp)); - Assert.NotNull(intProp); - Assert.AreEqual(42, intProp, "JSON value mismatch"); - - Assert.IsTrue(e.TryGetValue("stringProp", out string stringProp)); - Assert.NotNull(stringProp); - Assert.AreEqual("Yadiya", stringProp, "JSON value mismatch"); - - Assert.IsTrue(e.TryGetValue("eulerAngles", out float[] eulerValues)); - Assert.AreEqual(3, eulerValues.Length); - Assert.AreEqual(1.0f, eulerValues[0]); - Assert.AreEqual(1.0f, eulerValues[1]); - Assert.AreEqual(1.0f, eulerValues[2]); - - Assert.IsTrue(e.TryGetValue("intArrayProp", out int[] intValues)); - Assert.AreEqual(3, intValues.Length); - Assert.AreEqual(1, intValues[0]); - Assert.AreEqual(1, intValues[1]); - Assert.AreEqual(1, intValues[2]); - - Assert.IsTrue(e.TryGetValue("rotation", out float[] rotationValues)); - Assert.AreEqual(4, rotationValues.Length); - Assert.AreEqual(0.8199999928474426f, rotationValues[0]); - Assert.AreEqual(0.8199999928474426f, rotationValues[1]); - Assert.AreEqual(0.8199999928474426f, rotationValues[2]); - Assert.AreEqual(0.8199999928474426f, rotationValues[3]); - - Assert.IsTrue(e.TryGetValue("color", out float[] colorValues)); - Assert.AreEqual(4, colorValues.Length); - Assert.AreEqual(1.0f, colorValues[0]); - Assert.AreEqual(1.0f, colorValues[1]); - Assert.AreEqual(1.0f, colorValues[2]); - Assert.AreEqual(1.0f, colorValues[3]); - } -#endif - } -} diff --git a/Tests/Runtime/Scripts/JsonParsing/ExtrasDataTests.cs.meta b/Tests/Runtime/Scripts/JsonParsing/ExtrasDataTests.cs.meta deleted file mode 100644 index 978173f39..000000000 --- a/Tests/Runtime/Scripts/JsonParsing/ExtrasDataTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 3189f0995700d4253b32f797b0aa75d0 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts/JsonParsing/JsonParsingTests.cs b/Tests/Runtime/Scripts/JsonParsing/JsonParsingTests.cs deleted file mode 100644 index a55022a77..000000000 --- a/Tests/Runtime/Scripts/JsonParsing/JsonParsingTests.cs +++ /dev/null @@ -1,596 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using GLTFast.Schema; -using NUnit.Framework; -using UnityEngine; - -namespace GLTFast.Tests.JsonParsing -{ - [Category("JsonParsing")] - class JsonParsingTests - { - [Test] - public void MaterialExtensions() - { - var jsonParser = new GltfJsonUtilityParser(); - var gltf = jsonParser.ParseJson(@" -{ - ""materials"" : [ - { - ""name"" : ""noExtension"" - }, - { - ""name"" : ""emptyExtension"", - ""extensions"": { - ""dummy"": ""value"" - } - }, - { - ""name"" : ""unlit"", - ""extensions"": { - ""KHR_materials_unlit"": {} - } - }, - { - ""name"" : ""specularGlossiness"", - ""extensions"": { - ""KHR_materials_pbrSpecularGlossiness"": { - ""diffuseTexture"": { - ""index"": 5 - } - } - } - }, - { - ""name"" : ""transmission"", - ""extensions"": { - ""KHR_materials_transmission"": {} - } - }, - { - ""name"" : ""clearcoat"", - ""extensions"": { - ""KHR_materials_clearcoat"": {} - } - }, - { - ""name"" : ""sheen"", - ""extensions"": { - ""KHR_materials_sheen"": {} - } - }, - { - ""name"" : ""ior"", - ""extensions"": { - ""KHR_materials_ior"": {} - } - }, - { - ""name"" : ""specular"", - ""extensions"": { - ""KHR_materials_specular"": {} - } - }, - { - ""name"" : ""all"", - ""extensions"": { - ""KHR_materials_unlit"": {}, - ""KHR_materials_pbrSpecularGlossiness"": {}, - ""KHR_materials_transmission"": {}, - ""KHR_materials_clearcoat"": {}, - ""KHR_materials_sheen"": {}, - ""KHR_materials_ior"": {}, - ""KHR_materials_specular"": {} - } - } - ] -} -" - ); - - Assert.NotNull(gltf); - Assert.NotNull(gltf.Materials, "No materials"); - Assert.AreEqual(10, gltf.Materials.Count, "Invalid material quantity"); - - var none = gltf.Materials[0]; - Assert.NotNull(none); - Assert.AreEqual("noExtension", none.name); - Assert.IsNull(none.Extensions); - - var empty = gltf.Materials[1]; - Assert.NotNull(empty); - Assert.AreEqual("emptyExtension", empty.name); - Assert.NotNull(empty.Extensions); - Assert.IsNull(empty.Extensions.KHR_materials_unlit); - Assert.IsNull(empty.Extensions.KHR_materials_pbrSpecularGlossiness); - Assert.IsNull(empty.Extensions.KHR_materials_clearcoat); - Assert.IsNull(empty.Extensions.KHR_materials_sheen); - Assert.IsNull(empty.Extensions.KHR_materials_transmission); - Assert.IsNull(empty.Extensions.KHR_materials_ior); - Assert.IsNull(empty.Extensions.KHR_materials_specular); - - var unlit = gltf.Materials[2]; - Assert.NotNull(unlit); - Assert.AreEqual("unlit", unlit.name); - Assert.NotNull(unlit.Extensions); - Assert.NotNull(unlit.Extensions.KHR_materials_unlit); - Assert.IsNull(unlit.Extensions.KHR_materials_pbrSpecularGlossiness); - Assert.IsNull(unlit.Extensions.KHR_materials_clearcoat); - Assert.IsNull(unlit.Extensions.KHR_materials_sheen); - Assert.IsNull(unlit.Extensions.KHR_materials_transmission); - Assert.IsNull(unlit.Extensions.KHR_materials_ior); - Assert.IsNull(unlit.Extensions.KHR_materials_specular); - - var specGloss = gltf.Materials[3]; - Assert.NotNull(specGloss); - Assert.AreEqual("specularGlossiness", specGloss.name); - Assert.NotNull(specGloss.Extensions); - Assert.IsNull(specGloss.Extensions.KHR_materials_unlit); - Assert.NotNull(specGloss.Extensions.KHR_materials_pbrSpecularGlossiness); - Assert.IsNull(specGloss.Extensions.KHR_materials_clearcoat); - Assert.IsNull(specGloss.Extensions.KHR_materials_sheen); - Assert.IsNull(specGloss.Extensions.KHR_materials_transmission); - Assert.IsNull(specGloss.Extensions.KHR_materials_ior); - Assert.IsNull(specGloss.Extensions.KHR_materials_specular); - - var transmission = gltf.Materials[4]; - Assert.NotNull(transmission); - Assert.AreEqual("transmission", transmission.name); - Assert.NotNull(transmission.Extensions); - Assert.IsNull(transmission.Extensions.KHR_materials_unlit); - Assert.IsNull(transmission.Extensions.KHR_materials_pbrSpecularGlossiness); - Assert.IsNull(transmission.Extensions.KHR_materials_clearcoat); - Assert.IsNull(transmission.Extensions.KHR_materials_sheen); - Assert.NotNull(transmission.Extensions.KHR_materials_transmission); - Assert.IsNull(transmission.Extensions.KHR_materials_ior); - Assert.IsNull(transmission.Extensions.KHR_materials_specular); - - var clearcoat = gltf.Materials[5]; - Assert.NotNull(clearcoat); - Assert.AreEqual("clearcoat", clearcoat.name); - Assert.NotNull(clearcoat.Extensions); - Assert.IsNull(clearcoat.Extensions.KHR_materials_unlit); - Assert.IsNull(clearcoat.Extensions.KHR_materials_pbrSpecularGlossiness); - Assert.NotNull(clearcoat.Extensions.KHR_materials_clearcoat); - Assert.IsNull(clearcoat.Extensions.KHR_materials_sheen); - Assert.IsNull(clearcoat.Extensions.KHR_materials_transmission); - Assert.IsNull(clearcoat.Extensions.KHR_materials_ior); - Assert.IsNull(clearcoat.Extensions.KHR_materials_specular); - - var sheen = gltf.Materials[6]; - Assert.NotNull(sheen); - Assert.AreEqual("sheen", sheen.name); - Assert.NotNull(sheen.Extensions); - Assert.IsNull(sheen.Extensions.KHR_materials_unlit); - Assert.IsNull(sheen.Extensions.KHR_materials_pbrSpecularGlossiness); - Assert.IsNull(sheen.Extensions.KHR_materials_clearcoat); - Assert.NotNull(sheen.Extensions.KHR_materials_sheen); - Assert.IsNull(sheen.Extensions.KHR_materials_transmission); - Assert.IsNull(sheen.Extensions.KHR_materials_ior); - Assert.IsNull(sheen.Extensions.KHR_materials_specular); - - - var ior = gltf.Materials[7]; - Assert.NotNull(ior); - Assert.AreEqual("ior", ior.name); - Assert.NotNull(ior.Extensions); - Assert.IsNull(ior.Extensions.KHR_materials_unlit); - Assert.IsNull(ior.Extensions.KHR_materials_pbrSpecularGlossiness); - Assert.IsNull(ior.Extensions.KHR_materials_clearcoat); - Assert.IsNull(ior.Extensions.KHR_materials_sheen); - Assert.IsNull(ior.Extensions.KHR_materials_transmission); - Assert.NotNull(ior.Extensions.KHR_materials_ior); - Assert.IsNull(ior.Extensions.KHR_materials_specular); - - var specular = gltf.Materials[8]; - Assert.NotNull(specular); - Assert.AreEqual("specular", specular.name); - Assert.NotNull(specular.Extensions); - Assert.IsNull(specular.Extensions.KHR_materials_unlit); - Assert.IsNull(specular.Extensions.KHR_materials_pbrSpecularGlossiness); - Assert.IsNull(specular.Extensions.KHR_materials_clearcoat); - Assert.IsNull(specular.Extensions.KHR_materials_sheen); - Assert.IsNull(specular.Extensions.KHR_materials_transmission); - Assert.IsNull(specular.Extensions.KHR_materials_ior); - Assert.NotNull(specular.Extensions.KHR_materials_specular); - - var all = gltf.Materials[9]; - Assert.NotNull(all); - Assert.AreEqual("all", all.name); - Assert.NotNull(all.Extensions); - Assert.NotNull(all.Extensions.KHR_materials_unlit); - Assert.NotNull(all.Extensions.KHR_materials_pbrSpecularGlossiness); - Assert.NotNull(all.Extensions.KHR_materials_clearcoat); - Assert.NotNull(all.Extensions.KHR_materials_sheen); - Assert.NotNull(all.Extensions.KHR_materials_transmission); - } - - [Test] - public void SparseAccessors() - { - var jsonParser = new GltfJsonUtilityParser(); - var gltf = jsonParser.ParseJson(@" -{ - ""accessors"" : [ { - ""bufferView"" : 0, - ""byteOffset"" : 0, - ""componentType"" : 5123, - ""count"" : 36, - ""type"" : ""SCALAR"", - ""max"" : [ 13 ], - ""min"" : [ 0 ] - }, { - ""bufferView"" : 1, - ""byteOffset"" : 0, - ""componentType"" : 5126, - ""count"" : 14, - ""type"" : ""VEC3"", - ""max"" : [ 6.0, 4.0, 0.0 ], - ""min"" : [ 0.0, 0.0, 0.0 ], - ""sparse"" : { - ""count"" : 3, - ""indices"" : { - ""bufferView"" : 2, - ""byteOffset"" : 0, - ""componentType"" : 5123 - }, - ""values"" : { - ""bufferView"" : 3, - ""byteOffset"" : 0 - } - } - }, { - ""bufferView"" : 1, - ""byteOffset"" : 0, - ""componentType"" : 5126, - ""count"" : 14, - ""type"" : ""VEC3"", - ""max"" : [ 6.0, 4.0, 0.0 ], - ""min"" : [ 0.0, 0.0, 0.0 ], - ""sparse"" : {} - } ] -} -" - ); - - Assert.NotNull(gltf); - Assert.NotNull(gltf.Accessors, "No accessors"); - Assert.AreEqual(3, gltf.Accessors.Count, "Invalid accessor quantity"); - - var regular = gltf.Accessors[0]; - Assert.NotNull(regular); - Assert.IsNull(regular.Sparse); - - var sparse = gltf.Accessors[1]; - Assert.NotNull(sparse); - Assert.AreEqual(14, sparse.count); - Assert.NotNull(sparse.Sparse); - Assert.AreEqual(3, sparse.Sparse.count); - Assert.NotNull(sparse.Sparse.Indices); - Assert.AreEqual(2, sparse.Sparse.Indices.bufferView); - Assert.AreEqual(0, sparse.Sparse.Indices.byteOffset); - Assert.AreEqual(GltfComponentType.UnsignedShort, sparse.Sparse.Indices.componentType); - Assert.NotNull(sparse.Sparse.Values); - Assert.AreEqual(3, sparse.Sparse.Values.bufferView); - Assert.AreEqual(0, sparse.Sparse.Values.byteOffset); - -#if GLTFAST_SAFE - var invalid = gltf.Accessors[2]; - Assert.NotNull(invalid); - Assert.IsNull(invalid.Sparse); -#else - Debug.LogWarning("Invalid Sparse Accessors will break glTFast"); -#endif - } - - [Test] - public void MeshTargetNames() - { - var jsonParser = new GltfJsonUtilityParser(); - var gltf = jsonParser.ParseJson(@" -{ - ""meshes"": [ - { - ""extras"": { - ""targetNames"": [ - ""Key 1"",""Key 2"" - ] - } - }, - { - ""extras"": { - ""different"": ""content"" - } - } - ] -} -" - ); - - Assert.NotNull(gltf); - Assert.NotNull(gltf.Meshes, "No materials"); - Assert.AreEqual(2, gltf.Meshes.Count, "Invalid materials quantity"); - - var mat = gltf.Meshes[0]; - Assert.NotNull(mat); - Assert.NotNull(mat.Extras); - Assert.NotNull(mat.Extras.targetNames); - Assert.NotNull(mat.Extras.targetNames); - Assert.AreEqual(2, mat.Extras.targetNames.Length, "Invalid targetNames quantity"); - Assert.AreEqual("Key 1", mat.Extras.targetNames[0]); - Assert.AreEqual("Key 2", mat.Extras.targetNames[1]); - - mat = gltf.Meshes[1]; - Assert.NotNull(mat); - Assert.NotNull(mat.Extras); - Assert.IsNull(mat.Extras.targetNames); - } - - [Test] - public void MinMagFilter() - { - var jsonParser = new GltfJsonUtilityParser(); - var gltf = jsonParser.ParseJson(@" -{ - ""samplers"": [{ - },{ - ""magFilter"": 100, - ""minFilter"": 100 - },{ - ""magFilter"": 9728, - ""minFilter"": 9728 - },{ - ""magFilter"": 9729, - ""minFilter"": 9729 - },{ - ""minFilter"": 9984 - },{ - ""minFilter"": 9985 - },{ - ""minFilter"": 9986 - },{ - ""minFilter"": 9987 - } - ] -} -" - - ); - - Assert.NotNull(gltf); - Assert.NotNull(gltf.Samplers, "No samplers"); - Assert.AreEqual(8, gltf.Samplers.Count, "Invalid samplers quantity"); - - var sampler0 = gltf.Samplers[0]; - Assert.NotNull(sampler0); - Assert.AreEqual(Sampler.MagFilterMode.None, sampler0.magFilter); - Assert.AreEqual(Sampler.MinFilterMode.None, sampler0.minFilter); - - var sampler1 = gltf.Samplers[1]; - Assert.NotNull(sampler1); - Assert.AreEqual((Sampler.MagFilterMode)100, sampler1.magFilter); - Assert.AreEqual((Sampler.MinFilterMode)100, sampler1.minFilter); - - var sampler2 = gltf.Samplers[2]; - Assert.NotNull(sampler2); - Assert.AreEqual(Sampler.MagFilterMode.Nearest, sampler2.magFilter); - Assert.AreEqual(Sampler.MinFilterMode.Nearest, sampler2.minFilter); - - var sampler3 = gltf.Samplers[3]; - Assert.NotNull(sampler3); - Assert.AreEqual(Sampler.MagFilterMode.Linear, sampler3.magFilter); - Assert.AreEqual(Sampler.MinFilterMode.Linear, sampler3.minFilter); - - var sampler4 = gltf.Samplers[4]; - Assert.NotNull(sampler4); - Assert.AreEqual(Sampler.MagFilterMode.None, sampler4.magFilter); - Assert.AreEqual(Sampler.MinFilterMode.NearestMipmapNearest, sampler4.minFilter); - - var sampler5 = gltf.Samplers[5]; - Assert.NotNull(sampler5); - Assert.AreEqual(Sampler.MagFilterMode.None, sampler5.magFilter); - Assert.AreEqual(Sampler.MinFilterMode.LinearMipmapNearest, sampler5.minFilter); - - var sampler6 = gltf.Samplers[6]; - Assert.NotNull(sampler6); - Assert.AreEqual(Sampler.MagFilterMode.None, sampler6.magFilter); - Assert.AreEqual(Sampler.MinFilterMode.NearestMipmapLinear, sampler6.minFilter); - - var sampler7 = gltf.Samplers[7]; - Assert.NotNull(sampler7); - Assert.AreEqual(Sampler.MagFilterMode.None, sampler7.magFilter); - Assert.AreEqual(Sampler.MinFilterMode.LinearMipmapLinear, sampler7.minFilter); - - } - - [Test] - public void UnknownNodeExtension() - { - var jsonParser = new GltfJsonUtilityParser(); - var gltf = jsonParser.ParseJson(@" -{ - ""nodes"": [ - { - ""name"": ""Node0"" - }, - { - ""extensions"": {}, - ""name"": ""Node1"" - }, - { - ""extensions"": { - ""MOZ_hubs_components"": { - ""morph-audio-feedback"": { - ""name"": ""mouthOpen"", - ""minValue"": 0.0, - ""maxValue"": 1.0 - } - } - }, - ""name"": ""Node2"" - }, - { - ""extensions"": { - ""EXT_mesh_gpu_instancing"": { - ""attributes"": { - ""TRANSLATION"": 42 - } - } - }, - ""name"": ""Node3"" - }, - { - ""extensions"": { - ""KHR_lights_punctual"": { - ""light"": 42 - } - }, - ""name"": ""Node4"" - }, - { - ""extensions"": { - ""EXT_mesh_gpu_instancing"": { - ""attributes"": { - ""TRANSLATION"": 13 - } - }, - ""KHR_lights_punctual"": { - ""light"": 42 - } - }, - ""name"": ""Node5"" - } - ] -} -" - ); - - Assert.NotNull(gltf); - Assert.NotNull(gltf.Nodes, "No nodes"); - Assert.AreEqual(6, gltf.Nodes.Count, "Invalid nodes quantity"); - - var node0 = gltf.Nodes[0]; - Assert.NotNull(node0); - Assert.IsNull(node0.Extensions); - - var node1 = gltf.Nodes[1]; - Assert.NotNull(node1); - Assert.IsNull(node1.Extensions); - - var node2 = gltf.Nodes[2]; - Assert.NotNull(node2); - Assert.IsNull(node2.Extensions); - - var node3 = gltf.Nodes[3]; - Assert.NotNull(node3); - Assert.NotNull(node3.Extensions); - Assert.NotNull(node3.Extensions.EXT_mesh_gpu_instancing); - Assert.NotNull(node3.Extensions.EXT_mesh_gpu_instancing.attributes); - Assert.AreEqual(42, node3.Extensions.EXT_mesh_gpu_instancing.attributes.TRANSLATION); - Assert.IsNull(node3.Extensions.KHR_lights_punctual); - - var node4 = gltf.Nodes[4]; - Assert.NotNull(node4); - Assert.NotNull(node4.Extensions); - Assert.IsNull(node4.Extensions.EXT_mesh_gpu_instancing); - Assert.NotNull(node4.Extensions.KHR_lights_punctual); - Assert.AreEqual(42, node4.Extensions.KHR_lights_punctual.light); - - var node5 = gltf.Nodes[5]; - Assert.NotNull(node5); - Assert.NotNull(node5.Extensions); - Assert.NotNull(node5.Extensions.EXT_mesh_gpu_instancing); - Assert.NotNull(node5.Extensions.EXT_mesh_gpu_instancing.attributes); - Assert.AreEqual(13, node5.Extensions.EXT_mesh_gpu_instancing.attributes.TRANSLATION); - Assert.NotNull(node5.Extensions.KHR_lights_punctual); - Assert.AreEqual(42, node5.Extensions.KHR_lights_punctual.light); - } - - [Test] - public void UnknownTextureExtension() - { - var jsonParser = new GltfJsonUtilityParser(); - var gltf = jsonParser.ParseJson(@" -{ - ""textures"": [ - { - ""name"": ""Texture0"" - }, - { - ""extensions"": {}, - ""name"": ""Texture1"" - }, - { - ""extensions"": { - ""EXT_texture_webp"": { - ""source"": 42 - } - }, - ""name"": ""Texture2"" - }, - { - ""extensions"": { - ""KHR_texture_basisu"": { - ""source"": 42 - } - }, - ""name"": ""Texture3"" - }, - { - ""extensions"": { - ""KHR_texture_basisu"": { - ""source"": 42 - }, - ""EXT_texture_webp"": { - ""source"": 43 - } - }, - ""name"": ""Texture4"" - } - ] -} -" - ); - - Assert.NotNull(gltf); - Assert.NotNull(gltf.Textures, "No textures"); - Assert.AreEqual(5, gltf.Textures.Count, "Invalid texture quantity"); - - var texture0 = gltf.Textures[0]; - Assert.NotNull(texture0); - Assert.IsNull(texture0.Extensions); - - var texture1 = gltf.Textures[1]; - Assert.NotNull(texture1); - Assert.IsNull(texture1.Extensions); - - var texture2 = gltf.Textures[2]; - Assert.NotNull(texture2); - Assert.IsNull(texture2.Extensions); - - var texture3 = gltf.Textures[3]; - Assert.NotNull(texture3); - Assert.NotNull(texture3.Extensions); - Assert.NotNull(texture3.Extensions.KHR_texture_basisu); - Assert.AreEqual(42, texture3.Extensions.KHR_texture_basisu.source); - - var texture4 = gltf.Textures[4]; - Assert.NotNull(texture4); - Assert.NotNull(texture4.Extensions); - Assert.NotNull(texture4.Extensions.KHR_texture_basisu); - Assert.AreEqual(42, texture4.Extensions.KHR_texture_basisu.source); - } - - [Test] - public void ParseGarbage() - { - var jsonParser = new GltfJsonUtilityParser(); - var gltf = jsonParser.ParseJson(@""); - Assert.IsNull(gltf); - - gltf = jsonParser.ParseJson(@"garbage"); - Assert.IsNull(gltf); - } - } -} diff --git a/Tests/Runtime/Scripts/JsonParsing/JsonParsingTests.cs.meta b/Tests/Runtime/Scripts/JsonParsing/JsonParsingTests.cs.meta deleted file mode 100644 index 291300c0c..000000000 --- a/Tests/Runtime/Scripts/JsonParsing/JsonParsingTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 5cf4628c1428f4767916bca03100c7c2 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts/JsonParsing/JsonWriterTests.cs b/Tests/Runtime/Scripts/JsonParsing/JsonWriterTests.cs deleted file mode 100644 index 24fdd1f04..000000000 --- a/Tests/Runtime/Scripts/JsonParsing/JsonWriterTests.cs +++ /dev/null @@ -1,294 +0,0 @@ -// SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using System; -using System.IO; -using GLTFast.Schema; -using Newtonsoft.Json.Linq; -using NUnit.Framework; -using UnityEngine; -using UnityEngine.TestTools.Utils; - -namespace GLTFast.Tests.JsonParsing -{ - class JsonWriterTests - { - const string k_ValueWithAllSpecialChars = "this\fone\\is\not even\remotely\"\tight\""; - [Test] - public void Start() - { - var json = CreateJsonTest(writer => - { - writer.AddProperty("objectKey"); - writer.AddObject(); - writer.AddProperty("stringKey", "validValue"); - writer.AddProperty("intKey", 42); - writer.AddProperty("floatKey", 42.42f); - writer.AddProperty("booleanKey", true); - writer.Close(); - writer.AddArrayProperty("arrayKey", new int[] { 1, 2, 3 }); - }); - - Assert.AreEqual( - @"{""objectKey"":{""stringKey"":""validValue"",""intKey"":42,""floatKey"":42.42,""booleanKey"":true},""arrayKey"":[1,2,3]}", - json - ); - } - - [Test] - public void InvalidStringKey() - { - Assert.Throws(() => - CreateJsonTest(writer => - { - writer.AddProperty("string\nKey", "validValue"); - }) - ); - } - - [Test] - public void InvalidIntegerKey() - { - Assert.Throws(() => - CreateJsonTest(writer => - { - writer.AddProperty("int\\Key", 42); - }) - ); - } - - [Test] - public void InvalidFloatKey() - { - Assert.Throws(() => - CreateJsonTest(writer => - { - writer.AddProperty("float\tKey", 42.42f); - }) - ); - } - - [Test] - public void InvalidBoolString() - { - Assert.Throws(() => - CreateJsonTest(writer => - { - writer.AddProperty("bool\rKey", false); - }) - ); - } - - [Test] - public void InvalidObjectKey() - { - Assert.Throws(() => - CreateJsonTest(writer => - { - writer.AddProperty("object\fKey"); - }) - ); - } - - [Test] - public void InvalidArrayKey() - { - Assert.Throws(() => - CreateJsonTest(writer => - { - writer.AddArrayProperty("array\"Key", new[] { 1, 2, 3 }); - }) - ); - } - - [Test] - public void InvalidStringValue() - { - Assert.Throws(() => - CreateJsonTest(writer => - { - writer.AddProperty("key", "string\nvalue"); - }) - ); - } - - [Test] - public void InvalidArrayValue() - { - Assert.Throws(() => - CreateJsonTest(writer => - { - writer.AddArrayProperty("array", new[] { "this one is valid", "this one\nis not" }); - }) - ); - } - - [Test] - public void EscapedStringValue() - { - var json = CreateJsonTest(writer => - { - writer.AddPropertySafe("key", k_ValueWithAllSpecialChars); - }); - - Assert.AreEqual( - @"{""key"":""this\fone\\is\not even\remotely\""\tight\""""}", - json - ); - } - - [Test] - public void EscapedArrayValue() - { - var json = CreateJsonTest(writer => - { - writer.AddArrayPropertySafe("array", new[] { "this one is valid", k_ValueWithAllSpecialChars }); - }); - - Assert.AreEqual( - @"{""array"":[""this one is valid"",""this\fone\\is\not even\remotely\""\tight\""""]}", - json - ); - } - - [Test] - public void ExtMaterialSheen() - { - var sheenColor = new Color(.2f, .5f, .7f); - var ext = new Sheen - { - SheenColor = sheenColor, - sheenRoughnessFactor = .42f, - sheenColorTexture = new TextureInfo - { - index = 42, - texCoord = 1, - }, - sheenRoughnessTexture = new TextureInfo - { - index = 43, - texCoord = 2, - } - }; - - Assert.That(ext.SheenColor, Is.EqualTo(sheenColor).Using(ColorEqualityComparer.Instance)); - - var json = CreateJsonTest(writer => - { - writer.AddProperty("ext"); - ext.GltfSerialize(writer); - }); - - Assert.AreEqual( - @"{""ext"":{""sheenColorFactor"":[0.2,0.5,0.7],""sheenColorTexture"":{""index"":42,""texCoord"":1},""sheenRoughnessFactor"":0.42,""sheenRoughnessTexture"":{""index"":43,""texCoord"":2}}}", - json - ); - } - - [Test] - public void ExtMaterialSpecular() - { - var specularColor = new Color(.2f, .5f, .7f); - var ext = new MaterialSpecular() - { - specularFactor = .42f, - specularTexture = new TextureInfo - { - index = 42, - texCoord = 1, - }, - SpecularColor = specularColor, - specularColorTexture = new TextureInfo - { - index = 43, - texCoord = 2, - } - }; - - Assert.That(ext.SpecularColor, Is.EqualTo(specularColor).Using(ColorEqualityComparer.Instance)); - - var json = CreateJsonTest(writer => - { - writer.AddProperty("ext"); - ext.GltfSerialize(writer); - }); - - Assert.AreEqual( - @"{""ext"":{""specularFactor"":0.42,""specularTexture"":{""index"":42,""texCoord"":1},""specularColorFactor"":[0.2,0.5,0.7],""specularColorTexture"":{""index"":43,""texCoord"":2}}}", - json - ); - } - - [Test] - public void ExtMaterialIor() - { - var ext = new MaterialIor() - { - ior = 1.42f - }; - - var json = CreateJsonTest(writer => - { - writer.AddProperty("ext"); - ext.GltfSerialize(writer); - }); - - Assert.AreEqual( - @"{""ext"":{""ior"":1.42}}", - json - ); - } - - [Test] - public void ExtMaterialExtensions() - { - var ext = new MaterialExtensions - { - KHR_materials_sheen = new Sheen - { - sheenRoughnessFactor = .42f - }, - KHR_materials_specular = new MaterialSpecular - { - specularFactor = .43f - }, - KHR_materials_ior = new MaterialIor - { - ior = 1.42f - }, - }; - - var json = CreateJsonTest(writer => - { - writer.AddProperty("ext"); - ext.GltfSerialize(writer); - }); - - Assert.AreEqual( - @"{""ext"":{""KHR_materials_sheen"":{""sheenRoughnessFactor"":0.42},""KHR_materials_specular"":{""specularFactor"":0.43},""KHR_materials_ior"":{""ior"":1.42}}}", - json - ); - } - - static string CreateJsonTest(Action func) - { - var stream = new MemoryStream(); - var writer = new StreamWriter(stream); - var jsonWriter = new JsonWriter(writer); - - func(jsonWriter); - - jsonWriter.Close(); - writer.Flush(); - stream.Seek(0, SeekOrigin.Begin); - var reader = new StreamReader(stream); - var result = reader.ReadToEnd(); - writer.Close(); - - var jObject = JObject.Parse(result); - Assert.NotNull(jObject); - - return result; - } - } -} diff --git a/Tests/Runtime/Scripts/JsonParsing/JsonWriterTests.cs.meta b/Tests/Runtime/Scripts/JsonParsing/JsonWriterTests.cs.meta deleted file mode 100644 index ce47a891a..000000000 --- a/Tests/Runtime/Scripts/JsonParsing/JsonWriterTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 371b12d3f334f4d31abda18b4d2d661a -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts/JsonParsing/ValueArrayTests.cs b/Tests/Runtime/Scripts/JsonParsing/ValueArrayTests.cs deleted file mode 100644 index 46d6ca881..000000000 --- a/Tests/Runtime/Scripts/JsonParsing/ValueArrayTests.cs +++ /dev/null @@ -1,236 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using System; -using System.Collections.Generic; -using GLTFast.Schema; -#if NEWTONSOFT_JSON -using Newtonsoft.Json; -#endif -using NUnit.Framework; -using UnityEngine; - -namespace GLTFast.Tests.JsonParsing -{ - [TestFixture] - [Category("JsonParsing")] - class ValueArrayTests - { - Root m_Gltf; -#if NEWTONSOFT_JSON - GLTFast.Newtonsoft.Schema.Root m_GltfNewtonsoft; -#endif - - [OneTimeSetUp] - public void OneTimeSetUp() - { - var jsonUtilityParser = new GltfJsonUtilityParser(); - m_Gltf = (Root)jsonUtilityParser.ParseJson(k_ValueArraysJson); - -#if NEWTONSOFT_JSON - m_GltfNewtonsoft = JsonConvert.DeserializeObject(k_ValueArraysJson); -#endif - } - - [Test] - public void Accessor() - { - CheckResultAccessor(m_Gltf); - } - - [Test] - public void AccessorNewtonsoft() - { -#if NEWTONSOFT_JSON - CheckResultAccessor(m_GltfNewtonsoft); -#else - Assert.Ignore("Requires Newtonsoft JSON package to be installed."); -#endif - } - - [Test] - public void LightPunctualColor() - { - CheckResultLightPunctualColor(m_Gltf); - } - - [Test] - public void LightPunctualColorNewtonsoft() - { -#if NEWTONSOFT_JSON - CheckResultLightPunctualColor(m_GltfNewtonsoft); -#else - Assert.Ignore("Requires Newtonsoft JSON package to be installed."); -#endif - } - - [Test] - public void MaterialValues() - { - CheckResultMaterialValues(m_Gltf); - } - - [Test] - public void MaterialValuesNewtonsoft() - { -#if NEWTONSOFT_JSON - CheckResultMaterialValues(m_GltfNewtonsoft); -#else - Assert.Ignore("Requires Newtonsoft JSON package to be installed."); -#endif - } - - [Test] - public void MeshWeights() - { - CheckResultMeshWeights(m_Gltf); - } - - [Test] - public void MeshWeightsNewtonsoft() - { -#if NEWTONSOFT_JSON - CheckResultMeshWeights(m_GltfNewtonsoft); -#else - Assert.Ignore("Requires Newtonsoft JSON package to be installed."); -#endif - } - - [Test] - public void NodeValues() - { - CheckResultNodeValues(m_Gltf); - } - - [Test] - public void NodeValuesNewtonsoft() - { -#if NEWTONSOFT_JSON - CheckResultNodeValues(m_GltfNewtonsoft); -#else - Assert.Ignore("Requires Newtonsoft JSON package to be installed."); -#endif - } - - static void CheckResultAccessor(RootBase gltf) - { - Assert.NotNull(gltf); - Assert.NotNull(gltf.Accessors); - Assert.AreEqual(1, gltf.Accessors.Count); - CheckFloatArray(gltf.Accessors[0].max, 3, 1, 2, 3); - CheckFloatArray(gltf.Accessors[0].min, 3, -1, -2, -3); - } - - static void CheckResultLightPunctualColor(RootBase gltf) - { - var lights = gltf?.Extensions?.KHR_lights_punctual?.lights; - Assert.NotNull(lights); - Assert.AreEqual(1, lights.Length); - Assert.AreEqual(new Color(.1f, .2f, .3f), lights[0].LightColor); - } - - static void CheckResultMaterialValues(RootBase gltf) - { - Assert.NotNull(gltf); - Assert.NotNull(gltf.Materials); - Assert.AreEqual(1, gltf.Materials.Count); - var mat = gltf.Materials[0]; - Assert.AreEqual(new Color(.1f, .2f, .3f), mat.Emissive); - Assert.NotNull(mat.PbrMetallicRoughness); - Assert.AreEqual(new Color(.1f, .2f, .3f, .4f), mat.PbrMetallicRoughness.BaseColor); - var transform = mat.NormalTexture?.Extensions?.KHR_texture_transform; - Assert.NotNull(transform); - CheckFloatArray(transform.offset, 2, 1, 2); - CheckFloatArray(transform.scale, 2, 3, 4); - var ext = mat.Extensions; - Assert.NotNull(ext?.KHR_materials_sheen); - Assert.AreEqual(new Color(.1f, .2f, .3f), ext.KHR_materials_sheen.SheenColor); - Assert.NotNull(ext.KHR_materials_pbrSpecularGlossiness); - Assert.AreEqual(new Color(.1f, .2f, .3f, .4f), ext.KHR_materials_pbrSpecularGlossiness.DiffuseColor); - Assert.AreEqual(new Color(.1f, .2f, .3f), ext.KHR_materials_pbrSpecularGlossiness.SpecularColor); - } - - static void CheckResultMeshWeights(RootBase gltf) - { - Assert.NotNull(gltf?.Meshes); - Assert.AreEqual(1, gltf.Meshes.Count); - var mesh = gltf.Meshes[0]; - CheckFloatArray(mesh.weights, 5, 1, 2, 3, 4, 5); - } - - static void CheckResultNodeValues(RootBase gltf) - { - Assert.NotNull(gltf?.Nodes); - Assert.AreEqual(1, gltf.Nodes.Count); - var node = gltf.Nodes[0]; - CheckFloatArray(node.matrix, 16, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16); - CheckFloatArray(node.rotation, 4, 1, 2, 3, 4); - CheckFloatArray(node.scale, 3, 1, 2, 3); - CheckFloatArray(node.translation, 3, 1, 2, 3); - } - - static void CheckFloatArray(IReadOnlyList actual, int expectedLength, params float[] expected) - { - if (actual == null && expected == null && expectedLength == 0) - { - return; - } - Assert.NotNull(actual); - Assert.NotNull(expected); - Assert.AreEqual(expectedLength, actual.Count); - Assert.AreEqual(expectedLength, expected.Length); - for (var i = 0; i < expectedLength; i++) - { - Assert.AreEqual(expected[i], actual[i]); - } - } - - const string k_ValueArraysJson = @" -{ - ""accessors"": [{ - ""max"": [1,2,3], - ""min"": [-1,-2,-3] - }], - ""extensions"": { - ""KHR_lights_punctual"": { - ""lights"":[{ - ""color"": [0.1,0.2,0.3] - }] - } - }, - ""materials"": [{ - ""emissiveFactor"": [0.1,0.2,0.3], - ""pbrMetallicRoughness"": { - ""baseColorFactor"": [0.1,0.2,0.3,0.4] - }, - ""normalTexture"": { - ""extensions"": { - ""KHR_texture_transform"": { - ""offset"": [1,2], - ""scale"": [3,4] - } - } - }, - ""extensions"": { - ""KHR_materials_sheen"": { - ""sheenColorFactor"":[0.1,0.2,0.3] - }, - ""KHR_materials_pbrSpecularGlossiness"": { - ""diffuseFactor"":[0.1,0.2,0.3,0.4], - ""specularFactor"":[0.1,0.2,0.3] - } - } - }], - ""meshes"": [{ - ""weights"": [1,2,3,4,5], - ""primitives"":[{}] - }], - ""nodes"": [{ - ""matrix"": [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16], - ""rotation"": [1,2,3,4], - ""translation"": [1,2,3], - ""scale"": [1,2,3] - }] -}"; - } -} diff --git a/Tests/Runtime/Scripts/JsonParsing/ValueArrayTests.cs.meta b/Tests/Runtime/Scripts/JsonParsing/ValueArrayTests.cs.meta deleted file mode 100644 index 892303d2d..000000000 --- a/Tests/Runtime/Scripts/JsonParsing/ValueArrayTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 262f0cf4f3a84488f8a506b82bc6ab6c -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts/JsonParsing/glTFast.Tests.JsonParsing.asmref b/Tests/Runtime/Scripts/JsonParsing/glTFast.Tests.JsonParsing.asmref deleted file mode 100644 index acd721997..000000000 --- a/Tests/Runtime/Scripts/JsonParsing/glTFast.Tests.JsonParsing.asmref +++ /dev/null @@ -1,3 +0,0 @@ -{ - "reference": "GUID:7897e000c47a54a4c8a8a7345af3c565" -} \ No newline at end of file diff --git a/Tests/Runtime/Scripts/JsonParsing/glTFast.Tests.JsonParsing.asmref.meta b/Tests/Runtime/Scripts/JsonParsing/glTFast.Tests.JsonParsing.asmref.meta deleted file mode 100644 index 7f8765ed8..000000000 --- a/Tests/Runtime/Scripts/JsonParsing/glTFast.Tests.JsonParsing.asmref.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 4e6d1ca10c65648f28ffd128d35e03b2 -AssemblyDefinitionReferenceImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts/LoggerTest.cs b/Tests/Runtime/Scripts/LoggerTest.cs deleted file mode 100644 index b903970fc..000000000 --- a/Tests/Runtime/Scripts/LoggerTest.cs +++ /dev/null @@ -1,216 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using System; -using System.Collections.Generic; -using System.Linq; -using NUnit.Framework; -using UnityEngine; -using UnityEngine.TestTools; - -namespace GLTFast.Tests -{ - using Logging; - - static class LoggerTest - { - [Test] - public static void CollectingLoggerTest() - { - var r = new CollectingLogger(); - r.Error(LogCode.Download, "404", "https://something.com/nowherfound.glb"); - - Assert.AreEqual(1, r.Count); - var items = r.Items.ToArray(); - Assert.AreEqual("Download URL https://something.com/nowherfound.glb failed: 404", items[0].ToString()); - } - - [Test] - public static void CollectingLoggerLogTest() - { - var r = new CollectingLogger(); - r.Log(LogType.Error, LogCode.Download, "401", "https://something.com/nowherfound.glb"); - r.Log(LogType.Assert, LogCode.Download, "402", "https://something.com/nowherfound.glb"); - r.Log(LogType.Warning, LogCode.Download, "403", "https://something.com/nowherfound.glb"); - r.Log(LogType.Log, LogCode.Download, "404", "https://something.com/nowherfound.glb"); - r.Log(LogType.Exception, LogCode.Download, "405", "https://something.com/nowherfound.glb"); - - Assert.AreEqual(5, r.Count); - var items = r.Items.ToArray(); - Assert.AreEqual(LogType.Error, items[0].Type); - Assert.AreEqual("Download URL https://something.com/nowherfound.glb failed: 401", items[0].ToString()); - Assert.AreEqual(LogType.Assert, items[1].Type); - Assert.AreEqual("Download URL https://something.com/nowherfound.glb failed: 402", items[1].ToString()); - Assert.AreEqual(LogType.Warning, items[2].Type); - Assert.AreEqual("Download URL https://something.com/nowherfound.glb failed: 403", items[2].ToString()); - Assert.AreEqual(LogType.Log, items[3].Type); - Assert.AreEqual("Download URL https://something.com/nowherfound.glb failed: 404", items[3].ToString()); - Assert.AreEqual(LogType.Exception, items[4].Type); - Assert.AreEqual("Download URL https://something.com/nowherfound.glb failed: 405", items[4].ToString()); - } - - [Test] - public static void ConsoleLoggerTest() - { - var r = new ConsoleLogger(); - r.Error(LogCode.Download, "404", "https://something.com/nowherfound.glb"); - LogAssert.Expect(LogType.Error, "Download URL https://something.com/nowherfound.glb failed: 404"); - } - - [Test] - public static void ConsoleLoggerLogTest() - { - var r = new ConsoleLogger(); - r.Log(LogType.Error, LogCode.Download, "401", "https://something.com/nowherfound.glb"); - r.Log(LogType.Assert, LogCode.Download, "402", "https://something.com/nowherfound.glb"); - r.Log(LogType.Warning, LogCode.Download, "403", "https://something.com/nowherfound.glb"); - r.Log(LogType.Log, LogCode.Download, "404", "https://something.com/nowherfound.glb"); - r.Log(LogType.Exception, LogCode.Download, "405", "https://something.com/nowherfound.glb"); - - LogAssert.Expect(LogType.Error, "Download URL https://something.com/nowherfound.glb failed: 401"); - LogAssert.Expect(LogType.Assert, "Download URL https://something.com/nowherfound.glb failed: 402"); - LogAssert.Expect(LogType.Warning, "Download URL https://something.com/nowherfound.glb failed: 403"); - LogAssert.Expect(LogType.Log, "Download URL https://something.com/nowherfound.glb failed: 404"); - LogAssert.Expect(LogType.Exception, "Download URL https://something.com/nowherfound.glb failed: 405"); - } - - [Test] - public static void TestLogItemEquals() - { - var a = new LogItem(LogType.Error, LogCode.None); - var b = new LogItem(LogType.Error, LogCode.None); - Assert.AreEqual(a, b); - Assert.AreEqual(a.GetHashCode(), b.GetHashCode()); - - a = new LogItem(LogType.Log, LogCode.None, "MyMessage"); - b = new LogItem(LogType.Log, LogCode.None, "MyMessage"); - Assert.AreEqual(a, b); - Assert.AreEqual(a.GetHashCode(), b.GetHashCode()); - - a = new LogItem(LogType.Log, LogCode.None, "FirstMessage", "SecondMessage"); - b = new LogItem(LogType.Log, LogCode.None, "FirstMessage", "SecondMessage"); - Assert.AreEqual(a, b); - Assert.AreEqual(a.GetHashCode(), b.GetHashCode()); - - a = new LogItem(LogType.Error, LogCode.None); - b = new LogItem(LogType.Assert, LogCode.None); - Assert.AreNotEqual(a, b); - Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode()); - - a = new LogItem(LogType.Error, LogCode.None); - b = new LogItem(LogType.Error, LogCode.EmbedSlow); - Assert.AreNotEqual(a, b); - Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode()); - - a = new LogItem(LogType.Log, LogCode.None, "MyMessage"); - b = new LogItem(LogType.Log, LogCode.None); - Assert.AreNotEqual(a, b); - Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode()); - - a = new LogItem(LogType.Log, LogCode.None, "MyMessage"); - b = new LogItem(LogType.Log, LogCode.None, "DifferentMessage"); - Assert.AreNotEqual(a, b); - Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode()); - - a = new LogItem(LogType.Log, LogCode.None, "FirstMessage", "SecondMessage"); - b = new LogItem(LogType.Log, LogCode.None, "FirstMessage", "DifferentSecondMessage"); - Assert.AreNotEqual(a, b); - Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode()); - - a = new LogItem(LogType.Log, LogCode.None, "FirstMessage", "SecondMessage"); - b = new LogItem(LogType.Log, LogCode.None, "FirstMessage"); - Assert.AreNotEqual(a, b); - Assert.AreNotEqual(a.GetHashCode(), b.GetHashCode()); - } - - internal static void AssertLogger(CollectingLogger logger) - { - AssertLogCodes(logger.Items, null); - } - - internal static void AssertLogger(CollectingLogger logger, IEnumerable expectedLogCodes) - { - AssertLogCodes(logger.Items, expectedLogCodes); - } - - internal static void AssertLogCodes(IEnumerable logItems, IEnumerable expectedLogCodes) - { - Dictionary expectedLogCodeFound = null; - if (expectedLogCodes != null) - { - expectedLogCodeFound = new Dictionary(); - foreach (var logCode in expectedLogCodes) - { - expectedLogCodeFound[logCode] = false; - } - } - - if (logItems != null) - { - foreach (var item in logItems) - { - switch (item.Type) - { - case LogType.Assert: - case LogType.Error: - case LogType.Exception: - if (expectedLogCodeFound?.Keys.Contains(item.Code) == true) - { - expectedLogCodeFound[item.Code] = true; - // Informal log - Debug.LogFormat(LogType.Log, LogOption.NoStacktrace, null, item.ToString()); - } - else - { - item.Log(); - throw new AssertionException($"Unhandled {item.Type} message {item} ({item.Code})."); - } - break; - case LogType.Warning: - case LogType.Log: - default: - item.Log(); - break; - } - } - } - - if (expectedLogCodeFound != null) - { - foreach (var b in expectedLogCodeFound.Where(b => !b.Value)) - { - throw new AssertionException($"Missing expected log message {b.Key}."); - } - } - } - - internal static void AssertLogger(CollectingLogger logger, IEnumerable expectedLogItems) - { - AssertLogItems(logger.Items, expectedLogItems); - } - - static void AssertLogItems(IEnumerable logItems, IEnumerable expectedLogItems) - { - var items = expectedLogItems.ToList(); - - foreach (var item in logItems) - { - var index = items.IndexOf(item); - if (index >= 0) - { - items.RemoveAt(index); - // Informal log - Debug.LogFormat(LogType.Log, LogOption.NoStacktrace, null, item.ToString()); - continue; - } - - item.Log(); - } - - foreach (var b in items) - { - throw new AssertionException($"Missing expected log message \"{b}\"."); - } - } - } -} diff --git a/Tests/Runtime/Scripts/LoggerTest.cs.meta b/Tests/Runtime/Scripts/LoggerTest.cs.meta deleted file mode 100644 index 3f2b9a327..000000000 --- a/Tests/Runtime/Scripts/LoggerTest.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 0ab3dbf07b61644dda45dc1525d2cf61 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts/MatrixExtensionTest.cs b/Tests/Runtime/Scripts/MatrixExtensionTest.cs deleted file mode 100644 index dc5d3a835..000000000 --- a/Tests/Runtime/Scripts/MatrixExtensionTest.cs +++ /dev/null @@ -1,205 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using NUnit.Framework; -using UnityEngine; -using Unity.Mathematics; -using UnityEngine.Profiling; -using UnityEngine.TestTools.Utils; - -namespace GLTFast.Tests -{ - class MatrixExtensionTest - { - static Vector3EqualityComparer s_Vector3Comparer; - static QuaternionEqualityComparer s_QuaternionComparer; - - static Matrix4x4 s_UnityMatrix; - static float4x4 s_Matrix; - - [OneTimeSetUp] - public void OneTimeSetUp() - { - s_Vector3Comparer = new Vector3EqualityComparer(10e-6f); - s_QuaternionComparer = new QuaternionEqualityComparer(10e-6f); - - // Corner case matrix (90°/0°/45° rotation with -1/-1/-1 scale) - s_UnityMatrix = new Matrix4x4( - new Vector4( - -0.7071067811865474f, - 0f, - -0.7071067811865477f, - 0f - ), - new Vector4( - 0.7071067811865477f, - 0f, - -0.7071067811865474f, - 0f - ), - new Vector4( - 0f, - 1f, - 0f, - 0f - ), - new Vector4( - 0f, - 0f, - 0f, - 1f - ) - ); - - s_Matrix = new float4x4( - s_UnityMatrix.m00, s_UnityMatrix.m01, s_UnityMatrix.m02, s_UnityMatrix.m03, - s_UnityMatrix.m10, s_UnityMatrix.m11, s_UnityMatrix.m12, s_UnityMatrix.m13, - s_UnityMatrix.m20, s_UnityMatrix.m21, s_UnityMatrix.m22, s_UnityMatrix.m23, - s_UnityMatrix.m30, s_UnityMatrix.m31, s_UnityMatrix.m32, s_UnityMatrix.m33 - ); - } - - [Test] - public void MatrixDecomposeTest() - { - Profiler.BeginSample("Matrix4x4.DecomposeUnity"); - if (s_UnityMatrix.ValidTRS()) - { - // ReSharper disable UnusedVariable - var t1 = new Vector3(s_UnityMatrix.m03, s_UnityMatrix.m13, s_UnityMatrix.m23); - var r1 = s_UnityMatrix.rotation; - var s1 = s_UnityMatrix.lossyScale; - // ReSharper restore UnusedVariable - } - - Profiler.EndSample(); - - Profiler.BeginSample("Matrix4x4.DecomposeCustom"); - s_UnityMatrix.Decompose(out var t, out var r, out var s); - Profiler.EndSample(); - - Assert.That(t, Is.EqualTo(new Vector3(0, 0, 0)).Using(s_Vector3Comparer)); - Assert.That(r, Is.EqualTo( - new Quaternion(0.65328151f, -0.270598054f, 0.270598054f, 0.65328151f)) - .Using(s_QuaternionComparer) - ); - Assert.That(s, Is.EqualTo(new Vector3(-.99999994f, -.99999994f, -1)).Using(s_Vector3Comparer)); - - Profiler.BeginSample("float4x4.Decompose"); - s_Matrix.Decompose(out var t3, out quaternion r3, out var s3); - Profiler.EndSample(); - - Assert.That((Vector3)t3, Is.EqualTo(new Vector3(0, 0, 0)).Using(s_Vector3Comparer)); - Assert.That( - (Quaternion)r3, - Is.EqualTo(new Quaternion(0.65328151f, -0.270598054f, 0.270598054f, 0.65328151f)) - .Using(s_QuaternionComparer) - ); - Assert.That( - (Vector3)s3, - Is.EqualTo(new Vector3(-.99999994f, -.99999994f, -1)) - .Using(s_Vector3Comparer) - ); - } - - [Test] - public void MatrixDecomposeObsoleteTest() - { - Profiler.BeginSample("float4x4.Decompose"); -#pragma warning disable CS0618 // Type or member is obsolete - s_Matrix.Decompose(out var translation, out float4 rotationValues, out var scale); -#pragma warning restore CS0618 // Type or member is obsolete - Profiler.EndSample(); - - Assert.That((Vector3)translation, Is.EqualTo(new Vector3(0, 0, 0)).Using(s_Vector3Comparer)); - Assert.That( - (Quaternion)new quaternion(rotationValues), - Is.EqualTo(new Quaternion(0.65328151f, -0.270598054f, 0.270598054f, 0.65328151f)) - .Using(s_QuaternionComparer) - ); - Assert.That( - (Vector3)scale, - Is.EqualTo(new Vector3(-.99999994f, -.99999994f, -1)) - .Using(s_Vector3Comparer) - ); - } - - // [Test] - // public void VertexStructTest() { - // var v = new VPosNormTan { - // position = new float3(1, 2, 3), - // normal = new float3(1, 0, 0), - // tangent = new float4(0, 1, 0,1), - // }; - // - // var vPosNor = new VPosNorm { - // position = new float3(1, 2, 3), - // normal = new float3(1, 0, 0), - // }; - // - // var vPos = new VPos { - // position = new float3(1, 2, 3) - // }; - // - // var uv1 = new VTexCoord1 { - // uv0 = new float2(1, 2), - // }; - // - // var uv2 = new VTexCoord2 { - // uv0 = new float2(1, 2), - // uv1 = new float2(1, 2), - // }; - // - // var uv3 = new VTexCoord3 { - // uv0 = new float2(1, 2), - // uv1 = new float2(1, 2), - // uv2 = new float2(1, 2), - // }; - // - // var uv4 = new VTexCoord4 { - // uv0 = new float2(1, 2), - // uv1 = new float2(1, 2), - // uv2 = new float2(1, 2), - // uv3 = new float2(1, 2), - // }; - // - // var uv5 = new VTexCoord5 { - // uv0 = new float2(1, 2), - // uv1 = new float2(1, 2), - // uv2 = new float2(1, 2), - // uv3 = new float2(1, 2), - // uv4 = new float2(1, 2), - // }; - // - // var uv6 = new VTexCoord6 { - // uv0 = new float2(1, 2), - // uv1 = new float2(1, 2), - // uv2 = new float2(1, 2), - // uv3 = new float2(1, 2), - // uv4 = new float2(1, 2), - // uv5 = new float2(1, 2), - // }; - // - // var uv7 = new VTexCoord7 { - // uv0 = new float2(1, 2), - // uv1 = new float2(1, 2), - // uv2 = new float2(1, 2), - // uv3 = new float2(1, 2), - // uv4 = new float2(1, 2), - // uv5 = new float2(1, 2), - // uv6 = new float2(1, 2), - // }; - // - // var uv8 = new VTexCoord8 { - // uv0 = new float2(1, 2), - // uv1 = new float2(1, 2), - // uv2 = new float2(1, 2), - // uv3 = new float2(1, 2), - // uv4 = new float2(1, 2), - // uv5 = new float2(1, 2), - // uv6 = new float2(1, 2), - // uv7 = new float2(1, 2), - // }; - // } - } -} diff --git a/Tests/Runtime/Scripts/MatrixExtensionTest.cs.meta b/Tests/Runtime/Scripts/MatrixExtensionTest.cs.meta deleted file mode 100644 index c42c036d7..000000000 --- a/Tests/Runtime/Scripts/MatrixExtensionTest.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: cbc406fdf3ce84b68b529bb3e3eeeefe -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts/MeshPrimitiveTest.cs b/Tests/Runtime/Scripts/MeshPrimitiveTest.cs deleted file mode 100644 index d95611bf1..000000000 --- a/Tests/Runtime/Scripts/MeshPrimitiveTest.cs +++ /dev/null @@ -1,51 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using GLTFast.Schema; -using NUnit.Framework; -using UnityEngine; - -namespace GLTFast.Tests -{ - class MeshPrimitiveTest - { - - [Test] - public void MeshPrimitiveEqualTest() - { - - var a = new MeshPrimitive { attributes = new Attributes { POSITION = 42 } }; - var b = new MeshPrimitive { attributes = new Attributes { POSITION = 42 } }; - - Assert.IsTrue(a.Equals(b)); - - a.targets = new[] { new MorphTarget { POSITION = 0 } }; - b.targets = null; - Assert.IsFalse(a.Equals(b)); - - a.targets = new[] { new MorphTarget { POSITION = 0 } }; - b.targets = new[] { new MorphTarget { POSITION = 0 } }; - Assert.IsTrue(a.Equals(b)); - - a.targets = new[] { new MorphTarget { POSITION = 0 } }; - b.targets = new[] { new MorphTarget { POSITION = 0, NORMAL = 1 } }; - Assert.IsFalse(a.Equals(b)); - - a.targets = null; - b.targets = new[] { new MorphTarget { POSITION = 0 } }; - Assert.IsFalse(a.Equals(b)); - - a.targets = new[] { new MorphTarget { POSITION = 0 } }; - b.targets = new[] { new MorphTarget { POSITION = 0 }, new MorphTarget { POSITION = 0 } }; - Assert.IsFalse(a.Equals(b)); - - a = new MeshPrimitive { attributes = new Attributes { POSITION = 41 } }; - b = new MeshPrimitive { attributes = new Attributes { POSITION = 42 } }; - Assert.IsFalse(a.Equals(b)); - - a.targets = new[] { new MorphTarget { POSITION = 0 } }; - b.targets = new[] { new MorphTarget { POSITION = 0 } }; - Assert.IsFalse(a.Equals(b)); - } - } -} diff --git a/Tests/Runtime/Scripts/MeshPrimitiveTest.cs.meta b/Tests/Runtime/Scripts/MeshPrimitiveTest.cs.meta deleted file mode 100644 index ecfcf5c83..000000000 --- a/Tests/Runtime/Scripts/MeshPrimitiveTest.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: e7c5d72bb83414b388d12a0b39342d0d -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts/Performance.meta b/Tests/Runtime/Scripts/Performance.meta deleted file mode 100644 index 92bc0cc56..000000000 --- a/Tests/Runtime/Scripts/Performance.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 96766deb3ddad4b8ab045ad6afc69d48 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts/Performance/JobPerformanceTests.cs b/Tests/Runtime/Scripts/Performance/JobPerformanceTests.cs deleted file mode 100644 index a106a5a62..000000000 --- a/Tests/Runtime/Scripts/Performance/JobPerformanceTests.cs +++ /dev/null @@ -1,1299 +0,0 @@ -// SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -#if UNITY_PERFORMANCE_TESTS - -using System; -using GLTFast.Schema; -using NUnit.Framework; -using Unity.Collections.LowLevel.Unsafe; -using Unity.Collections; -using Unity.Jobs; -using Unity.Mathematics; -using Unity.PerformanceTesting; -using UnityEngine; - -namespace GLTFast.Tests.Performance.Jobs -{ - - static class Constants - { - public const int measureCount = 10; - public const int iterationsPerMeasurement = 5; - } - - [TestFixture] - public class Vector3Jobs - { - - const int k_Length = 10_000_000; - - NativeArray m_Input; - NativeArray m_InputUInt16; - NativeArray m_InputInt16; - NativeArray m_InputUInt8; - NativeArray m_InputInt8; - NativeArray m_Output; - - [OneTimeSetUp] - public void SetUpTest() - { - m_Input = new NativeArray(k_Length, Allocator.Persistent); - m_InputUInt16 = new NativeArray(k_Length * 3, Allocator.Persistent); - m_InputInt16 = new NativeArray(k_Length * 3, Allocator.Persistent); - m_InputUInt8 = new NativeArray(k_Length * 3, Allocator.Persistent); - m_InputInt8 = new NativeArray(k_Length * 3, Allocator.Persistent); - m_Output = new NativeArray(k_Length, Allocator.Persistent); - } - - [OneTimeTearDown] - public void Cleanup() - { - m_Input.Dispose(); - m_InputUInt16.Dispose(); - m_InputInt16.Dispose(); - m_InputUInt8.Dispose(); - m_InputInt8.Dispose(); - m_Output.Dispose(); - } - - [Test, Performance] - public unsafe void ConvertVector3FloatToFloatInterleavedJob() - { - var job = new GLTFast.Jobs.ConvertVector3FloatToFloatInterleavedJob - { - inputByteStride = 12, - input = (byte*)m_Input.GetUnsafeReadOnlyPtr(), - outputByteStride = 12, - result = (float3*)m_Output.GetUnsafePtr() - }; - Measure.Method(() => job.RunBatch(m_Input.Length) - ) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - - [Test, Performance] - public unsafe void ConvertVector3FloatToFloatJob() - { - var job = new GLTFast.Jobs.ConvertVector3FloatToFloatJob - { - input = (float3*)m_Input.GetUnsafeReadOnlyPtr(), - result = (float3*)m_Output.GetUnsafePtr() - }; - Measure.Method(() => job.Run(m_Input.Length)) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - - [Test, Performance] - public unsafe void ConvertVector3Int16ToFloatInterleavedNormalizedJob() - { - var job = new GLTFast.Jobs.ConvertVector3Int16ToFloatInterleavedNormalizedJob - { - input = (byte*)m_InputInt16.GetUnsafeReadOnlyPtr(), - inputByteStride = 6, - result = (float3*)m_Output.GetUnsafePtr(), - outputByteStride = 12 - }; - Measure.Method(() => job.RunBatch(m_Output.Length) - ) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - - [Test, Performance] - public unsafe void ConvertVector3Int8ToFloatInterleavedNormalizedJob() - { - var job = new GLTFast.Jobs.ConvertVector3Int8ToFloatInterleavedNormalizedJob - { - input = (sbyte*)m_InputInt8.GetUnsafeReadOnlyPtr(), - inputByteStride = 3, - result = (float3*)m_Output.GetUnsafePtr(), - outputByteStride = 12 - }; - Measure.Method(() => job.RunBatch(m_Output.Length) - ) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - - [Test, Performance] - public unsafe void ConvertPositionsUInt16ToFloatInterleavedJob() - { - var job = new GLTFast.Jobs.ConvertPositionsUInt16ToFloatInterleavedJob - { - input = (byte*)m_InputUInt16.GetUnsafeReadOnlyPtr(), - inputByteStride = 6, - result = (float3*)m_Output.GetUnsafePtr(), - outputByteStride = 12 - }; - Measure.Method(() => job.RunBatch(m_Output.Length) - ) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - - [Test, Performance] - public unsafe void ConvertPositionsUInt16ToFloatInterleavedNormalizedJob() - { - var job = new GLTFast.Jobs.ConvertPositionsUInt16ToFloatInterleavedNormalizedJob - { - input = (byte*)m_InputUInt16.GetUnsafeReadOnlyPtr(), - inputByteStride = 6, - result = (float3*)m_Output.GetUnsafePtr(), - outputByteStride = 12 - }; - Measure.Method(() => job.RunBatch(m_Output.Length) - ) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - - [Test, Performance] - public unsafe void ConvertPositionsInt16ToFloatInterleavedJob() - { - var job = new GLTFast.Jobs.ConvertPositionsInt16ToFloatInterleavedJob - { - input = (byte*)m_InputInt16.GetUnsafeReadOnlyPtr(), - inputByteStride = 6, - result = (float3*)m_Output.GetUnsafePtr(), - outputByteStride = 12 - }; - Measure.Method(() => job.RunBatch(m_Output.Length) - ) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - - [Test, Performance] - public unsafe void ConvertPositionsInt8ToFloatInterleavedJob() - { - var job = new GLTFast.Jobs.ConvertPositionsInt8ToFloatInterleavedJob - { - input = (sbyte*)m_InputInt8.GetUnsafeReadOnlyPtr(), - inputByteStride = 3, - result = (float3*)m_Output.GetUnsafePtr(), - outputByteStride = 12 - }; - Measure.Method(() => job.RunBatch(m_Output.Length) - ) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - - [Test, Performance] - public unsafe void ConvertPositionsUInt8ToFloatInterleavedJob() - { - var job = new GLTFast.Jobs.ConvertPositionsUInt8ToFloatInterleavedJob - { - input = (byte*)m_InputUInt8.GetUnsafeReadOnlyPtr(), - inputByteStride = 3, - result = (float3*)m_Output.GetUnsafePtr(), - outputByteStride = 12 - }; - Measure.Method(() => job.RunBatch(m_Output.Length) - ) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - - [Test, Performance] - public unsafe void ConvertPositionsUInt8ToFloatInterleavedNormalizedJob() - { - var job = new GLTFast.Jobs.ConvertPositionsUInt8ToFloatInterleavedNormalizedJob - { - input = (byte*)m_InputUInt8.GetUnsafeReadOnlyPtr(), - inputByteStride = 3, - result = (float3*)m_Output.GetUnsafePtr(), - outputByteStride = 12 - }; - Measure.Method(() => job.RunBatch(m_Output.Length) - ) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - - [Test, Performance] - public unsafe void ConvertNormalsInt16ToFloatInterleavedNormalizedJob() - { - var job = new GLTFast.Jobs.ConvertNormalsInt16ToFloatInterleavedNormalizedJob - { - input = (byte*)m_InputInt16.GetUnsafeReadOnlyPtr(), - inputByteStride = 6, - result = (float3*)m_Output.GetUnsafePtr(), - outputByteStride = 12 - }; - Measure.Method(() => job.RunBatch(m_Output.Length) - ) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - - [Test, Performance] - public unsafe void ConvertNormalsInt8ToFloatInterleavedNormalizedJob() - { - var job = new GLTFast.Jobs.ConvertNormalsInt8ToFloatInterleavedNormalizedJob - { - input = (sbyte*)m_InputInt8.GetUnsafeReadOnlyPtr(), - inputByteStride = 3, - result = (float3*)m_Output.GetUnsafePtr(), - outputByteStride = 12 - }; - Measure.Method(() => job.RunBatch(m_Output.Length) - ) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - } - - [TestFixture] - public class PositionSparseJobs - { - - const int k_Length = 100_000; - - NativeArray m_Indices; - NativeArray m_Input; - NativeArray m_Output; - - [OneTimeSetUp] - public void SetUpTest() - { - m_Indices = new NativeArray(k_Length, Allocator.Persistent); - m_Input = new NativeArray(k_Length, Allocator.Persistent); - m_Output = new NativeArray(k_Length * 2, Allocator.Persistent); - - for (int i = 0; i < k_Length; i++) - { - m_Indices[i] = i * 2; - m_Input[i] = new float3(i, k_Length - 1, 42); - } - } - - [OneTimeTearDown] - public void Cleanup() - { - m_Input.Dispose(); - m_Output.Dispose(); - m_Indices.Dispose(); - } - - [Test, Performance] - public unsafe void ConvertPositionsSparseJob() - { - const GltfComponentType indexType = GltfComponentType.UnsignedInt; - const GltfComponentType valueType = GltfComponentType.Float; - const bool normalized = false; - - var job = new GLTFast.Jobs.ConvertVector3SparseJob - { - indexBuffer = m_Indices.GetUnsafeReadOnlyPtr(), - indexConverter = GLTFast.Jobs.CachedFunction.GetIndexConverter(indexType), - inputByteStride = 3 * AccessorBase.GetComponentTypeSize(valueType), - input = m_Input.GetUnsafeReadOnlyPtr(), - valueConverter = GLTFast.Jobs.CachedFunction.GetPositionConverter(valueType, normalized), - outputByteStride = 12, - result = (float3*)m_Output.GetUnsafePtr(), - }; - Measure.Method(() => job.Run(m_Indices.Length)) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - } - - [TestFixture] - public class UVJobs - { - const int k_UVLength = 10_000_000; - - NativeArray m_UVInput; - NativeArray m_InputUInt16; - NativeArray m_InputInt16; - NativeArray m_InputUInt8; - NativeArray m_InputInt8; - NativeArray m_UVOutput; - - [OneTimeSetUp] - public void SetUpTest() - { - m_UVInput = new NativeArray(k_UVLength, Allocator.Persistent); - m_InputUInt16 = new NativeArray(k_UVLength * 2, Allocator.Persistent); - m_InputInt16 = new NativeArray(k_UVLength * 2, Allocator.Persistent); - m_InputUInt8 = new NativeArray(k_UVLength * 2, Allocator.Persistent); - m_InputInt8 = new NativeArray(k_UVLength * 2, Allocator.Persistent); - m_UVOutput = new NativeArray(k_UVLength, Allocator.Persistent); - } - - [OneTimeTearDown] - public void Cleanup() - { - m_UVInput.Dispose(); - m_InputUInt16.Dispose(); - m_InputInt16.Dispose(); - m_InputUInt8.Dispose(); - m_InputInt8.Dispose(); - m_UVOutput.Dispose(); - } - - // [Test, Performance] - // public unsafe void ConvertUVsUInt8ToFloatJob() { - // Measure.Method(() => { - // var job = new GLTFast.Jobs.ConvertUVsUInt8ToFloatJob { - // input = (byte*)m_UVInput.GetUnsafeReadOnlyPtr(), - // result = (Vector2*)m_UVOutput.GetUnsafePtr() - // }; - // job.Run(m_UVOutput.Length); - // }) - // .WarmupCount(1) - // .MeasurementCount(Constants.measureCount) - // .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - // .Run(); - // } - // - // [Test, Performance] - // public unsafe void ConvertUVsUInt8ToFloatNormalizedJob() { - // Measure.Method(() => { - // var job = new GLTFast.Jobs.ConvertUVsUInt8ToFloatNormalizedJob { - // input = (byte*)m_UVInput.GetUnsafeReadOnlyPtr(), - // result = (Vector2*)m_UVOutput.GetUnsafePtr() - // }; - // job.Run(m_UVOutput.Length); - // }) - // .WarmupCount(1) - // .MeasurementCount(Constants.measureCount) - // .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - // .Run(); - // } - // - // [Test, Performance] - // public unsafe void ConvertUVsUInt16ToFloatNormalizedJob() { - // Measure.Method(() => { - // var job = new GLTFast.Jobs.ConvertUVsUInt16ToFloatNormalizedJob { - // input = (ushort*)m_UVInput.GetUnsafeReadOnlyPtr(), - // result = (Vector2*)m_UVOutput.GetUnsafePtr() - // }; - // job.Run(m_UVOutput.Length); - // }) - // .WarmupCount(1) - // .MeasurementCount(Constants.measureCount) - // .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - // .Run(); - // } - // - // [Test, Performance] - // public unsafe void ConvertUVsUInt16ToFloatJob() { - // Measure.Method(() => { - // var job = new GLTFast.Jobs.ConvertUVsUInt16ToFloatJob { - // input = (ushort*)m_UVInput.GetUnsafeReadOnlyPtr(), - // result = (Vector2*)m_UVOutput.GetUnsafePtr() - // }; - // job.Run(m_UVOutput.Length); - // }) - // .WarmupCount(1) - // .MeasurementCount(Constants.measureCount) - // .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - // .Run(); - // } - // - // [Test, Performance] - // public unsafe void ConvertUVsFloatToFloatJob() { - // Measure.Method(() => { - // var job = new GLTFast.Jobs.ConvertUVsFloatToFloatJob { - // input = (float*)m_UVInput.GetUnsafeReadOnlyPtr(), - // result = (Vector2*)m_UVOutput.GetUnsafePtr() - // }; - // job.Run(m_UVOutput.Length); - // }) - // .WarmupCount(1) - // .MeasurementCount(Constants.measureCount) - // .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - // .Run(); - // } - - [Test, Performance] - public unsafe void ConvertUVsUInt8ToFloatInterleavedJob() - { - var job = new GLTFast.Jobs.ConvertUVsUInt8ToFloatInterleavedJob - { - input = (byte*)m_InputUInt8.GetUnsafeReadOnlyPtr(), - inputByteStride = 2, - result = (float2*)m_UVOutput.GetUnsafePtr(), - outputByteStride = 8 - }; - Measure.Method(() => job.RunBatch(m_UVOutput.Length)) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - - [Test, Performance] - public unsafe void ConvertUVsUInt8ToFloatInterleavedNormalizedJob() - { - var job = new GLTFast.Jobs.ConvertUVsUInt8ToFloatInterleavedNormalizedJob - { - input = (byte*)m_InputUInt8.GetUnsafeReadOnlyPtr(), - inputByteStride = 2, - result = (float2*)m_UVOutput.GetUnsafePtr(), - outputByteStride = 8 - }; - Measure.Method(() => job.Run(m_UVOutput.Length)) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - - [Test, Performance] - public unsafe void ConvertUVsUInt16ToFloatInterleavedJob() - { - var job = new GLTFast.Jobs.ConvertUVsUInt16ToFloatInterleavedJob - { - input = (byte*)m_InputUInt16.GetUnsafeReadOnlyPtr(), - inputByteStride = 4, - result = (float2*)m_UVOutput.GetUnsafePtr(), - outputByteStride = 8 - }; - Measure.Method(() => job.RunBatch(m_UVOutput.Length)) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - - [Test, Performance] - public unsafe void ConvertUVsUInt16ToFloatInterleavedNormalizedJob() - { - var job = new GLTFast.Jobs.ConvertUVsUInt16ToFloatInterleavedNormalizedJob - { - input = (byte*)m_InputUInt16.GetUnsafeReadOnlyPtr(), - inputByteStride = 4, - result = (float2*)m_UVOutput.GetUnsafePtr(), - outputByteStride = 8 - }; - Measure.Method(() => job.Run(m_UVOutput.Length)) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - - [Test, Performance] - public unsafe void ConvertUVsInt16ToFloatInterleavedJob() - { - var job = new GLTFast.Jobs.ConvertUVsInt16ToFloatInterleavedJob - { - input = (short*)m_InputInt16.GetUnsafeReadOnlyPtr(), - inputByteStride = 4, - result = (float2*)m_UVOutput.GetUnsafePtr(), - outputByteStride = 8 - }; - Measure.Method(() => job.RunBatch(m_UVOutput.Length)) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - - [Test, Performance] - public unsafe void ConvertUVsInt16ToFloatInterleavedNormalizedJob() - { - var job = new GLTFast.Jobs.ConvertUVsInt16ToFloatInterleavedNormalizedJob - { - input = (short*)m_InputInt16.GetUnsafeReadOnlyPtr(), - inputByteStride = 4, - result = (float2*)m_UVOutput.GetUnsafePtr(), - outputByteStride = 8 - }; - Measure.Method(() => job.RunBatch(m_UVOutput.Length)) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - - [Test, Performance] - public unsafe void ConvertUVsInt8ToFloatInterleavedJob() - { - var job = new GLTFast.Jobs.ConvertUVsInt8ToFloatInterleavedJob - { - input = (sbyte*)m_InputInt8.GetUnsafeReadOnlyPtr(), - inputByteStride = 2, - result = (float2*)m_UVOutput.GetUnsafePtr(), - outputByteStride = 8 - }; - Measure.Method(() => job.RunBatch(m_UVOutput.Length)) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - - [Test, Performance] - public unsafe void ConvertUVsInt8ToFloatInterleavedNormalizedJob() - { - var job = new GLTFast.Jobs.ConvertUVsInt8ToFloatInterleavedNormalizedJob - { - input = (sbyte*)m_InputInt8.GetUnsafeReadOnlyPtr(), - inputByteStride = 2, - result = (float2*)m_UVOutput.GetUnsafePtr(), - outputByteStride = 8 - }; - Measure.Method(() => job.RunBatch(m_UVOutput.Length)) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - - [Test, Performance] - public unsafe void ConvertUVsFloatToFloatInterleavedJob() - { - var job = new GLTFast.Jobs.ConvertUVsFloatToFloatInterleavedJob - { - input = (byte*)m_UVInput.GetUnsafeReadOnlyPtr(), - inputByteStride = 8, - result = (float2*)m_UVOutput.GetUnsafePtr(), - outputByteStride = 8 - }; - Measure.Method(() => job.RunBatch(m_UVOutput.Length)) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - } - - [TestFixture] - public class Vector4Jobs - { - const int k_RotationLength = 5_000_000; - - NativeArray m_RotInput; - NativeArray m_InputUInt16; - NativeArray m_InputInt16; - NativeArray m_InputUInt8; - NativeArray m_InputInt8; - NativeArray m_RotOutput; - - [OneTimeSetUp] - public void SetUpTest() - { - m_RotInput = new NativeArray(k_RotationLength, Allocator.Persistent); - m_InputUInt16 = new NativeArray(k_RotationLength * 4, Allocator.Persistent); - m_InputInt16 = new NativeArray(k_RotationLength * 4, Allocator.Persistent); - m_InputUInt8 = new NativeArray(k_RotationLength * 4, Allocator.Persistent); - m_InputInt8 = new NativeArray(k_RotationLength * 4, Allocator.Persistent); - m_RotOutput = new NativeArray(k_RotationLength, Allocator.Persistent); - } - - [OneTimeTearDown] - public void Cleanup() - { - m_RotInput.Dispose(); - m_InputUInt16.Dispose(); - m_InputInt16.Dispose(); - m_InputUInt8.Dispose(); - m_InputInt8.Dispose(); - m_RotOutput.Dispose(); - } - - [Test, Performance] - public unsafe void ConvertRotationsFloatToFloatJob() - { - var job = new GLTFast.Jobs.ConvertRotationsFloatToFloatJob - { - input = (float4*)m_RotInput.GetUnsafeReadOnlyPtr(), - result = (float4*)m_RotOutput.GetUnsafePtr() - }; - Measure.Method(() => job.Run(m_RotOutput.Length)) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - - [Test, Performance] - public unsafe void ConvertRotationsInt16ToFloatJob() - { - var job = new GLTFast.Jobs.ConvertRotationsInt16ToFloatJob - { - input = (short*)m_InputInt16.GetUnsafeReadOnlyPtr(), - result = (float*)m_RotOutput.GetUnsafePtr() - }; - Measure.Method(() => job.Run(m_RotOutput.Length)) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - - [Test, Performance] - public unsafe void ConvertRotationsInt8ToFloatJob() - { - m_InputInt8[0] = sbyte.MinValue; - m_InputInt8[1] = -64; - m_InputInt8[2] = 64; - m_InputInt8[3] = sbyte.MaxValue; - - var job = new GLTFast.Jobs.ConvertRotationsInt8ToFloatJob - { - input = (sbyte*)m_InputInt8.GetUnsafeReadOnlyPtr(), - result = (float*)m_RotOutput.GetUnsafePtr() - }; - Measure.Method(() => job.Run(m_RotOutput.Length)) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - - [Test, Performance] - public unsafe void ConvertTangentsFloatToFloatInterleavedJob() - { - var job = new GLTFast.Jobs.ConvertTangentsFloatToFloatInterleavedJob - { - input = (byte*)m_RotInput.GetUnsafeReadOnlyPtr(), - inputByteStride = 16, - result = (float4*)m_RotOutput.GetUnsafePtr(), - outputByteStride = 16 - }; - Measure.Method(() => job.RunBatch(m_RotOutput.Length)) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - - [Test, Performance] - public unsafe void ConvertBoneWeightsFloatToFloatInterleavedJob() - { - var job = new GLTFast.Jobs.ConvertBoneWeightsFloatToFloatInterleavedJob - { - input = (byte*)m_RotInput.GetUnsafeReadOnlyPtr(), - inputByteStride = 16, - result = (float4*)m_RotOutput.GetUnsafePtr(), - outputByteStride = 16 - }; - Measure.Method(() => job.RunBatch(m_RotOutput.Length)) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - - // TODO: Test ConvertBoneWeightsUInt8ToFloatInterleavedJob - // TODO: Test ConvertBoneWeightsUInt16ToFloatInterleavedJob - - [Test, Performance] - public unsafe void ConvertTangentsInt16ToFloatInterleavedNormalizedJob() - { - var job = new GLTFast.Jobs.ConvertTangentsInt16ToFloatInterleavedNormalizedJob - { - input = (short*)m_InputInt16.GetUnsafeReadOnlyPtr(), - inputByteStride = 8, - result = (float4*)m_RotOutput.GetUnsafePtr(), - outputByteStride = 16 - }; - Measure.Method(() => job.RunBatch(m_RotOutput.Length)) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - - [Test, Performance] - public unsafe void ConvertTangentsInt8ToFloatInterleavedNormalizedJob() - { - var job = new GLTFast.Jobs.ConvertTangentsInt8ToFloatInterleavedNormalizedJob - { - input = (sbyte*)m_InputInt8.GetUnsafeReadOnlyPtr(), - inputByteStride = 4, - result = (float4*)m_RotOutput.GetUnsafePtr(), - outputByteStride = 16 - }; - Measure.Method(() => job.RunBatch(m_RotOutput.Length)) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - } - - [TestFixture] - public class ColorJobs - { - const int k_ColorLength = 3_000_000; - Color m_ReferenceRGB = new Color(.13f, .42f, .95f, 1f); - Color m_ReferenceRGBA = new Color(.42f, .95f, .5f, .24f); - - NativeArray m_ColorInput; - NativeArray m_InputUInt16; - NativeArray m_InputUInt8; - NativeArray m_ColorOutput; - - [OneTimeSetUp] - public void SetUpTest() - { - m_ColorInput = new NativeArray(k_ColorLength * 4, Allocator.Persistent); - m_InputUInt16 = new NativeArray(k_ColorLength * 4, Allocator.Persistent); - m_InputUInt8 = new NativeArray(k_ColorLength * 4, Allocator.Persistent); - m_ColorOutput = new NativeArray(k_ColorLength, Allocator.Persistent); - - m_ColorInput[3] = m_ReferenceRGB.r; - m_ColorInput[4] = m_ReferenceRGB.g; - m_ColorInput[5] = m_ReferenceRGB.b; - m_ColorInput[6] = m_ReferenceRGBA.b; - m_ColorInput[7] = m_ReferenceRGBA.a; - - m_InputUInt8[3] = (byte)(byte.MaxValue * m_ReferenceRGB.r); - m_InputUInt8[4] = (byte)(byte.MaxValue * m_ReferenceRGB.g); - m_InputUInt8[5] = (byte)(byte.MaxValue * m_ReferenceRGB.b); - m_InputUInt8[6] = (byte)(byte.MaxValue * m_ReferenceRGBA.b); - m_InputUInt8[7] = (byte)(byte.MaxValue * m_ReferenceRGBA.a); - - m_InputUInt16[3] = (ushort)(ushort.MaxValue * m_ReferenceRGB.r); - m_InputUInt16[4] = (ushort)(ushort.MaxValue * m_ReferenceRGB.g); - m_InputUInt16[5] = (ushort)(ushort.MaxValue * m_ReferenceRGB.b); - m_InputUInt16[6] = (ushort)(ushort.MaxValue * m_ReferenceRGBA.b); - m_InputUInt16[7] = (ushort)(ushort.MaxValue * m_ReferenceRGBA.a); - } - - [OneTimeTearDown] - public void Cleanup() - { - m_ColorInput.Dispose(); - m_InputUInt8.Dispose(); - m_InputUInt16.Dispose(); - m_ColorOutput.Dispose(); - } - - [Test, Performance] - public unsafe void ConvertColorsRGBFloatToRGBAFloatJob() - { - var job = new GLTFast.Jobs.ConvertColorsRGBFloatToRGBAFloatJob - { - input = (byte*)m_ColorInput.GetUnsafeReadOnlyPtr(), - inputByteStride = 12, - result = (float4*)m_ColorOutput.GetUnsafePtr() - }; - Measure.Method(() => job.Run(m_ColorOutput.Length)) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - - [Test, Performance] - public unsafe void ConvertColorsRGBUInt8ToRGBAFloatJob() - { - var job = new GLTFast.Jobs.ConvertColorsRgbUInt8ToRGBAFloatJob - { - input = (byte*)m_InputUInt8.GetUnsafeReadOnlyPtr(), - inputByteStride = 3, - result = m_ColorOutput - }; - Measure.Method(() => job.Run(m_ColorOutput.Length)) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - - [Test, Performance] - public unsafe void ConvertColorsRGBUInt16ToRGBAFloatJob() - { - var job = new GLTFast.Jobs.ConvertColorsRgbUInt16ToRGBAFloatJob - { - input = (ushort*)m_InputUInt16.GetUnsafeReadOnlyPtr(), - inputByteStride = 6, - result = m_ColorOutput - }; - Measure.Method(() => job.Run(m_ColorOutput.Length)) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - - [Test, Performance] - public unsafe void ConvertColorsRGBAUInt16ToRGBAFloatJob() - { - var job = new GLTFast.Jobs.ConvertColorsRgbaUInt16ToRGBAFloatJob - { - input = (ushort*)m_InputUInt16.GetUnsafeReadOnlyPtr(), - inputByteStride = 8, - result = (float4*)m_ColorOutput.GetUnsafePtr() - }; - Measure.Method(() => job.RunBatch(m_ColorOutput.Length)) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - - [Test, Performance] - public unsafe void ConvertColorsRGBAFloatToRGBAFloatJob() - { - var job = new GLTFast.Jobs.ConvertColorsRGBAFloatToRGBAFloatJob - { - input = (byte*)m_ColorInput.GetUnsafeReadOnlyPtr(), - inputByteStride = 16, - result = (float4*)m_ColorOutput.GetUnsafePtr() - }; - Measure.Method(() => job.RunBatch(m_ColorOutput.Length)) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - - [Test, Performance] - public unsafe void ConvertColorsRGBAUInt8ToRGBAFloatJob() - { - var job = new GLTFast.Jobs.ConvertColorsRgbaUInt8ToRGBAFloatJob - { - input = (byte*)m_InputUInt8.GetUnsafeReadOnlyPtr(), - inputByteStride = 4, - result = m_ColorOutput - }; - Measure.Method(() => job.Run(m_ColorOutput.Length)) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - } - - [TestFixture] - public class BoneIndexJobs - { - const int k_BoneIndexLength = 2_000_000; - uint4 m_Reference = new uint4(2, 3, 4, 5); - NativeArray m_InputUInt8; - NativeArray m_InputUInt16; - NativeArray m_BoneIndexOutput; - - [OneTimeSetUp] - public void SetUpTest() - { - m_InputUInt8 = new NativeArray(k_BoneIndexLength * 4, Allocator.Persistent); - m_InputUInt16 = new NativeArray(k_BoneIndexLength * 4, Allocator.Persistent); - m_BoneIndexOutput = new NativeArray(k_BoneIndexLength, Allocator.Persistent); - - m_InputUInt8[4] = (byte)m_Reference.x; - m_InputUInt8[5] = (byte)m_Reference.y; - m_InputUInt8[6] = (byte)m_Reference.z; - m_InputUInt8[7] = (byte)m_Reference.w; - - m_InputUInt16[4] = (ushort)m_Reference.x; - m_InputUInt16[5] = (ushort)m_Reference.y; - m_InputUInt16[6] = (ushort)m_Reference.z; - m_InputUInt16[7] = (ushort)m_Reference.w; - } - - [OneTimeTearDown] - public void Cleanup() - { - m_InputUInt16.Dispose(); - m_InputUInt8.Dispose(); - m_BoneIndexOutput.Dispose(); - } - - [Test, Performance] - public unsafe void ConvertBoneJointsUInt8ToUInt32Job() - { - var job = new GLTFast.Jobs.ConvertBoneJointsUInt8ToUInt32Job - { - input = (byte*)m_InputUInt8.GetUnsafeReadOnlyPtr(), - inputByteStride = 4, - result = (uint4*)m_BoneIndexOutput.GetUnsafePtr(), - outputByteStride = 16 - }; - Measure.Method(() => job.Run(m_BoneIndexOutput.Length)) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - - [Test, Performance] - public unsafe void ConvertBoneJointsUInt16ToUInt32Job() - { - var job = new GLTFast.Jobs.ConvertBoneJointsUInt16ToUInt32Job - { - input = (byte*)m_InputUInt16.GetUnsafeReadOnlyPtr(), - inputByteStride = 8, - result = (uint4*)m_BoneIndexOutput.GetUnsafePtr(), - outputByteStride = 16 - }; - Measure.Method(() => - { - job.Run(m_BoneIndexOutput.Length); - }) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - } - - [TestFixture] - public class MatrixJobs - { - const int k_MatrixLength = 800_000; - static readonly Matrix4x4 k_Reference = new Matrix4x4( - new Vector4(1, -5, -9, 13), - new Vector4(-2, 6, 10, 14), - new Vector4(-3, 7, 11, 15), - new Vector4(-4, 8, 12, 16) - ); - NativeArray m_MatrixInput; - NativeArray m_MatrixOutput; - - [OneTimeSetUp] - public void SetUpTest() - { - m_MatrixInput = new NativeArray(k_MatrixLength, Allocator.Persistent); - m_MatrixOutput = new NativeArray(k_MatrixLength, Allocator.Persistent); - - m_MatrixInput[1] = new float4x4( - 1, 2, 3, 4, - 5, 6, 7, 8, - 9, 10, 11, 12, - 13, 14, 15, 16 - ); - } - - [OneTimeTearDown] - public void Cleanup() - { - m_MatrixInput.Dispose(); - m_MatrixOutput.Dispose(); - } - - [Test, Performance] - public unsafe void ConvertMatricesJob() - { - var job = new GLTFast.Jobs.ConvertMatricesJob - { - input = (float4x4*)m_MatrixInput.GetUnsafeReadOnlyPtr(), - result = (float4x4*)m_MatrixOutput.GetUnsafePtr(), - }; - Measure.Method(() => job.Run(m_MatrixOutput.Length)) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - - Assert.AreEqual(k_Reference, m_MatrixOutput[1]); - } - } - - [TestFixture] - public class IndexJobs - { - const int k_IndexLength = 24_000_000; // multiple of 3! - NativeArray m_InputUInt8; - NativeArray m_InputUInt16; - NativeArray m_InputUInt32; - NativeArray m_IndexOutput; - - [OneTimeSetUp] - public void SetUpTest() - { - m_InputUInt8 = new NativeArray(k_IndexLength, Allocator.Persistent); - m_InputUInt16 = new NativeArray(k_IndexLength, Allocator.Persistent); - m_InputUInt32 = new NativeArray(k_IndexLength, Allocator.Persistent); - m_IndexOutput = new NativeArray(k_IndexLength, Allocator.Persistent); - - for (int i = 0; i < 6; i++) - { - m_InputUInt8[i] = (byte)i; - m_InputUInt16[i] = (ushort)i; - m_InputUInt32[i] = (uint)i; - } - } - - [OneTimeTearDown] - public void Cleanup() - { - m_InputUInt8.Dispose(); - m_InputUInt16.Dispose(); - m_InputUInt32.Dispose(); - m_IndexOutput.Dispose(); - } - - [Test, Performance] - public unsafe void CreateIndicesInt32Job() - { - Assert.IsTrue(m_IndexOutput.Length % 3 == 0); - var job = new GLTFast.Jobs.CreateIndicesInt32Job - { - result = (int*)m_IndexOutput.GetUnsafePtr() - }; - Measure.Method(() => job.Run(m_IndexOutput.Length)) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - - [Test, Performance] - public unsafe void CreateIndicesInt32FlippedJob() - { - Assert.IsTrue(m_IndexOutput.Length % 3 == 0); - var job = new GLTFast.Jobs.CreateIndicesInt32FlippedJob - { - result = (int*)m_IndexOutput.GetUnsafePtr() - }; - Measure.Method(() => job.Run(m_IndexOutput.Length)) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - - Assert.AreEqual(2, m_IndexOutput[0]); - Assert.AreEqual(1, m_IndexOutput[1]); - Assert.AreEqual(0, m_IndexOutput[2]); - Assert.AreEqual(5, m_IndexOutput[3]); - Assert.AreEqual(4, m_IndexOutput[4]); - Assert.AreEqual(3, m_IndexOutput[5]); - } - - [Test, Performance] - public unsafe void ConvertIndicesUInt8ToInt32Job() - { - Assert.IsTrue(m_IndexOutput.Length % 3 == 0); - var job = new GLTFast.Jobs.ConvertIndicesUInt8ToInt32Job - { - input = (byte*)m_InputUInt8.GetUnsafeReadOnlyPtr(), - result = (int*)m_IndexOutput.GetUnsafePtr() - }; - Measure.Method(() => job.Run(m_IndexOutput.Length)) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - - [Test, Performance] - public unsafe void ConvertIndicesUInt8ToInt32FlippedJob() - { - Assert.IsTrue(m_IndexOutput.Length % 3 == 0); - var job = new GLTFast.Jobs.ConvertIndicesUInt8ToInt32FlippedJob - { - input = (byte*)m_InputUInt8.GetUnsafeReadOnlyPtr(), - result = (int3*)m_IndexOutput.GetUnsafePtr() - }; - Measure.Method(() => job.Run(m_IndexOutput.Length / 3)) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - - [Test, Performance] - public unsafe void ConvertIndicesUInt16ToInt32FlippedJob() - { - Assert.IsTrue(m_IndexOutput.Length % 3 == 0); - var job = new GLTFast.Jobs.ConvertIndicesUInt16ToInt32FlippedJob - { - input = (ushort*)m_InputUInt16.GetUnsafeReadOnlyPtr(), - result = (int3*)m_IndexOutput.GetUnsafePtr() - }; - Measure.Method(() => job.Run(m_IndexOutput.Length / 3)) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - - [Test, Performance] - public unsafe void ConvertIndicesUInt16ToInt32Job() - { - Assert.IsTrue(m_IndexOutput.Length % 3 == 0); - var job = new GLTFast.Jobs.ConvertIndicesUInt16ToInt32Job - { - input = (ushort*)m_InputUInt16.GetUnsafeReadOnlyPtr(), - result = (int*)m_IndexOutput.GetUnsafePtr() - }; - Measure.Method(() => job.Run(m_IndexOutput.Length)) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - - [Test, Performance] - public unsafe void ConvertIndicesUInt32ToInt32Job() - { - Assert.IsTrue(m_IndexOutput.Length % 3 == 0); - var job = new GLTFast.Jobs.ConvertIndicesUInt32ToInt32Job - { - input = (uint*)m_InputUInt32.GetUnsafeReadOnlyPtr(), - result = (int*)m_IndexOutput.GetUnsafePtr() - }; - Measure.Method(() => job.Run(m_IndexOutput.Length)) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - - [Test, Performance] - public unsafe void ConvertIndicesUInt32ToInt32FlippedJob() - { - Assert.IsTrue(m_IndexOutput.Length % 3 == 0); - var job = new GLTFast.Jobs.ConvertIndicesUInt32ToInt32FlippedJob - { - input = (uint*)m_InputUInt32.GetUnsafeReadOnlyPtr(), - result = (int3*)m_IndexOutput.GetUnsafePtr() - }; - Measure.Method(() => job.Run(m_IndexOutput.Length / 3)) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - } - - [TestFixture] - public class ScalarJobs - { - const int k_ScalarLength = 5_000_000; - NativeArray m_InputInt8; - NativeArray m_InputUInt8; - NativeArray m_InputInt16; - NativeArray m_InputUInt16; - NativeArray m_ScalarOutput; - - [OneTimeSetUp] - public void SetUpTest() - { - m_InputInt8 = new NativeArray(k_ScalarLength, Allocator.Persistent); - m_InputUInt8 = new NativeArray(k_ScalarLength, Allocator.Persistent); - m_InputInt16 = new NativeArray(k_ScalarLength, Allocator.Persistent); - m_InputUInt16 = new NativeArray(k_ScalarLength, Allocator.Persistent); - m_ScalarOutput = new NativeArray(k_ScalarLength, Allocator.Persistent); - - m_InputInt8[0] = sbyte.MaxValue; - m_InputUInt8[0] = byte.MaxValue; - m_InputInt16[0] = short.MaxValue; - m_InputUInt16[0] = ushort.MaxValue; - - m_InputInt8[1] = 0; - m_InputUInt8[1] = 0; - m_InputInt16[1] = 0; - m_InputUInt16[1] = 0; - - m_InputInt8[2] = sbyte.MinValue; - m_InputUInt8[2] = byte.MinValue; - m_InputInt16[2] = short.MinValue; - m_InputUInt16[2] = ushort.MinValue; - - m_InputInt8[3] = sbyte.MaxValue / 2; - m_InputUInt8[3] = byte.MaxValue / 2; - m_InputInt16[3] = short.MaxValue / 2; - m_InputUInt16[3] = ushort.MaxValue / 2; - } - - [OneTimeTearDown] - public void Cleanup() - { - m_InputInt8.Dispose(); - m_InputUInt8.Dispose(); - m_InputInt16.Dispose(); - m_InputUInt16.Dispose(); - m_ScalarOutput.Dispose(); - } - - [Test, Performance] - public unsafe void ConvertScalarInt8ToFloatNormalizedJob() - { - var job = new GLTFast.Jobs.ConvertScalarInt8ToFloatNormalizedJob - { - input = (sbyte*)m_InputInt8.GetUnsafeReadOnlyPtr(), - result = m_ScalarOutput, - }; - Measure.Method(() => job.Run(m_ScalarOutput.Length)) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - - [Test, Performance] - public unsafe void ConvertScalarUInt8ToFloatNormalizedJob() - { - var job = new GLTFast.Jobs.ConvertScalarUInt8ToFloatNormalizedJob - { - input = (byte*)m_InputUInt8.GetUnsafeReadOnlyPtr(), - result = m_ScalarOutput, - }; - Measure.Method(() => job.Run(m_ScalarOutput.Length)) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - - [Test, Performance] - public unsafe void ConvertScalarInt16ToFloatNormalizedJob() - { - var job = new GLTFast.Jobs.ConvertScalarInt16ToFloatNormalizedJob - { - input = (short*)m_InputInt16.GetUnsafeReadOnlyPtr(), - result = m_ScalarOutput, - }; - Measure.Method(() => job.Run(m_ScalarOutput.Length)) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - - [Test, Performance] - public unsafe void ConvertScalarUInt16ToFloatNormalizedJob() - { - var job = new GLTFast.Jobs.ConvertScalarUInt16ToFloatNormalizedJob - { - input = (ushort*)m_InputUInt16.GetUnsafeReadOnlyPtr(), - result = m_ScalarOutput, - }; - Measure.Method(() => job.Run(m_ScalarOutput.Length)) - .WarmupCount(1) - .MeasurementCount(Constants.measureCount) - .IterationsPerMeasurement(Constants.iterationsPerMeasurement) - .Run(); - } - } -} -#endif // UNITY_PERFORMANCE_TESTS diff --git a/Tests/Runtime/Scripts/Performance/JobPerformanceTests.cs.meta b/Tests/Runtime/Scripts/Performance/JobPerformanceTests.cs.meta deleted file mode 100644 index 2df54e9fc..000000000 --- a/Tests/Runtime/Scripts/Performance/JobPerformanceTests.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 0dfc6de11365943e09dba3b4f9e16e11 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts/Performance/glTFast.Tests.Performance.asmref b/Tests/Runtime/Scripts/Performance/glTFast.Tests.Performance.asmref deleted file mode 100644 index acd721997..000000000 --- a/Tests/Runtime/Scripts/Performance/glTFast.Tests.Performance.asmref +++ /dev/null @@ -1,3 +0,0 @@ -{ - "reference": "GUID:7897e000c47a54a4c8a8a7345af3c565" -} \ No newline at end of file diff --git a/Tests/Runtime/Scripts/Performance/glTFast.Tests.Performance.asmref.meta b/Tests/Runtime/Scripts/Performance/glTFast.Tests.Performance.asmref.meta deleted file mode 100644 index 24127433b..000000000 --- a/Tests/Runtime/Scripts/Performance/glTFast.Tests.Performance.asmref.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 88b101cca8e39421db96e0adb67e6ee1 -AssemblyDefinitionReferenceImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts/UriHelperTest.cs b/Tests/Runtime/Scripts/UriHelperTest.cs deleted file mode 100644 index d8e8acfe0..000000000 --- a/Tests/Runtime/Scripts/UriHelperTest.cs +++ /dev/null @@ -1,247 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using System; -using System.IO; -using NUnit.Framework; -using UnityEngine; -using UnityEngine.Profiling; - -namespace GLTFast.Tests -{ - class UriHelperTest - { - static Uri[] s_Glb = { - new Uri("file.glb",UriKind.RelativeOrAbsolute), - new Uri("file:///dir/sub/file.glb",UriKind.RelativeOrAbsolute), - new Uri("http://www.server.com/dir/sub/file.glb",UriKind.RelativeOrAbsolute), - new Uri("http://www.server.com/dir/sub/file.glb",UriKind.RelativeOrAbsolute), - new Uri("http://www.server.com/dir/sub/file.glb?a=123&b=234",UriKind.RelativeOrAbsolute), - }; - static Uri[] s_Gltf = { - new Uri("file.gltf",UriKind.RelativeOrAbsolute), - new Uri("file:///dir/sub/file.gltf",UriKind.RelativeOrAbsolute), - new Uri("http://www.server.com/dir/sub/file.gltf",UriKind.RelativeOrAbsolute), - new Uri("http://www.server.com/dir/sub/file.gltf",UriKind.RelativeOrAbsolute), - new Uri("http://www.server.com/dir/sub/file.gltf?a=123&b=234",UriKind.RelativeOrAbsolute), - }; - static Uri[] s_Unknown = { - new Uri("f",UriKind.RelativeOrAbsolute), - new Uri("file:///dir/sub/f",UriKind.RelativeOrAbsolute), - new Uri("http://www.server.com/dir/sub/f",UriKind.RelativeOrAbsolute), - new Uri("http://www.server.com/dir/sub/f",UriKind.RelativeOrAbsolute), - new Uri("http://www.server.com/dir/sub/f?a=123&b=234)",UriKind.RelativeOrAbsolute), - }; - - [Test] - public void GetBaseUriTest() - { - - // relative file URI - Assert.AreEqual(new Uri("", UriKind.RelativeOrAbsolute), UriHelper.GetBaseUri(new Uri("file.gltf", UriKind.Relative))); - - // HTTP(s) gltf - Assert.AreEqual(new Uri("http://www.server.com/dir/sub/"), UriHelper.GetBaseUri(new Uri("http://www.server.com/dir/sub/file.gltf"))); - Assert.AreEqual(new Uri("https://www.server.com/dir/sub/"), UriHelper.GetBaseUri(new Uri("https://www.server.com/dir/sub/file.gltf"))); - Assert.AreEqual(new Uri("http://www.server.com/dir/sub/"), UriHelper.GetBaseUri(new Uri("http://www.server.com/dir/sub/file.gltf?a=123&b=456"))); - Assert.AreEqual(new Uri("https://www.server.com/dir/sub/"), UriHelper.GetBaseUri(new Uri("https://www.server.com/dir/sub/file.gltf?a=123&b=456"))); - // HTTP(s) glb - Assert.AreEqual(new Uri("http://www.server.com/dir/sub/"), UriHelper.GetBaseUri(new Uri("http://www.server.com/dir/sub/file.glb"))); - Assert.AreEqual(new Uri("https://www.server.com/dir/sub/"), UriHelper.GetBaseUri(new Uri("https://www.server.com/dir/sub/file.glb"))); - Assert.AreEqual(new Uri("http://www.server.com/dir/sub/"), UriHelper.GetBaseUri(new Uri("http://www.server.com/dir/sub/file.glb?a=123&b=456"))); - Assert.AreEqual(new Uri("https://www.server.com/dir/sub/"), UriHelper.GetBaseUri(new Uri("https://www.server.com/dir/sub/file.glb?a=123&b=456"))); - // HTTP(s) none - Assert.AreEqual(new Uri("http://www.server.com/dir/sub/"), UriHelper.GetBaseUri(new Uri("http://www.server.com/dir/sub/file"))); - Assert.AreEqual(new Uri("https://www.server.com/dir/sub/"), UriHelper.GetBaseUri(new Uri("https://www.server.com/dir/sub/file"))); - Assert.AreEqual(new Uri("http://www.server.com/dir/sub/"), UriHelper.GetBaseUri(new Uri("http://www.server.com/dir/sub/file?a=123&b=456"))); - Assert.AreEqual(new Uri("https://www.server.com/dir/sub/"), UriHelper.GetBaseUri(new Uri("https://www.server.com/dir/sub/file?a=123&b=456"))); - - // file paths - Assert.AreEqual(new Uri("file:///dir/sub/"), UriHelper.GetBaseUri(new Uri("file:///dir/sub/file.gltf"))); - Assert.AreEqual(new Uri(@"file://c:\dir\sub\"), UriHelper.GetBaseUri(new Uri(@"c:\dir\sub\file.gltf"))); - - // special char `+` - Assert.AreEqual(new Uri("https://www.server.com/dir/sub/"), UriHelper.GetBaseUri(new Uri("https://www.server.com/dir/sub/file+test.gltf"))); - Assert.AreEqual(new Uri("file:///dir/sub/"), UriHelper.GetBaseUri(new Uri("file:///dir/sub/file+test.gltf"))); - - // Android paths - Assert.AreEqual(new Uri("jar:file:///dir/sub/"), UriHelper.GetBaseUri(new Uri("jar:file:///dir/sub/file.gltf"))); - - // relative paths - var uri = new Uri("Assets/Some/Path/asset.glb", UriKind.Relative); - var sep = Path.DirectorySeparatorChar; - Assert.AreEqual(new Uri($"Assets{sep}Some{sep}Path", UriKind.Relative), UriHelper.GetBaseUri(uri)); - } - - [Test] - public void GetBaseUriNonWindowsTest() - { - switch (Application.platform) - { - case RuntimePlatform.WindowsPlayer: - case RuntimePlatform.WindowsEditor: - Assert.Ignore("Absolute POSIX paths result in System.UriFormatException on Microsoft platforms."); - return; - } - // file paths - Assert.AreEqual(new Uri("file:///dir/sub/"), UriHelper.GetBaseUri(new Uri("/dir/sub/file.gltf"))); - } - - [Test] - public void GetUriStringTest() - { - var baseUri = new Uri("http://www.server.com/dir/sub/"); - - Assert.AreEqual( - "file+test.gltf", - UriHelper.GetUriString("file+test.gltf", null).ToString() - ); - Assert.AreEqual( - "http://www.server.com/dir/sub/file+test.gltf", - UriHelper.GetUriString("file+test.gltf", baseUri).ToString() - ); - Assert.AreEqual( - "http://www.server.com/dir/sub/sub2/sub3/file+test.gltf", - UriHelper.GetUriString("sub2/sub3/file+test.gltf", baseUri).ToString() - ); - Assert.AreEqual( - "http://www.server.com/dir/sub/file.gltf", - UriHelper.GetUriString("./file.gltf", baseUri).ToString() - ); - Assert.AreEqual( - "http://www.server.com/dir/file.gltf", - UriHelper.GetUriString("../file.gltf", baseUri).ToString() - ); - Assert.AreEqual( - "http://www.server.com/dir/x/file.gltf", - UriHelper.GetUriString("../x/file.gltf", baseUri).ToString() - ); - Assert.AreEqual( - "http://www.server.com/dir/other_folder/texture.png", - UriHelper.GetUriString("../other_folder/texture.png", baseUri).ToString() - ); - Assert.AreEqual( - "http://www.server.com/dir/sub/asset.glb", - UriHelper.GetUriString("asset.glb", baseUri).ToString() - ); - Assert.AreEqual( - "http://www.server.com/other_folder/texture.png", - UriHelper.GetUriString("../../../../other_folder/texture.png", baseUri).ToString() - ); - Assert.AreEqual("http://www.server.com/dir/sub/", baseUri.ToString()); - - var sep = Path.DirectorySeparatorChar; - var relBaseUri = new Uri($"Assets{sep}Some{sep}Path", UriKind.Relative); - Assert.AreEqual( - $"Assets{sep}Some{sep}Path{sep}asset.glb", - UriHelper.GetUriString("asset.glb", relBaseUri).ToString() - ); - Assert.AreEqual( - $"Assets{sep}Some{sep}other_folder{sep}texture.png", - UriHelper.GetUriString($"..{sep}other_folder{sep}texture.png", relBaseUri).ToString() - ); - Assert.AreEqual( - $"other_folder{sep}texture.png", - UriHelper.GetUriString($"..{sep}..{sep}..{sep}other_folder{sep}texture.png", relBaseUri).ToString() - ); - Assert.AreEqual( - $"other_folder{sep}texture.png", - UriHelper.GetUriString($"..{sep}..{sep}..{sep}..{sep}other_folder{sep}texture.png", relBaseUri).ToString() - ); - Assert.AreEqual( - new Uri($"Assets{sep}Some{sep}Path", UriKind.Relative), - relBaseUri - ); - } - - [Test] - public void RemoveDotSegments() - { - var sep = Path.DirectorySeparatorChar; - var s = UriHelper.RemoveDotSegments("file.txt", out var parentLevels); - Assert.AreEqual("file.txt", s); - Assert.AreEqual(0, parentLevels); - - s = UriHelper.RemoveDotSegments("../other_folder/file.txt", out parentLevels); - Assert.AreEqual($"other_folder{sep}file.txt", s); - Assert.AreEqual(1, parentLevels); - - s = UriHelper.RemoveDotSegments("other_folder/../file.txt", out parentLevels); - Assert.AreEqual("file.txt", s); - Assert.AreEqual(0, parentLevels); - - s = UriHelper.RemoveDotSegments("other_folder/./file.txt", out parentLevels); - Assert.AreEqual($"other_folder{sep}file.txt", s); - Assert.AreEqual(0, parentLevels); - - s = UriHelper.RemoveDotSegments("other_folder/./../x/../file.txt", out parentLevels); - Assert.AreEqual("file.txt", s); - Assert.AreEqual(0, parentLevels); - - s = UriHelper.RemoveDotSegments("../other_folder/../x/../file.txt", out parentLevels); - Assert.AreEqual("file.txt", s); - Assert.AreEqual(1, parentLevels); - } - - [Test] - public void IsGltfBinaryTest() - { - Profiler.BeginSample("IsGltfBinaryProfile"); - for (int i = 0; i < 1000; i++) - { - for (int j = 0; j < s_Glb.Length; j++) - { - Profiler.BeginSample("IsGltfBinaryUriTrue"); - Assert.IsTrue(UriHelper.IsGltfBinary(s_Glb[j])); - Profiler.EndSample(); - } - for (int j = 0; j < s_Gltf.Length; j++) - { - Profiler.BeginSample("IsGltfBinaryUriFalse"); - Assert.IsFalse(UriHelper.IsGltfBinary(s_Gltf[j])); - Profiler.EndSample(); - } - for (int j = 0; j < s_Unknown.Length; j++) - { - Profiler.BeginSample("IsGltfBinaryUriUnknown"); - Assert.IsNull(UriHelper.IsGltfBinary(s_Unknown[j])); - Profiler.EndSample(); - } - } - Profiler.EndSample(); - } - - [Test] - public void GetImageFormatFromUriTest() - { - Assert.AreEqual(ImageFormat.Unknown, UriHelper.GetImageFormatFromUri(null)); // shortest path - Assert.AreEqual(ImageFormat.Unknown, UriHelper.GetImageFormatFromUri("")); // shortest path - Assert.AreEqual(ImageFormat.Unknown, UriHelper.GetImageFormatFromUri("f")); // shortest path - - Assert.AreEqual(ImageFormat.Jpeg, UriHelper.GetImageFormatFromUri("f.jpg")); // shortest path - Assert.AreEqual(ImageFormat.Jpeg, UriHelper.GetImageFormatFromUri("file:///Some/Path/file.jpg")); - Assert.AreEqual(ImageFormat.Jpeg, UriHelper.GetImageFormatFromUri("http://server.com/some.Path/file.jpg")); - Assert.AreEqual(ImageFormat.Jpeg, UriHelper.GetImageFormatFromUri("https://server.com/some.Path/file.jpg?key=value.with.dots&otherkey=val&arrval[]=x")); - - Assert.AreEqual(ImageFormat.Jpeg, UriHelper.GetImageFormatFromUri("f.jpeg")); // shortest path - Assert.AreEqual(ImageFormat.Jpeg, UriHelper.GetImageFormatFromUri("file:///Some/Path/file.jpeg")); - Assert.AreEqual(ImageFormat.Jpeg, UriHelper.GetImageFormatFromUri("http://server.com/some.Path/file.jpeg")); - Assert.AreEqual(ImageFormat.Jpeg, UriHelper.GetImageFormatFromUri("https://server.com/some.Path/file.jpeg?key=value.with.dots&otherkey=val&arrval[]=x")); - - Assert.AreEqual(ImageFormat.PNG, UriHelper.GetImageFormatFromUri("f.png")); // shortest path - Assert.AreEqual(ImageFormat.PNG, UriHelper.GetImageFormatFromUri("file:///Some/Path/file.png")); - Assert.AreEqual(ImageFormat.PNG, UriHelper.GetImageFormatFromUri("http://server.com/some.Path/file.png")); - Assert.AreEqual(ImageFormat.PNG, UriHelper.GetImageFormatFromUri("https://server.com/some.Path/file.png?key=value.with.dots&otherkey=val&arrval[]=x")); - - Assert.AreEqual(ImageFormat.Ktx, UriHelper.GetImageFormatFromUri("f.ktx")); // shortest path - Assert.AreEqual(ImageFormat.Ktx, UriHelper.GetImageFormatFromUri("file:///Some/Path/file.ktx")); - Assert.AreEqual(ImageFormat.Ktx, UriHelper.GetImageFormatFromUri("http://server.com/some.Path/file.ktx")); - Assert.AreEqual(ImageFormat.Ktx, UriHelper.GetImageFormatFromUri("https://server.com/some.Path/file.ktx?key=value.with.dots&otherkey=val&arrval[]=x")); - - Assert.AreEqual(ImageFormat.Ktx, UriHelper.GetImageFormatFromUri("f.ktx2")); // shortest path - Assert.AreEqual(ImageFormat.Ktx, UriHelper.GetImageFormatFromUri("file:///Some/Path/file.ktx2")); - Assert.AreEqual(ImageFormat.Ktx, UriHelper.GetImageFormatFromUri("http://server.com/some.Path/file.ktx2")); - Assert.AreEqual(ImageFormat.Ktx, UriHelper.GetImageFormatFromUri("https://server.com/some.Path/file.ktx2?key=value.with.dots&otherkey=val&arrval[]=x")); - } - } -} diff --git a/Tests/Runtime/Scripts/UriHelperTest.cs.meta b/Tests/Runtime/Scripts/UriHelperTest.cs.meta deleted file mode 100644 index 01593345a..000000000 --- a/Tests/Runtime/Scripts/UriHelperTest.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: e11bdc5feecc347829448c73e80e193f -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts/Utils.cs b/Tests/Runtime/Scripts/Utils.cs deleted file mode 100644 index 88a8c6cc5..000000000 --- a/Tests/Runtime/Scripts/Utils.cs +++ /dev/null @@ -1,112 +0,0 @@ -// SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using System; -using System.Collections; -using System.Threading.Tasks; -using NUnit.Framework; -using Unity.Mathematics; -using UnityEngine; - -namespace GLTFast.Tests -{ - static class Utils - { - - /// - /// Wraps a in an . - /// - /// The async Task to wait form - /// Optional timeout in seconds - /// IEnumerator - /// - /// Thrown when a timout was set and the task took too long - public static IEnumerator WaitForTask(Task task, float timeout = -1) - { - var startTime = Time.realtimeSinceStartup; - - void CheckExceptionAndTimeout() - { - if (task.Exception != null) - throw task.Exception; - if (timeout > 0 && Time.realtimeSinceStartup - startTime > timeout) - { - throw new System.TimeoutException(); - } - } - while (!task.IsCompleted) - { - CheckExceptionAndTimeout(); - yield return null; - } - - CheckExceptionAndTimeout(); - } - - public static void AssertNearOrEqual(float4 reference, float4 value, float epsilon = float.Epsilon) - { - var delta = math.abs(reference - value); - var maxDelta = math.max(delta.x, math.max(delta.y, math.max(delta.z, delta.w))); - if (maxDelta > epsilon) - { - throw new AssertionException($"float4 not equal. expected {reference} got {value} (delta {maxDelta})"); - } - } - - public static void AssertNearOrEqual(float3 reference, float3 value, float epsilon = float.Epsilon) - { - var delta = math.abs(reference - value); - var maxDelta = math.max(delta.x, math.max(delta.y, delta.z)); - if (maxDelta > epsilon) - { - throw new AssertionException($"float3 not equal. expected {reference} got {value} (delta {maxDelta})"); - } - } - - public static void AssertNearOrEqual(float2 reference, float2 value, float epsilon = float.Epsilon) - { - var delta = math.abs(reference - value); - var maxDelta = math.max(delta.x, delta.y); - if (maxDelta > epsilon) - { - throw new AssertionException($"float2 not equal. expected {reference} got {value} (delta {maxDelta})"); - } - } - - public static void AssertNearOrEqual(float reference, float value, float epsilon = float.Epsilon) - { - var delta = math.abs(reference - value); - if (delta > epsilon) - { - throw new AssertionException($"float not equal. expected {reference} got {value} (delta {delta})"); - } - } - - public static void AssertNearOrEqual(Color reference, Color value, float epsilon = float.Epsilon) - { - AssertNearOrEqual( - new float4(reference.r, reference.g, reference.b, reference.a), - new float4(value.r, value.g, value.b, value.a), - epsilon - ); - } - - public static void AssertNearOrEqual(Color reference, float4 value, float epsilon = float.Epsilon) - { - AssertNearOrEqual( - new float4(reference.r, reference.g, reference.b, reference.a), - value, - epsilon - ); - } - - public static void AssertNearOrEqual(uint4 reference, uint4 value) - { - var b = reference != value; - if (b.x || b.y || b.z || b.w) - { - throw new AssertionException($"float4 not equal. expected {reference} got {value}"); - } - } - } -} diff --git a/Tests/Runtime/Scripts/Utils.cs.meta b/Tests/Runtime/Scripts/Utils.cs.meta deleted file mode 100644 index d37530b11..000000000 --- a/Tests/Runtime/Scripts/Utils.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: c06ae487c51924137ab3c3c7041eb4d2 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/Scripts/glTFast.Tests.asmdef b/Tests/Runtime/Scripts/glTFast.Tests.asmdef deleted file mode 100644 index d432d90a3..000000000 --- a/Tests/Runtime/Scripts/glTFast.Tests.asmdef +++ /dev/null @@ -1,92 +0,0 @@ -{ - "name": "glTFast.Tests", - "rootNamespace": "GLTFast.Tests", - "references": [ - "UnityEngine.TestRunner", - "Unity.Burst", - "Unity.Collections", - "Unity.Mathematics", - "Unity.PerformanceTesting", - "com.unity.formats.gltf.validator.Editor", - "glTFast", - "glTFast.Export", - "glTFast.Newtonsoft", - "Unity.Meshopt.Decompress", - "Unity.RenderPipelines.HighDefinition.Runtime" - ], - "includePlatforms": [], - "excludePlatforms": [], - "allowUnsafeCode": true, - "overrideReferences": true, - "precompiledReferences": [ - "nunit.framework.dll", - "Newtonsoft.Json.dll" - ], - "autoReferenced": false, - "defineConstraints": [ - "UNITY_INCLUDE_TESTS" - ], - "versionDefines": [ - { - "name": "com.unity.formats.gltf.validator", - "expression": "", - "define": "GLTF_VALIDATOR" - }, - { - "name": "com.unity.meshopt.decompress", - "expression": "", - "define": "MESHOPT" - }, - { - "name": "com.unity.nuget.newtonsoft-json", - "expression": "", - "define": "NEWTONSOFT_JSON" - }, - { - "name": "com.unity.modules.animation", - "expression": "", - "define": "UNITY_ANIMATION" - }, - { - "name": "com.unity.render-pipelines.high-definition", - "expression": "", - "define": "USING_HDRP" - }, - { - "name": "com.unity.cloud.draco", - "expression": "5", - "define": "DRACO_UNITY" - }, - { - "name": "com.unity.cloud.ktx", - "expression": "3", - "define": "KTX_UNITY" - }, - { - "name": "com.unity.test-framework.performance", - "expression": "3", - "define": "UNITY_PERFORMANCE_TESTS" - }, - { - "name": "com.unity.modules.imageconversion", - "expression": "", - "define": "UNITY_IMAGECONVERSION" - }, - { - "name": "com.unity.shadergraph", - "expression": "", - "define": "UNITY_SHADER_GRAPH" - }, - { - "name": "com.unity.render-pipelines.universal", - "expression": "", - "define": "USING_URP" - }, - { - "name": "com.unity.render-pipelines.universal", - "expression": "12", - "define": "USING_URP_12_OR_NEWER" - } - ], - "noEngineReferences": false -} \ No newline at end of file diff --git a/Tests/Runtime/Scripts/glTFast.Tests.asmdef.meta b/Tests/Runtime/Scripts/glTFast.Tests.asmdef.meta deleted file mode 100644 index c5b611b73..000000000 --- a/Tests/Runtime/Scripts/glTFast.Tests.asmdef.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 7897e000c47a54a4c8a8a7345af3c565 -AssemblyDefinitionImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/TestCaseSets.meta b/Tests/Runtime/TestCaseSets.meta deleted file mode 100644 index 7ada9e234..000000000 --- a/Tests/Runtime/TestCaseSets.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 0d8d35f89514845d5b2181c03d0c466c -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/TestCaseSets/glTF-Sample-Assets-birp.shadervariants b/Tests/Runtime/TestCaseSets/glTF-Sample-Assets-birp.shadervariants deleted file mode 100644 index 0d7d1278a..000000000 --- a/Tests/Runtime/TestCaseSets/glTF-Sample-Assets-birp.shadervariants +++ /dev/null @@ -1,289 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!200 &20000000 -ShaderVariantCollection: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: glTF-Sample-Assets-birp - m_Shaders: - - first: {fileID: 4800000, guid: 4340a3cf1cde6416d957808a6ac79eed, type: 3} - second: - variants: - - keywords: - passType: 0 - - keywords: BILLBOARD_FACE_CAMERA_POS UNITY_HDR_ON - passType: 0 - - keywords: _TEXTURE_TRANSFORM - passType: 0 - - first: {fileID: 4800000, guid: f853aafa0bc764a138f572608a37a73c, type: 3} - second: - variants: - - keywords: DIRECTIONAL LIGHTPROBE_SH - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH VERTEXLIGHT_ON - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH _EMISSION _NORMALMAP _OCCLUSION _SPECGLOSSMAP - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH VERTEXLIGHT_ON _EMISSION _NORMALMAP _OCCLUSION - _SPECGLOSSMAP - passType: 4 - - keywords: POINT - passType: 5 - - keywords: POINT _NORMALMAP _OCCLUSION _SPECGLOSSMAP - passType: 5 - - keywords: - passType: 8 - - keywords: SHADOWS_DEPTH _OCCLUSION _SPECGLOSSMAP - passType: 8 - - first: {fileID: 4800000, guid: 99fa998bbbed3408aafa652b466d261d, type: 3} - second: - variants: - - keywords: DIRECTIONAL LIGHTPROBE_SH SHADOWS_SCREEN - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH _EMISSION - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH VERTEXLIGHT_ON _EMISSION - passType: 4 - - keywords: DIRECTIONAL INSTANCING_ON LIGHTPROBE_SH - passType: 4 - - keywords: DIRECTIONAL INSTANCING_ON LIGHTPROBE_SH VERTEXLIGHT_ON - passType: 4 - - keywords: BILLBOARD_FACE_CAMERA_POS DIRECTIONAL LIGHTPROBE_SH UNITY_HDR_ON - passType: 4 - - keywords: BILLBOARD_FACE_CAMERA_POS DIRECTIONAL LIGHTPROBE_SH UNITY_HDR_ON - VERTEXLIGHT_ON - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH _NORMALMAP - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH VERTEXLIGHT_ON _NORMALMAP - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH _ALPHATEST_ON - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH _ALPHATEST_ON _EMISSION - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH VERTEXLIGHT_ON _ALPHATEST_ON - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH VERTEXLIGHT_ON _ALPHATEST_ON _EMISSION - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH _ALPHABLEND_ON - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH VERTEXLIGHT_ON _ALPHABLEND_ON - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH _ALPHABLEND_ON _NORMALMAP - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH VERTEXLIGHT_ON _ALPHABLEND_ON _NORMALMAP - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH _ALPHAPREMULTIPLY_ON - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH VERTEXLIGHT_ON _ALPHAPREMULTIPLY_ON - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH _METALLICGLOSSMAP - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH VERTEXLIGHT_ON _METALLICGLOSSMAP - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH _METALLICGLOSSMAP _NORMALMAP - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH _EMISSION _METALLICGLOSSMAP _NORMALMAP - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH VERTEXLIGHT_ON _METALLICGLOSSMAP _NORMALMAP - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH VERTEXLIGHT_ON _EMISSION _METALLICGLOSSMAP - _NORMALMAP - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH _ALPHATEST_ON _METALLICGLOSSMAP - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH VERTEXLIGHT_ON _ALPHATEST_ON _METALLICGLOSSMAP - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH _ALPHATEST_ON _METALLICGLOSSMAP _NORMALMAP - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH VERTEXLIGHT_ON _ALPHATEST_ON _METALLICGLOSSMAP - _NORMALMAP - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH _ALPHABLEND_ON _METALLICGLOSSMAP - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH VERTEXLIGHT_ON _ALPHABLEND_ON _METALLICGLOSSMAP - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH _ALPHABLEND_ON _METALLICGLOSSMAP _NORMALMAP - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH VERTEXLIGHT_ON _ALPHABLEND_ON _METALLICGLOSSMAP - _NORMALMAP - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH _ALPHAPREMULTIPLY_ON _METALLICGLOSSMAP - _NORMALMAP - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH VERTEXLIGHT_ON _ALPHAPREMULTIPLY_ON _METALLICGLOSSMAP - _NORMALMAP - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH _OCCLUSION - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH VERTEXLIGHT_ON _OCCLUSION - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH _NORMALMAP _OCCLUSION - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH VERTEXLIGHT_ON _NORMALMAP _OCCLUSION - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH _ALPHAPREMULTIPLY_ON _OCCLUSION - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH VERTEXLIGHT_ON _ALPHAPREMULTIPLY_ON _OCCLUSION - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH _METALLICGLOSSMAP _OCCLUSION - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH VERTEXLIGHT_ON _METALLICGLOSSMAP _OCCLUSION - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH _METALLICGLOSSMAP _NORMALMAP _OCCLUSION - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH _EMISSION _METALLICGLOSSMAP _NORMALMAP - _OCCLUSION - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH VERTEXLIGHT_ON _METALLICGLOSSMAP _NORMALMAP - _OCCLUSION - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH VERTEXLIGHT_ON _EMISSION _METALLICGLOSSMAP - _NORMALMAP _OCCLUSION - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH _ALPHATEST_ON _METALLICGLOSSMAP _NORMALMAP - _OCCLUSION - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH VERTEXLIGHT_ON _ALPHATEST_ON _METALLICGLOSSMAP - _NORMALMAP _OCCLUSION - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH _ALPHAPREMULTIPLY_ON _METALLICGLOSSMAP - _OCCLUSION - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH VERTEXLIGHT_ON _ALPHAPREMULTIPLY_ON _METALLICGLOSSMAP - _OCCLUSION - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH _TEXTURE_TRANSFORM - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH _EMISSION _TEXTURE_TRANSFORM - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH VERTEXLIGHT_ON _TEXTURE_TRANSFORM - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH VERTEXLIGHT_ON _EMISSION _TEXTURE_TRANSFORM - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH _NORMALMAP _TEXTURE_TRANSFORM - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH VERTEXLIGHT_ON _NORMALMAP _TEXTURE_TRANSFORM - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH _METALLICGLOSSMAP _TEXTURE_TRANSFORM - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH VERTEXLIGHT_ON _METALLICGLOSSMAP _TEXTURE_TRANSFORM - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH _OCCLUSION _TEXTURE_TRANSFORM - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH VERTEXLIGHT_ON _OCCLUSION _TEXTURE_TRANSFORM - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH _NORMALMAP _OCCLUSION _TEXTURE_TRANSFORM - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH VERTEXLIGHT_ON _NORMALMAP _OCCLUSION - _TEXTURE_TRANSFORM - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH _METALLICGLOSSMAP _OCCLUSION _TEXTURE_TRANSFORM - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH VERTEXLIGHT_ON _METALLICGLOSSMAP _OCCLUSION - _TEXTURE_TRANSFORM - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH _METALLICGLOSSMAP _NORMALMAP _OCCLUSION - _TEXTURE_TRANSFORM - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH VERTEXLIGHT_ON _METALLICGLOSSMAP _NORMALMAP - _OCCLUSION _TEXTURE_TRANSFORM - passType: 4 - - keywords: POINT - passType: 5 - - keywords: BILLBOARD_FACE_CAMERA_POS DIRECTIONAL UNITY_HDR_ON - passType: 5 - - keywords: POINT _NORMALMAP - passType: 5 - - keywords: POINT _ALPHATEST_ON - passType: 5 - - keywords: POINT _ALPHABLEND_ON - passType: 5 - - keywords: POINT _ALPHABLEND_ON _NORMALMAP - passType: 5 - - keywords: POINT _ALPHAPREMULTIPLY_ON - passType: 5 - - keywords: POINT _METALLICGLOSSMAP - passType: 5 - - keywords: POINT _METALLICGLOSSMAP _NORMALMAP - passType: 5 - - keywords: POINT _ALPHATEST_ON _METALLICGLOSSMAP - passType: 5 - - keywords: POINT _ALPHATEST_ON _METALLICGLOSSMAP _NORMALMAP - passType: 5 - - keywords: POINT _ALPHABLEND_ON _METALLICGLOSSMAP - passType: 5 - - keywords: POINT _ALPHABLEND_ON _METALLICGLOSSMAP _NORMALMAP - passType: 5 - - keywords: POINT _ALPHAPREMULTIPLY_ON _METALLICGLOSSMAP _NORMALMAP - passType: 5 - - keywords: POINT _OCCLUSION - passType: 5 - - keywords: POINT _NORMALMAP _OCCLUSION - passType: 5 - - keywords: POINT _ALPHAPREMULTIPLY_ON _OCCLUSION - passType: 5 - - keywords: POINT _METALLICGLOSSMAP _OCCLUSION - passType: 5 - - keywords: POINT _METALLICGLOSSMAP _NORMALMAP _OCCLUSION - passType: 5 - - keywords: POINT _ALPHATEST_ON _METALLICGLOSSMAP _NORMALMAP _OCCLUSION - passType: 5 - - keywords: POINT _ALPHAPREMULTIPLY_ON _METALLICGLOSSMAP _OCCLUSION - passType: 5 - - keywords: POINT _TEXTURE_TRANSFORM - passType: 5 - - keywords: POINT _NORMALMAP _TEXTURE_TRANSFORM - passType: 5 - - keywords: POINT _METALLICGLOSSMAP _TEXTURE_TRANSFORM - passType: 5 - - keywords: POINT _OCCLUSION _TEXTURE_TRANSFORM - passType: 5 - - keywords: POINT _NORMALMAP _OCCLUSION _TEXTURE_TRANSFORM - passType: 5 - - keywords: POINT _METALLICGLOSSMAP _OCCLUSION _TEXTURE_TRANSFORM - passType: 5 - - keywords: POINT _METALLICGLOSSMAP _NORMALMAP _OCCLUSION _TEXTURE_TRANSFORM - passType: 5 - - keywords: - passType: 8 - - keywords: SHADOWS_DEPTH - passType: 8 - - keywords: INSTANCING_ON SHADOWS_DEPTH - passType: 8 - - keywords: SHADOWS_DEPTH _ALPHATEST_ON - passType: 8 - - keywords: SHADOWS_DEPTH _ALPHABLEND_ON - passType: 8 - - keywords: SHADOWS_DEPTH _ALPHAPREMULTIPLY_ON - passType: 8 - - keywords: SHADOWS_DEPTH _METALLICGLOSSMAP - passType: 8 - - keywords: SHADOWS_DEPTH _ALPHATEST_ON _METALLICGLOSSMAP - passType: 8 - - keywords: SHADOWS_DEPTH _ALPHABLEND_ON _METALLICGLOSSMAP - passType: 8 - - keywords: SHADOWS_DEPTH _ALPHAPREMULTIPLY_ON _METALLICGLOSSMAP - passType: 8 - - keywords: SHADOWS_DEPTH _OCCLUSION - passType: 8 - - keywords: SHADOWS_DEPTH _ALPHAPREMULTIPLY_ON _OCCLUSION - passType: 8 - - keywords: SHADOWS_DEPTH _METALLICGLOSSMAP _OCCLUSION - passType: 8 - - keywords: _EMISSION _METALLICGLOSSMAP _NORMALMAP _OCCLUSION - passType: 8 - - keywords: SHADOWS_DEPTH _ALPHATEST_ON _METALLICGLOSSMAP _OCCLUSION - passType: 8 - - keywords: SHADOWS_DEPTH _ALPHAPREMULTIPLY_ON _METALLICGLOSSMAP _OCCLUSION - passType: 8 - - keywords: SHADOWS_DEPTH _TEXTURE_TRANSFORM - passType: 8 - - keywords: SHADOWS_DEPTH _METALLICGLOSSMAP _TEXTURE_TRANSFORM - passType: 8 - - keywords: SHADOWS_DEPTH _OCCLUSION _TEXTURE_TRANSFORM - passType: 8 - - keywords: SHADOWS_DEPTH _METALLICGLOSSMAP _OCCLUSION _TEXTURE_TRANSFORM - passType: 8 diff --git a/Tests/Runtime/TestCaseSets/glTF-Sample-Assets-birp.shadervariants.meta b/Tests/Runtime/TestCaseSets/glTF-Sample-Assets-birp.shadervariants.meta deleted file mode 100644 index de1cf4d43..000000000 --- a/Tests/Runtime/TestCaseSets/glTF-Sample-Assets-birp.shadervariants.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 848de167d5c1e4f698694d0b9ed757b0 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 20000000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/TestCaseSets/glTF-Sample-Assets-hdrp.shadervariants b/Tests/Runtime/TestCaseSets/glTF-Sample-Assets-hdrp.shadervariants deleted file mode 100644 index 9a8e9f0d5..000000000 --- a/Tests/Runtime/TestCaseSets/glTF-Sample-Assets-hdrp.shadervariants +++ /dev/null @@ -1,204 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!200 &20000000 -ShaderVariantCollection: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: glTF-Sample-Assets-hdrp - m_Shaders: - - first: {fileID: -6465566751694194690, guid: 9a07dad0f3c4e43ff8312e3b5fa42300, type: 3} - second: - variants: - - keywords: - passType: 8 - - keywords: _EMISSIVE _OCCLUSION - passType: 8 - - keywords: BILLBOARD_FACE_CAMERA_POS DECALS_3RT MATERIAL_QUALITY_HIGH SCREEN_SPACE_SHADOWS_OFF - SHADOW_MEDIUM USE_CLUSTERED_LIGHTLIST - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS DECALS_3RT MATERIAL_QUALITY_HIGH SCREEN_SPACE_SHADOWS_OFF - SHADOW_MEDIUM USE_CLUSTERED_LIGHTLIST _EMISSIVE _OCCLUSION - passType: 13 - - first: {fileID: -6465566751694194690, guid: c87047c884d9843f5b0f4cce282aa760, type: 3} - second: - variants: - - keywords: - passType: 8 - - keywords: _TEXTURE_TRANSFORM - passType: 8 - - keywords: _TEXTURE_TRANSFORM _UV_CHANNEL_SELECT - passType: 8 - - keywords: BILLBOARD_FACE_CAMERA_POS DECALS_3RT MATERIAL_QUALITY_HIGH SCREEN_SPACE_SHADOWS_OFF - SHADOW_MEDIUM USE_CLUSTERED_LIGHTLIST - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS DECALS_3RT MATERIAL_QUALITY_HIGH SCREEN_SPACE_SHADOWS_OFF - SHADOW_MEDIUM USE_FPTL_LIGHTLIST - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS DECALS_3RT MATERIAL_QUALITY_HIGH SCREEN_SPACE_SHADOWS_OFF - SHADOW_MEDIUM USE_CLUSTERED_LIGHTLIST _TEXTURE_TRANSFORM - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS DECALS_3RT MATERIAL_QUALITY_HIGH SCREEN_SPACE_SHADOWS_OFF - SHADOW_MEDIUM USE_FPTL_LIGHTLIST _TEXTURE_TRANSFORM - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS DECALS_3RT MATERIAL_QUALITY_HIGH SCREEN_SPACE_SHADOWS_OFF - SHADOW_MEDIUM USE_CLUSTERED_LIGHTLIST _TEXTURE_TRANSFORM _UV_CHANNEL_SELECT - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS DECALS_3RT MATERIAL_QUALITY_HIGH SCREEN_SPACE_SHADOWS_OFF - SHADOW_MEDIUM USE_FPTL_LIGHTLIST _TEXTURE_TRANSFORM _UV_CHANNEL_SELECT - passType: 13 - - first: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122, type: 3} - second: - variants: - - keywords: - passType: 8 - - keywords: _DOUBLESIDED_ON - passType: 8 - - keywords: _ALPHATEST_ON _DOUBLESIDED_ON - passType: 8 - - keywords: _DISABLE_SSR_TRANSPARENT _ENABLE_FOG_ON_TRANSPARENT _SURFACE_TYPE_TRANSPARENT - passType: 8 - - keywords: _DISABLE_SSR_TRANSPARENT _DOUBLESIDED_ON _ENABLE_FOG_ON_TRANSPARENT - _SURFACE_TYPE_TRANSPARENT - passType: 8 - - keywords: INSTANCING_ON _BLENDMODE_OFF _REFRACTION_OFF - passType: 8 - - keywords: _EMISSIVE - passType: 8 - - keywords: _EMISSIVE _UV_CHANNEL_SELECT - passType: 8 - - keywords: _DOUBLESIDED_ON _EMISSIVE - passType: 8 - - keywords: _ALPHATEST_ON _DOUBLESIDED_ON _EMISSIVE - passType: 8 - - keywords: _OCCLUSION - passType: 8 - - keywords: _BLENDMODE_OFF _OCCLUSION _REFRACTION_OFF - passType: 8 - - keywords: _ALPHATEST_ON _BLENDMODE_OFF _OCCLUSION _REFRACTION_OFF - passType: 8 - - keywords: _BLENDMODE_OFF _DOUBLESIDED_ON _OCCLUSION _REFRACTION_OFF - passType: 8 - - keywords: _EMISSIVE _OCCLUSION - passType: 8 - - keywords: _BLENDMODE_OFF _REFRACTION_OFF _TEXTURE_TRANSFORM - passType: 8 - - keywords: _BLENDMODE_OFF _EMISSIVE _REFRACTION_OFF _TEXTURE_TRANSFORM - passType: 8 - - keywords: _BLENDMODE_OFF _OCCLUSION _REFRACTION_OFF _TEXTURE_TRANSFORM - passType: 8 - - keywords: _BLENDMODE_OFF _DOUBLESIDED_ON _OCCLUSION _REFRACTION_OFF _TEXTURE_TRANSFORM - passType: 8 - - keywords: _BLENDMODE_OFF _REFRACTION_OFF - passType: 12 - - keywords: _BLENDMODE_OFF _DOUBLESIDED_ON _REFRACTION_OFF - passType: 12 - - keywords: _BLENDMODE_OFF _OCCLUSION _REFRACTION_OFF - passType: 12 - - keywords: _BLENDMODE_OFF _DOUBLESIDED_ON _OCCLUSION _REFRACTION_OFF - passType: 12 - - keywords: _BLENDMODE_OFF _REFRACTION_OFF - passType: 13 - - keywords: DECALS_3RT _BLENDMODE_OFF _REFRACTION_OFF - passType: 13 - - keywords: DECALS_3RT SCREEN_SPACE_SHADOWS_OFF SHADOW_MEDIUM USE_CLUSTERED_LIGHTLIST - _BLENDMODE_OFF _REFRACTION_OFF - passType: 13 - - keywords: _BLENDMODE_OFF _DOUBLESIDED_ON _REFRACTION_OFF - passType: 13 - - keywords: DECALS_3RT _BLENDMODE_OFF _DOUBLESIDED_ON _REFRACTION_OFF - passType: 13 - - keywords: DECALS_3RT SCREEN_SPACE_SHADOWS_OFF SHADOW_MEDIUM USE_CLUSTERED_LIGHTLIST - _BLENDMODE_OFF _DOUBLESIDED_ON _REFRACTION_OFF - passType: 13 - - keywords: _ALPHATEST_ON _BLENDMODE_OFF _DOUBLESIDED_ON _REFRACTION_OFF - passType: 13 - - keywords: DECALS_3RT _ALPHATEST_ON _BLENDMODE_OFF _DOUBLESIDED_ON _REFRACTION_OFF - passType: 13 - - keywords: DECALS_3RT SCREEN_SPACE_SHADOWS_OFF SHADOW_MEDIUM USE_CLUSTERED_LIGHTLIST - _BLENDMODE_OFF _DISABLE_SSR_TRANSPARENT _ENABLE_FOG_ON_TRANSPARENT _REFRACTION_OFF - _SURFACE_TYPE_TRANSPARENT - passType: 13 - - keywords: DECALS_3RT SCREEN_SPACE_SHADOWS_OFF SHADOW_MEDIUM USE_CLUSTERED_LIGHTLIST - _BLENDMODE_OFF _DISABLE_SSR_TRANSPARENT _DOUBLESIDED_ON _ENABLE_FOG_ON_TRANSPARENT - _REFRACTION_OFF _SURFACE_TYPE_TRANSPARENT - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS DECALS_3RT MATERIAL_QUALITY_HIGH SCREEN_SPACE_SHADOWS_OFF - SHADOW_MEDIUM USE_CLUSTERED_LIGHTLIST _EMISSIVE - passType: 13 - - keywords: DECALS_3RT _BLENDMODE_OFF _EMISSIVE _REFRACTION_OFF - passType: 13 - - keywords: _BLENDMODE_OFF _DOUBLESIDED_ON _EMISSIVE _REFRACTION_OFF - passType: 13 - - keywords: DECALS_3RT _BLENDMODE_OFF _DOUBLESIDED_ON _EMISSIVE _REFRACTION_OFF - passType: 13 - - keywords: DECALS_3RT SCREEN_SPACE_SHADOWS_OFF SHADOW_MEDIUM USE_CLUSTERED_LIGHTLIST - _BLENDMODE_OFF _DOUBLESIDED_ON _EMISSIVE _REFRACTION_OFF - passType: 13 - - keywords: _ALPHATEST_ON _BLENDMODE_OFF _DOUBLESIDED_ON _EMISSIVE _REFRACTION_OFF - passType: 13 - - keywords: DECALS_3RT _ALPHATEST_ON _BLENDMODE_OFF _DOUBLESIDED_ON _EMISSIVE - _REFRACTION_OFF - passType: 13 - - keywords: _BLENDMODE_OFF _OCCLUSION _REFRACTION_OFF - passType: 13 - - keywords: DECALS_3RT _BLENDMODE_OFF _OCCLUSION _REFRACTION_OFF - passType: 13 - - keywords: DECALS_3RT SCREEN_SPACE_SHADOWS_OFF SHADOW_MEDIUM USE_CLUSTERED_LIGHTLIST - _BLENDMODE_OFF _OCCLUSION _REFRACTION_OFF - passType: 13 - - keywords: _ALPHATEST_ON _BLENDMODE_OFF _OCCLUSION _REFRACTION_OFF - passType: 13 - - keywords: DECALS_3RT _ALPHATEST_ON _BLENDMODE_OFF _OCCLUSION _REFRACTION_OFF - passType: 13 - - keywords: DECALS_3RT _BLENDMODE_OFF _DOUBLESIDED_ON _OCCLUSION _REFRACTION_OFF - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS DECALS_3RT MATERIAL_QUALITY_HIGH SCREEN_SPACE_SHADOWS_OFF - SHADOW_MEDIUM USE_CLUSTERED_LIGHTLIST _EMISSIVE _OCCLUSION - passType: 13 - - keywords: DECALS_3RT _BLENDMODE_OFF _REFRACTION_OFF _TEXTURE_TRANSFORM - passType: 13 - - keywords: DECALS_3RT _BLENDMODE_OFF _EMISSIVE _REFRACTION_OFF _TEXTURE_TRANSFORM - passType: 13 - - keywords: DECALS_3RT _BLENDMODE_OFF _OCCLUSION _REFRACTION_OFF _TEXTURE_TRANSFORM - passType: 13 - - keywords: DECALS_3RT _BLENDMODE_OFF _DOUBLESIDED_ON _OCCLUSION _REFRACTION_OFF - _TEXTURE_TRANSFORM - passType: 13 - - first: {fileID: -6465566751694194690, guid: 429ab83ee9ef05b4f8a76e58ea5d5ad4, type: 3} - second: - variants: - - keywords: - passType: 8 - - keywords: _CLEARCOAT - passType: 8 - - keywords: _BLENDMODE_OFF _CLEARCOAT _OCCLUSION - passType: 8 - - keywords: _CLEARCOAT _DOUBLESIDED_ON _EMISSIVE _OCCLUSION - passType: 8 - - keywords: _BLENDMODE_OFF _CLEARCOAT _TEXTURE_TRANSFORM - passType: 8 - - keywords: BILLBOARD_FACE_CAMERA_POS DECALS_3RT MATERIAL_QUALITY_HIGH SCREEN_SPACE_SHADOWS_OFF - SHADOW_MEDIUM USE_CLUSTERED_LIGHTLIST _CLEARCOAT - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS DECALS_3RT MATERIAL_QUALITY_HIGH SCREEN_SPACE_SHADOWS_OFF - SHADOW_MEDIUM USE_FPTL_LIGHTLIST _CLEARCOAT - passType: 13 - - keywords: _BLENDMODE_OFF _CLEARCOAT _OCCLUSION - passType: 13 - - keywords: DECALS_3RT SCREEN_SPACE_SHADOWS_OFF SHADOW_MEDIUM USE_FPTL_LIGHTLIST - _BLENDMODE_OFF _CLEARCOAT _OCCLUSION - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS DECALS_3RT MATERIAL_QUALITY_HIGH SCREEN_SPACE_SHADOWS_OFF - SHADOW_MEDIUM USE_CLUSTERED_LIGHTLIST _CLEARCOAT _DOUBLESIDED_ON _EMISSIVE - _OCCLUSION - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS DECALS_3RT MATERIAL_QUALITY_HIGH SCREEN_SPACE_SHADOWS_OFF - SHADOW_MEDIUM USE_FPTL_LIGHTLIST _CLEARCOAT _DOUBLESIDED_ON _EMISSIVE _OCCLUSION - passType: 13 - - keywords: _BLENDMODE_OFF _CLEARCOAT _TEXTURE_TRANSFORM - passType: 13 - - keywords: DECALS_3RT SCREEN_SPACE_SHADOWS_OFF SHADOW_MEDIUM USE_FPTL_LIGHTLIST - _BLENDMODE_OFF _CLEARCOAT _TEXTURE_TRANSFORM - passType: 13 diff --git a/Tests/Runtime/TestCaseSets/glTF-Sample-Assets-hdrp.shadervariants.meta b/Tests/Runtime/TestCaseSets/glTF-Sample-Assets-hdrp.shadervariants.meta deleted file mode 100644 index 8531df7d0..000000000 --- a/Tests/Runtime/TestCaseSets/glTF-Sample-Assets-hdrp.shadervariants.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: fa3d9cfa0a3364454bf3f874f08ffc16 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 20000000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/TestCaseSets/glTF-Sample-Assets-urp.10.shadervariants b/Tests/Runtime/TestCaseSets/glTF-Sample-Assets-urp.10.shadervariants deleted file mode 100644 index c47ee64b9..000000000 --- a/Tests/Runtime/TestCaseSets/glTF-Sample-Assets-urp.10.shadervariants +++ /dev/null @@ -1,246 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!200 &20000000 -ShaderVariantCollection: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: glTF-Sample-Assets-urp.10 - m_Shaders: - - first: {fileID: -6465566751694194690, guid: f06cd296b834444abb6dbc0acccf9414, type: 3} - second: - variants: - - keywords: - passType: 8 - - keywords: _TRANSMISSION - passType: 8 - - keywords: _OCCLUSION _TRANSMISSION - passType: 8 - - keywords: BILLBOARD_FACE_CAMERA_POS LIGHTPROBE_SH _ADDITIONAL_LIGHTS - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS LIGHTPROBE_SH UNITY_HDR_ON _ADDITIONAL_LIGHTS - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS LIGHTPROBE_SH UNITY_HDR_ON _ADDITIONAL_LIGHTS - _DEPTH_NO_MSAA - passType: 13 - - keywords: _TRANSMISSION - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _TRANSMISSION - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _OCCLUSION _TRANSMISSION - passType: 13 - - first: {fileID: -6465566751694194690, guid: c9ba521fe23b44d6db1017a2d9d47a17, type: 3} - second: - variants: - - keywords: - passType: 8 - - keywords: _TRANSMISSION - passType: 8 - - keywords: _EMISSIVE _TRANSMISSION - passType: 8 - - keywords: _ADDITIONAL_LIGHTS - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS LIGHTPROBE_SH _ADDITIONAL_LIGHTS - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS LIGHTPROBE_SH UNITY_HDR_ON _ADDITIONAL_LIGHTS - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _TRANSMISSION - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS LIGHTPROBE_SH _ADDITIONAL_LIGHTS _TRANSMISSION - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS UNITY_HDR_ON _ADDITIONAL_LIGHTS _TRANSMISSION - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS LIGHTPROBE_SH UNITY_HDR_ON _ADDITIONAL_LIGHTS - _TRANSMISSION - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS UNITY_HDR_ON _ADDITIONAL_LIGHTS _DEPTH_NO_MSAA - _TRANSMISSION - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _EMISSIVE _TRANSMISSION - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS LIGHTPROBE_SH _ADDITIONAL_LIGHTS _EMISSIVE - _TRANSMISSION - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS LIGHTPROBE_SH UNITY_HDR_ON _ADDITIONAL_LIGHTS - _EMISSIVE _TRANSMISSION - passType: 13 - - first: {fileID: -6465566751694194690, guid: 81efe6bcd8aa64c21b80376f539ee767, type: 3} - second: - variants: - - keywords: - passType: 0 - - keywords: BILLBOARD_FACE_CAMERA_POS LIGHTPROBE_SH _ADDITIONAL_LIGHTS - passType: 0 - - keywords: BILLBOARD_FACE_CAMERA_POS LIGHTPROBE_SH UNITY_HDR_ON _ADDITIONAL_LIGHTS - passType: 0 - - keywords: _TEXTURE_TRANSFORM - passType: 0 - - keywords: BILLBOARD_FACE_CAMERA_POS LIGHTPROBE_SH _ADDITIONAL_LIGHTS _TEXTURE_TRANSFORM - passType: 0 - - keywords: BILLBOARD_FACE_CAMERA_POS LIGHTPROBE_SH _ADDITIONAL_LIGHTS _TEXTURE_TRANSFORM - _UV_CHANNEL_SELECT - passType: 0 - - keywords: - passType: 8 - - keywords: _TEXTURE_TRANSFORM - passType: 8 - - keywords: BILLBOARD_FACE_CAMERA_POS UNITY_HDR_ON _ADDITIONAL_LIGHTS - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS UNITY_HDR_ON _ADDITIONAL_LIGHTS _DEPTH_NO_MSAA - passType: 13 - - keywords: _TEXTURE_TRANSFORM - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS UNITY_HDR_ON _ADDITIONAL_LIGHTS _TEXTURE_TRANSFORM - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS UNITY_HDR_ON _ADDITIONAL_LIGHTS _DEPTH_NO_MSAA - _TEXTURE_TRANSFORM _UV_CHANNEL_SELECT - passType: 13 - - first: {fileID: -6465566751694194690, guid: 41356b46cd8884ec5b404223e1338fa0, type: 3} - second: - variants: - - keywords: - passType: 8 - - keywords: _EMISSIVE _OCCLUSION - passType: 8 - - keywords: _ADDITIONAL_LIGHTS - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS LIGHTPROBE_SH _ADDITIONAL_LIGHTS - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS UNITY_HDR_ON _ADDITIONAL_LIGHTS - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS LIGHTPROBE_SH UNITY_HDR_ON _ADDITIONAL_LIGHTS - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS UNITY_HDR_ON _ADDITIONAL_LIGHTS _DEPTH_NO_MSAA - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _EMISSIVE _OCCLUSION - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS LIGHTPROBE_SH _ADDITIONAL_LIGHTS _EMISSIVE - _OCCLUSION - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS UNITY_HDR_ON _ADDITIONAL_LIGHTS _EMISSIVE - _OCCLUSION - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS LIGHTPROBE_SH UNITY_HDR_ON _ADDITIONAL_LIGHTS - _EMISSIVE _OCCLUSION - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS UNITY_HDR_ON _ADDITIONAL_LIGHTS _DEPTH_NO_MSAA - _EMISSIVE _OCCLUSION - passType: 13 - - first: {fileID: -6465566751694194690, guid: 90c26dfde11bf4ff69ef936c6e6b1ed1, type: 3} - second: - variants: - - keywords: - passType: 8 - - keywords: INSTANCING_ON - passType: 8 - - keywords: _EMISSIVE - passType: 8 - - keywords: _EMISSIVE _UV_CHANNEL_SELECT - passType: 8 - - keywords: _OCCLUSION - passType: 8 - - keywords: _EMISSIVE _OCCLUSION - passType: 8 - - keywords: _TEXTURE_TRANSFORM - passType: 8 - - keywords: _EMISSIVE _TEXTURE_TRANSFORM - passType: 8 - - keywords: _OCCLUSION _TEXTURE_TRANSFORM - passType: 8 - - keywords: - passType: 13 - - keywords: INSTANCING_ON - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS LIGHTPROBE_SH - passType: 13 - - keywords: _ADDITIONAL_LIGHTS - passType: 13 - - keywords: INSTANCING_ON _ADDITIONAL_LIGHTS - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS LIGHTPROBE_SH _ADDITIONAL_LIGHTS - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS UNITY_HDR_ON _ADDITIONAL_LIGHTS - passType: 13 - - keywords: _EMISSIVE - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _EMISSIVE - passType: 13 - - keywords: _OCCLUSION - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _OCCLUSION - passType: 13 - - keywords: _EMISSIVE _OCCLUSION - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _EMISSIVE _OCCLUSION - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS UNITY_HDR_ON _ADDITIONAL_LIGHTS _DEPTH_NO_MSAA - _EMISSIVE _OCCLUSION - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS LIGHTPROBE_SH UNITY_HDR_ON _ADDITIONAL_LIGHTS - _DEPTH_NO_MSAA _EMISSIVE _OCCLUSION - passType: 13 - - keywords: _TEXTURE_TRANSFORM - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _TEXTURE_TRANSFORM - passType: 13 - - keywords: _EMISSIVE _TEXTURE_TRANSFORM - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _EMISSIVE _TEXTURE_TRANSFORM - passType: 13 - - keywords: _OCCLUSION _TEXTURE_TRANSFORM - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _OCCLUSION _TEXTURE_TRANSFORM - passType: 13 - - first: {fileID: -6465566751694194690, guid: ba6d401c74b2c4f96af7edf0fe32241e, type: 3} - second: - variants: - - keywords: - passType: 8 - - keywords: _EMISSIVE - passType: 8 - - keywords: _OCCLUSION - passType: 8 - - keywords: _OCCLUSION _UV_CHANNEL_SELECT - passType: 8 - - keywords: _CLEARCOAT _EMISSIVE _OCCLUSION - passType: 8 - - keywords: _OCCLUSION _TEXTURE_TRANSFORM - passType: 8 - - keywords: - passType: 13 - - keywords: _ADDITIONAL_LIGHTS - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS LIGHTPROBE_SH _ADDITIONAL_LIGHTS - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS UNITY_HDR_ON _ADDITIONAL_LIGHTS - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS LIGHTPROBE_SH UNITY_HDR_ON _ADDITIONAL_LIGHTS - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS UNITY_HDR_ON _ADDITIONAL_LIGHTS _DEPTH_NO_MSAA - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS LIGHTPROBE_SH _ADDITIONAL_LIGHTS _EMISSIVE - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS UNITY_HDR_ON _ADDITIONAL_LIGHTS _EMISSIVE - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS LIGHTPROBE_SH UNITY_HDR_ON _ADDITIONAL_LIGHTS - _EMISSIVE - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS UNITY_HDR_ON _ADDITIONAL_LIGHTS _DEPTH_NO_MSAA - _EMISSIVE - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS LIGHTPROBE_SH UNITY_HDR_ON _ADDITIONAL_LIGHTS - _DEPTH_NO_MSAA _EMISSIVE - passType: 13 - - keywords: _OCCLUSION - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _OCCLUSION - passType: 13 - - keywords: _EMISSIVE _OCCLUSION - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _EMISSIVE _OCCLUSION - passType: 13 - - keywords: _OCCLUSION _TEXTURE_TRANSFORM - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _OCCLUSION _TEXTURE_TRANSFORM - passType: 13 diff --git a/Tests/Runtime/TestCaseSets/glTF-Sample-Assets-urp.10.shadervariants.meta b/Tests/Runtime/TestCaseSets/glTF-Sample-Assets-urp.10.shadervariants.meta deleted file mode 100644 index 144c7faf7..000000000 --- a/Tests/Runtime/TestCaseSets/glTF-Sample-Assets-urp.10.shadervariants.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 4578d9ba95ec541f5aad2c807a572d98 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 20000000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/TestCaseSets/glTF-Sample-Assets-urp.12.shadervariants b/Tests/Runtime/TestCaseSets/glTF-Sample-Assets-urp.12.shadervariants deleted file mode 100644 index bb7eb3767..000000000 --- a/Tests/Runtime/TestCaseSets/glTF-Sample-Assets-urp.12.shadervariants +++ /dev/null @@ -1,172 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!200 &20000000 -ShaderVariantCollection: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: glTF-Sample-Assets-urp.12 - m_Shaders: - - first: {fileID: -6465566751694194690, guid: 9a07dad0f3c4e43ff8312e3b5fa42300, - type: 3} - second: - variants: - - keywords: - passType: 8 - - keywords: _EMISSIVE _OCCLUSION - passType: 8 - - keywords: _ADDITIONAL_LIGHTS _ADDITIONAL_LIGHT_SHADOWS _EMISSIVE _MAIN_LIGHT_SHADOWS - _OCCLUSION - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _ADDITIONAL_LIGHT_SHADOWS _EMISSIVE _MAIN_LIGHT_SHADOWS - _OCCLUSION _SPECULAR_SETUP - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _ADDITIONAL_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _ADDITIONAL_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS - _SPECULAR_SETUP - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _EMISSIVE _MAIN_LIGHT_SHADOWS _OCCLUSION - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _MAIN_LIGHT_SHADOWS - passType: 13 - - first: {fileID: -6465566751694194690, guid: c87047c884d9843f5b0f4cce282aa760, - type: 3} - second: - variants: - - keywords: - passType: 0 - - keywords: _TEXTURE_TRANSFORM - passType: 0 - - keywords: - passType: 8 - - keywords: _TEXTURE_TRANSFORM - passType: 8 - - first: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122, - type: 3} - second: - variants: - - keywords: - passType: 8 - - keywords: INSTANCING_ON - passType: 8 - - keywords: _ALPHATEST_ON - passType: 8 - - keywords: _ALPHATEST_ON _EMISSIVE - passType: 8 - - keywords: _ALPHATEST_ON _OCCLUSION - passType: 8 - - keywords: _ALPHATEST_ON _TRANSMISSION - passType: 8 - - keywords: _EMISSIVE - passType: 8 - - keywords: _EMISSIVE _OCCLUSION - passType: 8 - - keywords: _EMISSIVE _TEXTURE_TRANSFORM - passType: 8 - - keywords: _EMISSIVE _TRANSMISSION - passType: 8 - - keywords: _OCCLUSION - passType: 8 - - keywords: _OCCLUSION _TEXTURE_TRANSFORM - passType: 8 - - keywords: _OCCLUSION _TRANSMISSION - passType: 8 - - keywords: _TEXTURE_TRANSFORM - passType: 8 - - keywords: _TRANSMISSION - passType: 8 - - keywords: _ADDITIONAL_LIGHTS _ADDITIONAL_LIGHT_SHADOWS _ALPHATEST_ON _EMISSIVE - _MAIN_LIGHT_SHADOWS - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _ADDITIONAL_LIGHT_SHADOWS _ALPHATEST_ON _MAIN_LIGHT_SHADOWS - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _ADDITIONAL_LIGHT_SHADOWS _ALPHATEST_ON _MAIN_LIGHT_SHADOWS - _OCCLUSION - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _ADDITIONAL_LIGHT_SHADOWS _ALPHATEST_ON _MAIN_LIGHT_SHADOWS - _SURFACE_TYPE_TRANSPARENT _TRANSMISSION - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _ADDITIONAL_LIGHT_SHADOWS _EMISSIVE _MAIN_LIGHT_SHADOWS - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _ADDITIONAL_LIGHT_SHADOWS _EMISSIVE _MAIN_LIGHT_SHADOWS - _OCCLUSION - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _ADDITIONAL_LIGHT_SHADOWS _EMISSIVE _MAIN_LIGHT_SHADOWS - _SURFACE_TYPE_TRANSPARENT _TRANSMISSION - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _ADDITIONAL_LIGHT_SHADOWS _EMISSIVE _MAIN_LIGHT_SHADOWS - _TEXTURE_TRANSFORM - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _ADDITIONAL_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _ADDITIONAL_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS - _OCCLUSION - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _ADDITIONAL_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS - _OCCLUSION _SURFACE_TYPE_TRANSPARENT _TRANSMISSION - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _ADDITIONAL_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS - _OCCLUSION _TEXTURE_TRANSFORM - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _ADDITIONAL_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS - _SURFACE_TYPE_TRANSPARENT - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _ADDITIONAL_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS - _SURFACE_TYPE_TRANSPARENT _TRANSMISSION - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _ADDITIONAL_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS - _TEXTURE_TRANSFORM - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _EMISSIVE _MAIN_LIGHT_SHADOWS - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _EMISSIVE _MAIN_LIGHT_SHADOWS _OCCLUSION - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _EMISSIVE _MAIN_LIGHT_SHADOWS _TEXTURE_TRANSFORM - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _EMISSIVE _MAIN_LIGHT_SHADOWS _TRANSMISSION - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _MAIN_LIGHT_SHADOWS - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _MAIN_LIGHT_SHADOWS _OCCLUSION - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _MAIN_LIGHT_SHADOWS _OCCLUSION _TEXTURE_TRANSFORM - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _MAIN_LIGHT_SHADOWS _OCCLUSION _TRANSMISSION - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _MAIN_LIGHT_SHADOWS _TEXTURE_TRANSFORM - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _MAIN_LIGHT_SHADOWS _TRANSMISSION - passType: 13 - - first: {fileID: -6465566751694194690, guid: c18c97ae1ce021b4980c5d19a54f0d3c, - type: 3} - second: - variants: - - keywords: - passType: 8 - - keywords: _EMISSIVE _OCCLUSION - passType: 8 - - keywords: _OCCLUSION - passType: 8 - - keywords: _TEXTURE_TRANSFORM - passType: 8 - - keywords: _ADDITIONAL_LIGHTS _ADDITIONAL_LIGHT_SHADOWS _EMISSIVE _MAIN_LIGHT_SHADOWS - _OCCLUSION - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _ADDITIONAL_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _ADDITIONAL_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS - _OCCLUSION - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _ADDITIONAL_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS - _TEXTURE_TRANSFORM - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _EMISSIVE _MAIN_LIGHT_SHADOWS _OCCLUSION - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _MAIN_LIGHT_SHADOWS - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _MAIN_LIGHT_SHADOWS _OCCLUSION - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _MAIN_LIGHT_SHADOWS _TEXTURE_TRANSFORM - passType: 13 diff --git a/Tests/Runtime/TestCaseSets/glTF-Sample-Assets-urp.12.shadervariants.meta b/Tests/Runtime/TestCaseSets/glTF-Sample-Assets-urp.12.shadervariants.meta deleted file mode 100644 index d8c602593..000000000 --- a/Tests/Runtime/TestCaseSets/glTF-Sample-Assets-urp.12.shadervariants.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: b1ef59e45107742999cdf4bd4061bda6 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 20000000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/TestCaseSets/glTF-Sample-Assets.asset b/Tests/Runtime/TestCaseSets/glTF-Sample-Assets.asset deleted file mode 100644 index 35dba47ed..000000000 --- a/Tests/Runtime/TestCaseSets/glTF-Sample-Assets.asset +++ /dev/null @@ -1,513 +0,0 @@ -%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: 59748363cc8e485aa56e62947048bff8, type: 3} - m_Name: glTF-Sample-Assets - m_EditorClassIdentifier: - assetsRelativePath: glTF-Sample-Assets - assetsAbsolutePath: - m_TestCases: - - relativeUri: Models/AlphaBlendModeTest/glTF/AlphaBlendModeTest.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/AnimatedCube/glTF/AnimatedCube.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/AnimatedMorphCube/glTF/AnimatedMorphCube.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/AnimatedMorphCube/glTF-Quantized/AnimatedMorphCube.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/AnimatedTriangle/glTF/AnimatedTriangle.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/AnimatedTriangle/glTF-Embedded/AnimatedTriangle.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/AnisotropyBarnLamp/glTF-KTX-BasisU/AnisotropyBarnLamp.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/AnisotropyDiscTest/glTF/AnisotropyDiscTest.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/AnisotropyRotationTest/glTF/AnisotropyRotationTest.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/AnisotropyStrengthTest/glTF/AnisotropyStrengthTest.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/AttenuationTest/glTF/AttenuationTest.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/Avocado/glTF/Avocado.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/BoomBox/glTF/BoomBox.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/Box/glTF/Box.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/Box/glTF-Binary/Box.glb - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/Box/glTF-Draco/Box.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/Box/glTF-Embedded/Box.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/Box With Spaces/glTF/Box With Spaces.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/BoxAnimated/glTF/BoxAnimated.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/BoxAnimated/glTF-Binary/BoxAnimated.glb - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/BoxAnimated/glTF-Embedded/BoxAnimated.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/BoxInterleaved/glTF/BoxInterleaved.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/BoxInterleaved/glTF-Binary/BoxInterleaved.glb - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/BoxInterleaved/glTF-Embedded/BoxInterleaved.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/BoxTextured/glTF/BoxTextured.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/BoxTextured/glTF-Binary/BoxTextured.glb - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/BoxTextured/glTF-Embedded/BoxTextured.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/BoxTexturedNonPowerOfTwo/glTF/BoxTexturedNonPowerOfTwo.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/BoxVertexColors/glTF/BoxVertexColors.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/BrainStem/glTF/BrainStem.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/BrainStem/glTF-Draco/BrainStem.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/Cameras/glTF/Cameras.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/CarbonFibre/glTF/CarbonFibre.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/CesiumMan/glTF/CesiumMan.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/CesiumMan/glTF-Draco/CesiumMan.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/ChairDamaskPurplegold/glTF/ChairDamaskPurplegold.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/ClearCoatCarPaint/glTF/ClearCoatCarPaint.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/ClearCoatTest/glTF/ClearCoatTest.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/ClearcoatWicker/glTF/ClearcoatWicker.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/Cube/glTF/Cube.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/DamagedHelmet/glTF/DamagedHelmet.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/DamagedHelmet/glTF-Binary/DamagedHelmet.glb - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/DiffuseTransmissionPlant/glTF/DiffuseTransmissionPlant.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/DiffuseTransmissionTeacup/glTF/DiffuseTransmissionTeacup.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/DirectionalLight/glTF/DirectionalLight.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/DispersionTest/glTF/DispersionTest.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/DragonAttenuation/glTF/DragonAttenuation.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/DragonDispersion/glTF/DragonDispersion.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/Duck/glTF/Duck.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/EmissiveStrengthTest/glTF/EmissiveStrengthTest.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/EnvironmentTest/glTF/EnvironmentTest.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/EnvironmentTest/glTF-IBL/EnvironmentTest.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/Fox/glTF/Fox.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/GlamVelvetSofa/glTF/GlamVelvetSofa.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/GlassBrokenWindow/glTF/GlassBrokenWindow.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/GlassHurricaneCandleHolder/glTF/GlassHurricaneCandleHolder.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/GlassVaseFlowers/glTF/GlassVaseFlowers.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/IORTestGrid/glTF/IORTestGrid.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/InterpolationTest/glTF/InterpolationTest.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/IridescenceAbalone/glTF/IridescenceAbalone.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/IridescenceDielectricSpheres/glTF/IridescenceDielectricSpheres.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/IridescenceLamp/glTF/IridescenceLamp.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/IridescenceMetallicSpheres/glTF/IridescenceMetallicSpheres.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/IridescenceSuzanne/glTF/IridescenceSuzanne.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/IridescentDishWithOlives/glTF/IridescentDishWithOlives.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/LightsPunctualLamp/glTF/LightsPunctualLamp.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/MaterialsVariantsShoe/glTF/MaterialsVariantsShoe.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/MeshPrimitiveModes/glTF/MeshPrimitiveModes.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/MetalRoughSpheres/glTF/MetalRoughSpheres.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/MetalRoughSpheresNoTextures/glTF/MetalRoughSpheresNoTextures.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/MorphPrimitivesTest/glTF/MorphPrimitivesTest.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/MorphPrimitivesTest/glTF-Draco/MorphPrimitivesTest.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/MorphStressTest/glTF/MorphStressTest.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/MultiUVTest/glTF/MultiUVTest.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/MultipleScenes/glTF/MultipleScenes.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/NegativeScaleTest/glTF/NegativeScaleTest.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/NormalTangentMirrorTest/glTF/NormalTangentMirrorTest.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/NormalTangentTest/glTF/NormalTangentTest.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/OrientationTest/glTF/OrientationTest.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/PrimitiveModeNormalsTest/glTF/PrimitiveModeNormalsTest.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/RecursiveSkeletons/glTF/RecursiveSkeletons.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/RiggedFigure/glTF/RiggedFigure.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/RiggedSimple/glTF/RiggedSimple.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/SheenChair/glTF/SheenChair.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/SheenCloth/glTF/SheenCloth.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/SheenTestGrid/glTF/SheenTestGrid.gltf - expectLoadFail: 1 - expectInstantiationFail: 0 - expectedLogCodes: 14000000 - - relativeUri: Models/SimpleInstancing/glTF/SimpleInstancing.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/SimpleMaterial/glTF/SimpleMaterial.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/SimpleMeshes/glTF/SimpleMeshes.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/SimpleMeshes/glTF-Embedded/SimpleMeshes.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/SimpleMorph/glTF/SimpleMorph.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/SimpleSkin/glTF/SimpleSkin.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/SimpleSparseAccessor/glTF/SimpleSparseAccessor.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/SimpleSparseAccessor/glTF-Embedded/SimpleSparseAccessor.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/SimpleTexture/glTF/SimpleTexture.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/SimpleTexture/glTF-Embedded/SimpleTexture.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/SpecGlossVsMetalRough/glTF/SpecGlossVsMetalRough.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/SpecularSilkPouf/glTF/SpecularSilkPouf.gltf - expectLoadFail: 1 - expectInstantiationFail: 0 - expectedLogCodes: 14000000 - - relativeUri: Models/SpecularTest/glTF/SpecularTest.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/Sponza/glTF/Sponza.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/StainedGlassLamp/glTF/StainedGlassLamp.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/StainedGlassLamp/glTF-JPG-PNG/StainedGlassLamp.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/StainedGlassLamp/glTF-KTX-BasisU/StainedGlassLamp.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/Suzanne/glTF/Suzanne.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/TextureCoordinateTest/glTF/TextureCoordinateTest.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/TextureEncodingTest/glTF/TextureEncodingTest.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/TextureLinearInterpolationTest/glTF/TextureLinearInterpolationTest.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/TextureSettingsTest/glTF/TextureSettingsTest.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/TextureTransformMultiTest/glTF/TextureTransformMultiTest.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/TextureTransformTest/glTF/TextureTransformTest.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/ToyCar/glTF/ToyCar.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/TransmissionRoughnessTest/glTF/TransmissionRoughnessTest.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/TransmissionTest/glTF/TransmissionTest.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/TransmissionThinwallTestGrid/glTF/TransmissionThinwallTestGrid.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/Triangle/glTF/Triangle.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/TriangleWithoutIndices/glTF/TriangleWithoutIndices.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/TwoSidedPlane/glTF/TwoSidedPlane.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: "Models/Unicode\u2764\u267BTest/glTF/Unicode\u2764\u267BTest.gltf" - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: "Models/Unicode\u2764\u267BTest/glTF-Binary/Unicode\u2764\u267BTest.glb" - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/UnlitTest/glTF/UnlitTest.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/VertexColorTest/glTF/VertexColorTest.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/VertexColorTest/glTF-Binary/VertexColorTest.glb - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/VirtualCity/glTF/VirtualCity.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Models/XmpMetadataRoundedCube/glTF/XmpMetadataRoundedCube.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: diff --git a/Tests/Runtime/TestCaseSets/glTF-Sample-Assets.asset.meta b/Tests/Runtime/TestCaseSets/glTF-Sample-Assets.asset.meta deleted file mode 100644 index 34382995b..000000000 --- a/Tests/Runtime/TestCaseSets/glTF-Sample-Assets.asset.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 59d8776e9e3084c9a821da2a2c253f56 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 11400000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/TestCaseSets/glTF-test-models-birp.shadervariants b/Tests/Runtime/TestCaseSets/glTF-test-models-birp.shadervariants deleted file mode 100644 index ed46f58c1..000000000 --- a/Tests/Runtime/TestCaseSets/glTF-test-models-birp.shadervariants +++ /dev/null @@ -1,38 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!200 &20000000 -ShaderVariantCollection: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: glTF-test-models-birp - m_Shaders: - - first: {fileID: 4800000, guid: 99fa998bbbed3408aafa652b466d261d, type: 3} - second: - variants: - - keywords: DIRECTIONAL LIGHTPROBE_SH - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH SHADOWS_SCREEN - passType: 4 - - keywords: DIRECTIONAL LIGHTPROBE_SH VERTEXLIGHT_ON - passType: 4 - - keywords: SPOT - passType: 5 - - keywords: POINT - passType: 5 - - keywords: DIRECTIONAL SHADOWS_SCREEN - passType: 5 - - keywords: - passType: 8 - - keywords: SHADOWS_DEPTH - passType: 8 - - first: {fileID: 4800000, guid: 4340a3cf1cde6416d957808a6ac79eed, type: 3} - second: - variants: - - keywords: - passType: 0 - - keywords: _ALPHATEST_ON - passType: 0 - - keywords: _ALPHABLEND_ON - passType: 0 diff --git a/Tests/Runtime/TestCaseSets/glTF-test-models-birp.shadervariants.meta b/Tests/Runtime/TestCaseSets/glTF-test-models-birp.shadervariants.meta deleted file mode 100644 index 37235cad9..000000000 --- a/Tests/Runtime/TestCaseSets/glTF-test-models-birp.shadervariants.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 0d5c7337c305444cba3415637bd40464 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 20000000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/TestCaseSets/glTF-test-models-hdrp.shadervariants b/Tests/Runtime/TestCaseSets/glTF-test-models-hdrp.shadervariants deleted file mode 100644 index 5e110ced2..000000000 --- a/Tests/Runtime/TestCaseSets/glTF-test-models-hdrp.shadervariants +++ /dev/null @@ -1,55 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!200 &20000000 -ShaderVariantCollection: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: glTF-test-models-hdrp - m_Shaders: - - first: {fileID: 4800000, guid: 4340a3cf1cde6416d957808a6ac79eed, type: 3} - second: - variants: - - keywords: BILLBOARD_FACE_CAMERA_POS DECALS_3RT LIGHTPROBE_SH MATERIAL_QUALITY_HIGH - SCREEN_SPACE_SHADOWS_OFF SHADOW_MEDIUM USE_FPTL_LIGHTLIST - passType: 0 - - first: {fileID: -6465566751694194690, guid: c87047c884d9843f5b0f4cce282aa760, type: 3} - second: - variants: - - keywords: - passType: 8 - - keywords: BILLBOARD_FACE_CAMERA_POS DECALS_3RT MATERIAL_QUALITY_HIGH SCREEN_SPACE_SHADOWS_OFF - SHADOW_MEDIUM USE_CLUSTERED_LIGHTLIST - passType: 8 - - keywords: _BLENDMODE_OFF - passType: 8 - - keywords: _BLENDMODE_OFF _ENABLE_FOG_ON_TRANSPARENT _SURFACE_TYPE_TRANSPARENT - passType: 8 - - keywords: BILLBOARD_FACE_CAMERA_POS DECALS_3RT MATERIAL_QUALITY_HIGH SCREEN_SPACE_SHADOWS_OFF - SHADOW_MEDIUM USE_FPTL_LIGHTLIST - passType: 13 - - keywords: _BLENDMODE_OFF - passType: 13 - - keywords: _BLENDMODE_OFF _ENABLE_FOG_ON_TRANSPARENT _SURFACE_TYPE_TRANSPARENT - passType: 13 - - first: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122, type: 3} - second: - variants: - - keywords: - passType: 8 - - keywords: BILLBOARD_FACE_CAMERA_POS DECALS_3RT MATERIAL_QUALITY_HIGH SCREEN_SPACE_SHADOWS_OFF - SHADOW_MEDIUM USE_CLUSTERED_LIGHTLIST - passType: 8 - - keywords: _BLENDMODE_OFF _DOUBLESIDED_ON _REFRACTION_OFF - passType: 8 - - keywords: _BLENDMODE_OFF _REFRACTION_OFF - passType: 12 - - keywords: _BLENDMODE_OFF _DOUBLESIDED_ON _REFRACTION_OFF - passType: 12 - - keywords: _BLENDMODE_OFF _REFRACTION_OFF - passType: 13 - - keywords: DECALS_3RT _BLENDMODE_OFF _REFRACTION_OFF - passType: 13 - - keywords: DECALS_3RT _BLENDMODE_OFF _DOUBLESIDED_ON _REFRACTION_OFF - passType: 13 diff --git a/Tests/Runtime/TestCaseSets/glTF-test-models-hdrp.shadervariants.meta b/Tests/Runtime/TestCaseSets/glTF-test-models-hdrp.shadervariants.meta deleted file mode 100644 index 958cd9226..000000000 --- a/Tests/Runtime/TestCaseSets/glTF-test-models-hdrp.shadervariants.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 5043a06d4e0744e1585656970616eaeb -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 20000000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/TestCaseSets/glTF-test-models-urp.10.shadervariants b/Tests/Runtime/TestCaseSets/glTF-test-models-urp.10.shadervariants deleted file mode 100644 index 81e12d11e..000000000 --- a/Tests/Runtime/TestCaseSets/glTF-test-models-urp.10.shadervariants +++ /dev/null @@ -1,77 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!200 &20000000 -ShaderVariantCollection: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: glTF-test-models-urp.10 - m_Shaders: - - first: {fileID: 4800000, guid: 4340a3cf1cde6416d957808a6ac79eed, type: 3} - second: - variants: - - keywords: BILLBOARD_FACE_CAMERA_POS LIGHTPROBE_SH _ADDITIONAL_LIGHTS - passType: 0 - - keywords: BILLBOARD_FACE_CAMERA_POS LIGHTPROBE_SH _ADDITIONAL_LIGHTS _DEPTH_NO_MSAA - passType: 0 - - first: {fileID: -6465566751694194690, guid: 81efe6bcd8aa64c21b80376f539ee767, type: 3} - second: - variants: - - keywords: - passType: 0 - - keywords: - passType: 8 - - keywords: - passType: 13 - - first: {fileID: -6465566751694194690, guid: 90c26dfde11bf4ff69ef936c6e6b1ed1, type: 3} - second: - variants: - - keywords: - passType: 8 - - keywords: - passType: 13 - - keywords: _ADDITIONAL_LIGHTS - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS _DEPTH_NO_MSAA - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS LIGHTPROBE_SH _DEPTH_NO_MSAA - passType: 13 - - first: {fileID: -6465566751694194690, guid: ba6d401c74b2c4f96af7edf0fe32241e, type: 3} - second: - variants: - - keywords: - passType: 8 - - keywords: - passType: 13 - - keywords: _ADDITIONAL_LIGHTS - passType: 13 - - keywords: BILLBOARD_FACE_CAMERA_POS UNITY_HDR_ON _ADDITIONAL_LIGHTS _DEPTH_NO_MSAA - passType: 13 - - first: {fileID: -6465566751694194690, guid: f94bbd13412a4419bbfac24d9a53b058, type: 3} - second: - variants: - - keywords: - passType: 0 - - keywords: - passType: 8 - - keywords: - passType: 13 - - first: {fileID: -6465566751694194690, guid: 42aa4553160a34cf08f29a15eea9eb3b, type: 3} - second: - variants: - - keywords: - passType: 0 - - keywords: - passType: 8 - - keywords: - passType: 13 - - first: {fileID: -6465566751694194690, guid: 28efc76bda49d4bae9db32ea2079d3c0, type: 3} - second: - variants: - - keywords: - passType: 0 - - keywords: - passType: 8 - - keywords: - passType: 13 diff --git a/Tests/Runtime/TestCaseSets/glTF-test-models-urp.10.shadervariants.meta b/Tests/Runtime/TestCaseSets/glTF-test-models-urp.10.shadervariants.meta deleted file mode 100644 index a5cb4617c..000000000 --- a/Tests/Runtime/TestCaseSets/glTF-test-models-urp.10.shadervariants.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: e133a6f9f77614b62ac8e8b6703c57e8 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 20000000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/TestCaseSets/glTF-test-models-urp.12.shadervariants b/Tests/Runtime/TestCaseSets/glTF-test-models-urp.12.shadervariants deleted file mode 100644 index ecf7999dd..000000000 --- a/Tests/Runtime/TestCaseSets/glTF-test-models-urp.12.shadervariants +++ /dev/null @@ -1,39 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!200 &20000000 -ShaderVariantCollection: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: glTF-test-models-urp.12 - m_Shaders: - - first: {fileID: -6465566751694194690, guid: c87047c884d9843f5b0f4cce282aa760, - type: 3} - second: - variants: - - keywords: - passType: 0 - - keywords: _ALPHATEST_ON - passType: 0 - - keywords: _SURFACE_TYPE_TRANSPARENT - passType: 0 - - keywords: - passType: 8 - - keywords: _ALPHATEST_ON - passType: 8 - - keywords: - passType: 13 - - first: {fileID: -6465566751694194690, guid: b9d29dfa1474148e792ac720cbd45122, - type: 3} - second: - variants: - - keywords: - passType: 8 - - keywords: - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _ADDITIONAL_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS - passType: 13 - - keywords: _ADDITIONAL_LIGHTS _ADDITIONAL_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE - _SHADOWS_SOFT - passType: 13 diff --git a/Tests/Runtime/TestCaseSets/glTF-test-models-urp.12.shadervariants.meta b/Tests/Runtime/TestCaseSets/glTF-test-models-urp.12.shadervariants.meta deleted file mode 100644 index 635ab65a5..000000000 --- a/Tests/Runtime/TestCaseSets/glTF-test-models-urp.12.shadervariants.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: b1dadfc588ab1435fa1009e310a81fda -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 20000000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/Tests/Runtime/TestCaseSets/glTF-test-models.asset b/Tests/Runtime/TestCaseSets/glTF-test-models.asset deleted file mode 100644 index 6a9adc5f5..000000000 --- a/Tests/Runtime/TestCaseSets/glTF-test-models.asset +++ /dev/null @@ -1,105 +0,0 @@ -%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: 59748363cc8e485aa56e62947048bff8, type: 3} - m_Name: glTF-test-models - m_EditorClassIdentifier: - assetsRelativePath: glTF-test-models - assetsAbsolutePath: - m_TestCases: - - relativeUri: ColorSpace/ColorSpace.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: EightTexcoords/8-texcoords.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: 34000000 - - relativeUri: EmbedBufferInvalid/EmbedBufferInvalid.gltf - expectLoadFail: 1 - expectInstantiationFail: 0 - expectedLogCodes: 0f000000 - - relativeUri: Empty/Empty.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: ExtrasData/ExtrasData.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Lights/LightsDirectional.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Lights/LightsPoint.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: Lights/LightsSpot.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: NoScene/NoScene.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: OnlyAccessors/OnlyAccessors.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: OnlyTextures/OnlyTextures.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: PrimitiveModes/PrimitiveModes.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: RelativeUri/SubFolder/RelativeUri.glb - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: RelativeUri/SubFolder/RelativeUri.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: RootNodeCount/AllScenes.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: RootNodeCount/AllScenesAnimated.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: RootNodeCount/SingleNode.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: RootNodeCount/SingleNodeAnimated.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: RootNodeCount/TwoNodes.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: RootNodeCount/TwoNodesAnimated.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: UnknownExtensions/UnknownExtensions.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: - - relativeUri: UnlitAlphaModes/UnlitAlphaModes.gltf - expectLoadFail: 0 - expectInstantiationFail: 0 - expectedLogCodes: diff --git a/Tests/Runtime/TestCaseSets/glTF-test-models.asset.meta b/Tests/Runtime/TestCaseSets/glTF-test-models.asset.meta deleted file mode 100644 index df3cef423..000000000 --- a/Tests/Runtime/TestCaseSets/glTF-test-models.asset.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 72198c5424b044b1ead657eba56bcf87 -NativeFormatImporter: - externalObjects: {} - mainObjectFileID: 11400000 - userData: - assetBundleName: - assetBundleVariant: diff --git a/ValidationExceptions.json b/ValidationExceptions.json deleted file mode 100644 index 6b566e00f..000000000 --- a/ValidationExceptions.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "ErrorExceptions": [ - { - "ValidationTest": "API Validation", - "ExceptionMessage": "Additions require a new minor or major version.", - "PackageVersion": "6.7.1" - } - ], - "WarningExceptions": [] -} diff --git a/ValidationExceptions.json.meta b/ValidationExceptions.json.meta deleted file mode 100644 index 1dbcacbef..000000000 --- a/ValidationExceptions.json.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: de0eeb8ef67124af5a71ee59c9aa3947 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/package.json b/package.json index 4e0ffbe8e..c0f5e24d2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "com.atteneder.gltfast", - "version": "6.8.0", + "version": "6.9.0", "displayName": "glTFast", "description": "Use glTFast to import and export glTF 3D files efficiently at runtime or in the Editor", "unity": "2020.3", @@ -27,6 +27,5 @@ "com.unity.burst": "1.8.4", "com.unity.collections": "1.5.1" }, - "type": "library", "unityRelease": "48f1" } From 531bf598e0b1a029b784a39ca5709e56c66e3e85 Mon Sep 17 00:00:00 2001 From: Andreas Atteneder Date: Thu, 30 Jan 2025 12:01:06 +0100 Subject: [PATCH 04/27] com.atteneder.gltfast Release 6.9.1 --- CHANGELOG.md | 20 + Documentation~/development.md | 1 + Documentation~/test-open-file.md | 18 + Runtime/Scripts/AccessorData.cs | 59 -- Runtime/Scripts/AccessorUsage.cs | 29 + ...ssorData.cs.meta => AccessorUsage.cs.meta} | 0 ...Context.cs => DracoMeshResultGenerator.cs} | 10 +- ....meta => DracoMeshResultGenerator.cs.meta} | 0 Runtime/Scripts/Export/Constants.cs | 2 +- Runtime/Scripts/GameObjectInstantiator.cs | 2 +- Runtime/Scripts/GltfImport.cs | 957 +++++++++--------- Runtime/Scripts/IGltfBuffers.cs | 3 +- Runtime/Scripts/Jobs.cs | 87 +- Runtime/Scripts/MainBufferType.cs | 19 + Runtime/Scripts/MainBufferType.cs.meta | 3 + Runtime/Scripts/MeshPrimitiveComparer.cs | 5 +- ...reateContext.cs => MeshResultGenerator.cs} | 32 +- ...xt.cs.meta => MeshResultGenerator.cs.meta} | 0 ...textBase.cs => MeshResultGeneratorBase.cs} | 6 +- ...s.meta => MeshResultGeneratorBase.cs.meta} | 0 ...getContext.cs => MorphTargetsGenerator.cs} | 26 +- ....cs.meta => MorphTargetsGenerator.cs.meta} | 0 Runtime/Scripts/Schema/Accessor.cs | 79 -- .../Schema/GltfAccessorAttributeType.cs | 53 + .../Schema/GltfAccessorAttributeType.cs.meta | 3 + Runtime/Scripts/Schema/GltfComponentType.cs | 39 + .../Scripts/Schema/GltfComponentType.cs.meta | 3 + Runtime/Scripts/VertexBufferBones.cs | 10 +- Runtime/Scripts/VertexBufferColors.cs | 8 +- ...fferConfig.cs => VertexBufferGenerator.cs} | 20 +- ....cs.meta => VertexBufferGenerator.cs.meta} | 0 ...igBase.cs => VertexBufferGeneratorBase.cs} | 18 +- ...meta => VertexBufferGeneratorBase.cs.meta} | 0 Runtime/Scripts/VertexBufferTexCoords.cs | 8 +- package.json | 2 +- 35 files changed, 784 insertions(+), 738 deletions(-) create mode 100644 Documentation~/test-open-file.md delete mode 100644 Runtime/Scripts/AccessorData.cs create mode 100644 Runtime/Scripts/AccessorUsage.cs rename Runtime/Scripts/{AccessorData.cs.meta => AccessorUsage.cs.meta} (100%) rename Runtime/Scripts/{PrimitiveDracoCreateContext.cs => DracoMeshResultGenerator.cs} (95%) rename Runtime/Scripts/{PrimitiveDracoCreateContext.cs.meta => DracoMeshResultGenerator.cs.meta} (100%) create mode 100644 Runtime/Scripts/MainBufferType.cs create mode 100644 Runtime/Scripts/MainBufferType.cs.meta rename Runtime/Scripts/{PrimitiveCreateContext.cs => MeshResultGenerator.cs} (86%) rename Runtime/Scripts/{PrimitiveCreateContext.cs.meta => MeshResultGenerator.cs.meta} (100%) rename Runtime/Scripts/{PrimitiveCreateContextBase.cs => MeshResultGeneratorBase.cs} (88%) rename Runtime/Scripts/{PrimitiveCreateContextBase.cs.meta => MeshResultGeneratorBase.cs.meta} (100%) rename Runtime/Scripts/{MorphTargetContext.cs => MorphTargetsGenerator.cs} (91%) rename Runtime/Scripts/{MorphTargetContext.cs.meta => MorphTargetsGenerator.cs.meta} (100%) create mode 100644 Runtime/Scripts/Schema/GltfAccessorAttributeType.cs create mode 100644 Runtime/Scripts/Schema/GltfAccessorAttributeType.cs.meta create mode 100644 Runtime/Scripts/Schema/GltfComponentType.cs create mode 100644 Runtime/Scripts/Schema/GltfComponentType.cs.meta rename Runtime/Scripts/{VertexBufferConfig.cs => VertexBufferGenerator.cs} (94%) rename Runtime/Scripts/{VertexBufferConfig.cs.meta => VertexBufferGenerator.cs.meta} (100%) rename Runtime/Scripts/{VertexBufferConfigBase.cs => VertexBufferGeneratorBase.cs} (97%) rename Runtime/Scripts/{VertexBufferConfigBase.cs.meta => VertexBufferGeneratorBase.cs.meta} (100%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0b9f29bf5..f8465a3da 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,26 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [6.9.1] - 2024-11-15 + +### Added +- (Test) `OpenGltfScene` with open glTF file dialog for convenient testing. +- (Test) Tests for C# jobs that calculate or re-order indices. +- Third party notices. + +### Changed +- Node name is assigned earlier during instantiation, enabling easier node identification by name (partially fixes [#724](https://github.com/atteneder/glTFast/issues/724)). +- (Test) Updated test project dependencies. +- (CI) Migrated code coverage. +- Code refactoring + - Flattened `GltfImportBase.Prepare` by extracting many large code blocks into dedicated methods. + - Improved class/field naming. It's now less deceptive and more uniform. + - Using `NativeArray` directly/only instead of `AccessorData` classes/managed arrays. With this change `NativeArrays` are used for index buffers as well which reduces the amount of managed memory allocated. +- Facilitated use of safer NativeCollections in C# jobs that calculate or re-order indices instead of `unsafe` / pointers. + +### Fixed +- Made sure that mesh primitives of different drawmode (topology) are not mixed up. + ## [6.9.0] - 2024-10-30 ### Added diff --git a/Documentation~/development.md b/Documentation~/development.md index 856c2f81a..b73f36bce 100644 --- a/Documentation~/development.md +++ b/Documentation~/development.md @@ -11,6 +11,7 @@ As prerequisites you'll need to [install](installation.md) a version of Unity&re - [Test Projects](test-project-setup.md) - [Provided Projects](test-project-setup.md#test-projects) - [Custom Project](test-project-setup.md#setup-a-custom-project) +- [Load glTF files](test-open-file.md) - [Run Tests](tests.md) - [Contribute](contributing.md) diff --git a/Documentation~/test-open-file.md b/Documentation~/test-open-file.md new file mode 100644 index 000000000..819de6d39 --- /dev/null +++ b/Documentation~/test-open-file.md @@ -0,0 +1,18 @@ +# Open glTF files + +During development there's often the need to load designated, custom glTF files. + +## Open glTF File Dialog + +A convenient way to do this is the *OpenGltfScene* scene, which is located in the project view under `Packages/Unity glTFast Tests/Tests/Runtime/Scenes` and enter play mode. An open file dialog for opening `.gltf`/`.glb` files will be displayed. The selected glTF file will be loaded and instantiated into the scene and can be inspected, if it succeeded. + +Press *Control* and *G* to repeatedly open the same open file dialog within the same play mode session. + +> [!NOTE] +> This convenient open file dialog works in the Editor only and won't work in a build. + +You can copy and modify the scene to make further adjustments like camera position, lighting, etc. + +## Custom Test Environment + +If you have many test iterations on one file or you want to load multiple files at once the open file dialog above might not work well for you. An alternative is to create a custom test scene that utilizes the [GltfAsset](ImportRuntime.md#runtime-loading-via-component) component or [custom load scripting](ImportRuntime.md#runtime-loading-via-script) to run your tailored test procedure. diff --git a/Runtime/Scripts/AccessorData.cs b/Runtime/Scripts/AccessorData.cs deleted file mode 100644 index 79e3eba64..000000000 --- a/Runtime/Scripts/AccessorData.cs +++ /dev/null @@ -1,59 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using System; -using System.Runtime.InteropServices; -using UnityEngine; -using Unity.Collections; - -namespace GLTFast -{ - [Flags] - enum AccessorUsage - { - Unknown = 0, - Ignore = 1 << 0, - Index = 1 << 1, - IndexFlipped = 1 << 2, - Position = 1 << 3, - Normal = 1 << 4, - Tangent = 1 << 5, - UV = 1 << 6, - Color = 1 << 7, - InverseBindMatrix = 1 << 8, - AnimationTimes = 1 << 9, - Translation = 1 << 10, - Rotation = 1 << 11, - Scale = 1 << 12, - Weight = 1 << 13, - RequiredForInstantiation = 1 << 14 - } - - abstract class AccessorDataBase - { - public abstract void Unpin(); - public abstract void Dispose(); - } - - class AccessorData : AccessorDataBase - { - public T[] data; - public GCHandle gcHandle; - - public override void Unpin() - { - gcHandle.Free(); - } - public override void Dispose() { } - } - - class AccessorNativeData : AccessorDataBase where T : struct - { - public NativeArray data; - public override void Unpin() { } - public override void Dispose() - { - data.Dispose(); - } - } -} diff --git a/Runtime/Scripts/AccessorUsage.cs b/Runtime/Scripts/AccessorUsage.cs new file mode 100644 index 000000000..09754b156 --- /dev/null +++ b/Runtime/Scripts/AccessorUsage.cs @@ -0,0 +1,29 @@ +// SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +using UnityEngine; + +namespace GLTFast +{ + [Flags] + enum AccessorUsage + { + Unknown = 0, + Ignore = 1 << 0, + Index = 1 << 1, + IndexFlipped = 1 << 2, + Position = 1 << 3, + Normal = 1 << 4, + Tangent = 1 << 5, + UV = 1 << 6, + Color = 1 << 7, + InverseBindMatrix = 1 << 8, + AnimationTimes = 1 << 9, + Translation = 1 << 10, + Rotation = 1 << 11, + Scale = 1 << 12, + Weight = 1 << 13, + RequiredForInstantiation = 1 << 14 + } +} diff --git a/Runtime/Scripts/AccessorData.cs.meta b/Runtime/Scripts/AccessorUsage.cs.meta similarity index 100% rename from Runtime/Scripts/AccessorData.cs.meta rename to Runtime/Scripts/AccessorUsage.cs.meta diff --git a/Runtime/Scripts/PrimitiveDracoCreateContext.cs b/Runtime/Scripts/DracoMeshResultGenerator.cs similarity index 95% rename from Runtime/Scripts/PrimitiveDracoCreateContext.cs rename to Runtime/Scripts/DracoMeshResultGenerator.cs index 96eecd06e..e901fe98e 100644 --- a/Runtime/Scripts/PrimitiveDracoCreateContext.cs +++ b/Runtime/Scripts/DracoMeshResultGenerator.cs @@ -15,7 +15,7 @@ namespace GLTFast { - class PrimitiveDracoCreateContext : PrimitiveCreateContextBase { + class DracoMeshResultGenerator : MeshResultGeneratorBase { Task m_DracoTask; Bounds? m_Bounds; @@ -25,7 +25,7 @@ class PrimitiveDracoCreateContext : PrimitiveCreateContextBase { public override bool IsCompleted => m_DracoTask!=null && m_DracoTask.IsCompleted; - public PrimitiveDracoCreateContext( + public DracoMeshResultGenerator( int meshIndex, int primitiveIndex, int subMeshCount, @@ -52,7 +52,7 @@ public void StartDecode(NativeSlice data, Attributes dracoAttributes) { flags |= DecodeSettings.RequireNormals; } - if (morphTargetsContext != null) + if (morphTargetsGenerator != null) { flags |= DecodeSettings.ForceUnityVertexLayout; } @@ -88,8 +88,8 @@ public void StartDecode(NativeSlice data, Attributes dracoAttributes) mesh.RecalculateBounds(); } - if (morphTargetsContext != null) { - await morphTargetsContext.ApplyOnMeshAndDispose(mesh); + if (morphTargetsGenerator != null) { + await morphTargetsGenerator.ApplyOnMeshAndDispose(mesh); } #if GLTFAST_KEEP_MESH_DATA diff --git a/Runtime/Scripts/PrimitiveDracoCreateContext.cs.meta b/Runtime/Scripts/DracoMeshResultGenerator.cs.meta similarity index 100% rename from Runtime/Scripts/PrimitiveDracoCreateContext.cs.meta rename to Runtime/Scripts/DracoMeshResultGenerator.cs.meta diff --git a/Runtime/Scripts/Export/Constants.cs b/Runtime/Scripts/Export/Constants.cs index b679219fd..76774b463 100644 --- a/Runtime/Scripts/Export/Constants.cs +++ b/Runtime/Scripts/Export/Constants.cs @@ -7,7 +7,7 @@ namespace GLTFast.Export { static class Constants { - public const string version = "6.9.0"; + public const string version = "6.9.1"; internal const string mimeTypePNG = "image/png"; internal const string mimeTypeJPG = "image/jpeg"; diff --git a/Runtime/Scripts/GameObjectInstantiator.cs b/Runtime/Scripts/GameObjectInstantiator.cs index 4fca662f5..7d4cd2f36 100644 --- a/Runtime/Scripts/GameObjectInstantiator.cs +++ b/Runtime/Scripts/GameObjectInstantiator.cs @@ -583,7 +583,7 @@ GameObject gameObject /// /// Provides information for when a mesh was added to a node GameObject /// - /// GameObject that holds the Msh. + /// GameObject that holds the Mesh. /// Index of the node /// Mesh's name /// The converted Mesh diff --git a/Runtime/Scripts/GltfImport.cs b/Runtime/Scripts/GltfImport.cs index 15a75b772..c79d8b823 100755 --- a/Runtime/Scripts/GltfImport.cs +++ b/Runtime/Scripts/GltfImport.cs @@ -197,11 +197,11 @@ public abstract class GltfImportBase : IGltfReadable, IGltfBuffers, IDisposable #endif Dictionary m_TextureDownloadTasks; - AccessorDataBase[] m_AccessorData; + IDisposable[] m_AccessorData; AccessorUsage[] m_AccessorUsage; JobHandle m_AccessorJobsHandle; - PrimitiveCreateContextBase[] m_PrimitiveContexts; - Dictionary m_VertexAttributes; + MeshResultGeneratorBase[] m_MeshResultGenerators; + Dictionary m_VertexBufferGenerators; /// /// Array of dictionaries, indexed by mesh ID /// The dictionary contains all the mesh's primitives, clustered @@ -266,8 +266,8 @@ public abstract class GltfImportBase : IGltfReadable, IGltfBuffers, IDisposable /// string[] m_NodeNames; - MeshResult[] m_Primitives; - int[] m_MeshPrimitiveIndex; + MeshResult[] m_MeshResults; + int[] m_MeshResultIndex; Matrix4x4[][] m_SkinsInverseBindMatrices; #if UNITY_ANIMATION AnimationClip[] m_AnimationClips; @@ -922,11 +922,11 @@ public AnimationClip[] GetAnimationClips() { /// All imported meshes public UnityEngine.Mesh[] GetMeshes() { - if (m_Primitives == null || m_Primitives.Length < 1) return null; - var result = new UnityEngine.Mesh[m_Primitives.Length]; - for (var index = 0; index < m_Primitives.Length; index++) + if (m_MeshResults == null || m_MeshResults.Length < 1) return null; + var result = new UnityEngine.Mesh[m_MeshResults.Length]; + for (var index = 0; index < m_MeshResults.Length; index++) { - var primitive = m_Primitives[index]; + var primitive = m_MeshResults[index]; result[index] = primitive.mesh; } return result; @@ -989,11 +989,11 @@ public MeshPrimitiveBase GetSourceMeshPrimitive(int meshIndex, int primitiveInde /// public IMaterialsVariantsSlot[] GetMaterialsVariantsSlots(int meshIndex, int meshResultOffset) { - var meshResultIndex = m_MeshPrimitiveIndex[meshIndex] + meshResultOffset; - Assert.IsTrue(meshResultIndex < m_MeshPrimitiveIndex[meshIndex + 1]); + var meshResultIndex = m_MeshResultIndex[meshIndex] + meshResultOffset; + Assert.IsTrue(meshResultIndex < m_MeshResultIndex[meshIndex + 1]); List materialSlots = null; - var meshResult = m_Primitives[meshResultIndex]; + var meshResult = m_MeshResults[meshResultIndex]; foreach (var primitiveIndex in meshResult.primitiveIndices) { var primitive = GetSourceMeshPrimitive(meshIndex, primitiveIndex); @@ -2001,7 +2001,7 @@ async Task Prepare() { if (Root.Meshes != null) { - m_MeshPrimitiveIndex = new int[Root.Meshes.Count + 1]; + m_MeshResultIndex = new int[Root.Meshes.Count + 1]; } m_Resources = new List(); @@ -2043,16 +2043,12 @@ async Task Prepare() await Task.Yield(); } m_AccessorJobsHandle.Complete(); - foreach (var ad in m_AccessorData) - { - ad?.Unpin(); - } } if (!success) return success; if (Root.Meshes != null) { - await CreatePrimitiveContexts(Root); + await CreateMeshResultGenerators(Root); } #if KTX @@ -2063,156 +2059,28 @@ async Task Prepare() if (m_ImageCreateContexts != null) { - var imageCreateContextsLeft = true; - while (imageCreateContextsLeft) - { - var loadedAny = false; - for (int i = m_ImageCreateContexts.Count - 1; i >= 0; i--) - { - var jh = m_ImageCreateContexts[i]; - if (jh.jobHandle.IsCompleted) - { - jh.jobHandle.Complete(); -#if UNITY_IMAGECONVERSION - m_Images[jh.imageIndex].LoadImage( - jh.buffer, -#if UNITY_VISIONOS - false -#else - !m_Settings.TexturesReadable && !m_ImageReadable[jh.imageIndex] -#endif - ); -#endif - jh.gcHandle.Free(); - m_ImageCreateContexts.RemoveAt(i); - loadedAny = true; - await m_DeferAgent.BreakPoint(); - } - } - imageCreateContextsLeft = m_ImageCreateContexts.Count > 0; - if (!loadedAny && imageCreateContextsLeft) - { - await Task.Yield(); - } - } - m_ImageCreateContexts = null; + await WaitForImageCreateContexts(); } if (m_Images != null && Root.Textures != null) { - SamplerKey defaultKey = new SamplerKey(new Sampler()); - m_Textures = new Texture2D[Root.Textures.Count]; - var imageVariants = new Dictionary[m_Images.Length]; - for (int textureIndex = 0; textureIndex < Root.Textures.Count; textureIndex++) - { - var txt = Root.Textures[textureIndex]; - SamplerKey key; - Sampler sampler = null; - if (txt.sampler >= 0) - { - sampler = Root.Samplers[txt.sampler]; - key = new SamplerKey(sampler); - } - else - { - key = defaultKey; - } - - var imageIndex = txt.GetImageIndex(); - if (imageIndex < 0 || imageIndex >= Root.Images.Count) continue; - var img = m_Images[imageIndex]; - if (imageVariants[imageIndex] == null) - { - if (txt.sampler >= 0) - { - sampler.Apply(img, m_Settings.DefaultMinFilterMode, m_Settings.DefaultMagFilterMode); - } - imageVariants[imageIndex] = new Dictionary(); - imageVariants[imageIndex][key] = img; - m_Textures[textureIndex] = img; - } - else - { - if (imageVariants[imageIndex].TryGetValue(key, out var imgVariant)) - { - m_Textures[textureIndex] = imgVariant; - } - else - { - var newImg = UnityEngine.Object.Instantiate(img); - m_Resources.Add(newImg); -#if DEBUG - newImg.name = $"{img.name}_sampler{txt.sampler}"; - m_Logger?.Warning(LogCode.ImageMultipleSamplers,imageIndex.ToString()); -#endif - sampler?.Apply(newImg, m_Settings.DefaultMinFilterMode, m_Settings.DefaultMagFilterMode); - imageVariants[imageIndex][key] = newImg; - m_Textures[textureIndex] = newImg; - } - } - } + PopulateTexturesAndImageVariants(); } if (Root.Materials != null) { - m_Materials = new UnityEngine.Material[Root.Materials.Count]; - for (var i = 0; i < m_Materials.Length; i++) - { - await m_DeferAgent.BreakPoint(.0001f); - Profiler.BeginSample("GenerateMaterial"); - m_MaterialGenerator.SetLogger(m_Logger); - var pointsSupport = GetMaterialPointsSupport(i); - var material = m_MaterialGenerator.GenerateMaterial( - Root.Materials[i], - this, - pointsSupport - ); - m_Materials[i] = material; - m_MaterialGenerator.SetLogger(null); - Profiler.EndSample(); - } + await GenerateMaterials(); } await m_DeferAgent.BreakPoint(); - if (m_PrimitiveContexts != null) + if (m_MeshResultGenerators != null) { - for (int i = 0; i < m_PrimitiveContexts.Length; i++) - { - var primitiveContext = m_PrimitiveContexts[i]; - if (primitiveContext == null) continue; - while (!primitiveContext.IsCompleted) - { - await Task.Yield(); - } - } + await WaitForAllMeshGenerators(); await m_DeferAgent.BreakPoint(); await AssignAllAccessorData(Root); - for (int i = 0; i < m_PrimitiveContexts.Length; i++) - { - var primitiveContext = m_PrimitiveContexts[i]; - while (!primitiveContext.IsCompleted) - { - await Task.Yield(); - } - var primitive = await primitiveContext.CreatePrimitive(); - // The import failed :\ - // await defaultDeferAgent.BreakPoint(); - - if (primitive.HasValue) - { - m_Primitives[primitiveContext.PrimitiveIndex] = primitive.Value; - m_Resources.Add(primitive.Value.mesh); - } - else - { - success = false; - break; - } - - await m_DeferAgent.BreakPoint(); - } + success = await CreateAllPrimitives(); } #if UNITY_ANIMATION @@ -2240,125 +2108,147 @@ async Task Prepare() } if (skeletonMissing) { - for (int skinId = 0; skinId < Root.Skins.Count; skinId++) - { - var skin = Root.Skins[skinId]; - if (skin.skeleton < 0) - { - skin.skeleton = GetLowestCommonAncestorNode(skin.joints, parentIndex); - } - } + CalculateSkinSkeletons(parentIndex); } } #if UNITY_ANIMATION - if (Root.HasAnimation && m_Settings.AnimationMethod != AnimationMethod.None) { + if (Root.HasAnimation && m_Settings.AnimationMethod != AnimationMethod.None) + { + CreateAnimationClips(parentIndex); + } +#endif - m_AnimationClips = new AnimationClip[Root.Animations.Count]; - for (var i = 0; i < Root.Animations.Count; i++) { - var animation = Root.Animations[i]; - m_AnimationClips[i] = new AnimationClip(); - m_AnimationClips[i].name = animation.name ?? $"Clip_{i}"; + DisposeVolatileAccessorData(); + return success; + } - // Legacy Animation requirement - m_AnimationClips[i].legacy = m_Settings.AnimationMethod == AnimationMethod.Legacy; - m_AnimationClips[i].wrapMode = WrapMode.Loop; +#if UNITY_ANIMATION + void CreateAnimationClips(int[] parentIndex) + { + m_AnimationClips = new AnimationClip[Root.Animations.Count]; + for (var i = 0; i < Root.Animations.Count; i++) { + var animation = Root.Animations[i]; + m_AnimationClips[i] = new AnimationClip + { + name = animation.name ?? $"Clip_{i}", - for (int j = 0; j < animation.Channels.Count; j++) { - var channel = animation.Channels[j]; - if (channel.sampler < 0 || channel.sampler >= animation.Samplers.Count) { - m_Logger?.Error(LogCode.AnimationChannelSamplerInvalid, j.ToString()); - continue; - } - var sampler = animation.Samplers[channel.sampler]; - if (sampler == null || sampler.output < 0 || sampler.output >= Root.Accessors.Count) - { - m_Logger?.Error(LogCode.AnimationChannelSamplerInvalid, j.ToString()); - continue; - } - if (channel.Target.node < 0 || channel.Target.node >= Root.Nodes.Count) { - m_Logger?.Error(LogCode.AnimationChannelNodeInvalid, j.ToString()); - continue; - } + // Legacy Animation requirement + legacy = m_Settings.AnimationMethod == AnimationMethod.Legacy, + wrapMode = WrapMode.Loop + }; + + for (var j = 0; j < animation.Channels.Count; j++) { + var channel = animation.Channels[j]; + if (channel.sampler < 0 || channel.sampler >= animation.Samplers.Count) { + m_Logger?.Error(LogCode.AnimationChannelSamplerInvalid, j.ToString()); + continue; + } + var sampler = animation.Samplers[channel.sampler]; + if (sampler == null || sampler.output < 0 || sampler.output >= Root.Accessors.Count) + { + m_Logger?.Error(LogCode.AnimationChannelSamplerInvalid, j.ToString()); + continue; + } + if (channel.Target.node < 0 || channel.Target.node >= Root.Nodes.Count) { + m_Logger?.Error(LogCode.AnimationChannelNodeInvalid, j.ToString()); + continue; + } - var path = AnimationUtils.CreateAnimationPath(channel.Target.node,m_NodeNames,parentIndex); + var path = AnimationUtils.CreateAnimationPath(channel.Target.node,m_NodeNames,parentIndex); - var times = ((AccessorNativeData) m_AccessorData[sampler.input]).data; + var times = (NativeArray) m_AccessorData[sampler.input]; - var outputData = m_AccessorData[sampler.output]; - Assert.IsNotNull(outputData); + var outputData = m_AccessorData[sampler.output]; + Assert.IsNotNull(outputData); - switch (channel.Target.GetPath()) { - case AnimationChannel.Path.Translation: { - Assert.IsTrue(outputData is AccessorNativeData); - var values = ((AccessorNativeData) outputData).data; - AnimationUtils.AddTranslationCurves(m_AnimationClips[i], path, times, values, sampler.GetInterpolationType()); - break; - } - case AnimationChannel.Path.Rotation: { - Assert.IsTrue(outputData is AccessorNativeData); - var values = ((AccessorNativeData) outputData).data; - AnimationUtils.AddRotationCurves(m_AnimationClips[i], path, times, values, sampler.GetInterpolationType()); - break; - } - case AnimationChannel.Path.Scale: { - Assert.IsTrue(outputData is AccessorNativeData); - var values = ((AccessorNativeData) outputData).data; - AnimationUtils.AddScaleCurves(m_AnimationClips[i], path, times, values, sampler.GetInterpolationType()); + switch (channel.Target.GetPath()) { + case AnimationChannelBase.Path.Translation: { + Assert.IsTrue(outputData is NativeArray); + var values = (NativeArray) outputData; + AnimationUtils.AddTranslationCurves(m_AnimationClips[i], path, times, values, sampler.GetInterpolationType()); + break; + } + case AnimationChannelBase.Path.Rotation: { + Assert.IsTrue(outputData is NativeArray); + var values = (NativeArray) outputData; + AnimationUtils.AddRotationCurves(m_AnimationClips[i], path, times, values, sampler.GetInterpolationType()); + break; + } + case AnimationChannelBase.Path.Scale: { + Assert.IsTrue(outputData is NativeArray); + var values = (NativeArray) outputData; + AnimationUtils.AddScaleCurves(m_AnimationClips[i], path, times, values, sampler.GetInterpolationType()); + break; + } + case AnimationChannelBase.Path.Weights: { + Assert.IsTrue(outputData is NativeArray); + var values = (NativeArray) outputData; + var node = Root.Nodes[channel.Target.node]; + if (node.mesh < 0 || node.mesh >= Root.Meshes.Count) { break; } - case AnimationChannel.Path.Weights: { - Assert.IsTrue(outputData is AccessorNativeData); - var values = ((AccessorNativeData) outputData).data; - var node = Root.Nodes[channel.Target.node]; - if (node.mesh < 0 || node.mesh >= Root.Meshes.Count) { - break; - } - var mesh = Root.Meshes[node.mesh]; + var mesh = Root.Meshes[node.mesh]; + AnimationUtils.AddMorphTargetWeightCurves( + m_AnimationClips[i], + path, + times, + values, + sampler.GetInterpolationType(), + mesh.Extras?.targetNames + ); + + // HACK BEGIN: + // Since meshes with multiple primitives that are not using + // identical vertex buffers are split up into separate Unity + // Meshes. Because of this, we have to duplicate the animation + // curves, so that all primitives are animated. + // TODO: Refactor primitive sub-meshing and remove this hack + // https://github.com/atteneder/glTFast/issues/153 + var meshName = string.IsNullOrEmpty(mesh.name) ? k_PrimitiveName : mesh.name; + var primitiveCount = m_MeshResultIndex[node.mesh + 1] - m_MeshResultIndex[node.mesh]; + for (var k = 1; k < primitiveCount; k++) { + var primitiveName = $"{meshName}_{k}"; AnimationUtils.AddMorphTargetWeightCurves( m_AnimationClips[i], - path, + $"{path}/{primitiveName}", times, values, sampler.GetInterpolationType(), mesh.Extras?.targetNames - ); - - // HACK BEGIN: - // Since meshes with multiple primitives that are not using - // identical vertex buffers are split up into separate Unity - // Meshes. Because of this, we have to duplicate the animation - // curves, so that all primitives are animated. - // TODO: Refactor primitive sub-meshing and remove this hack - // https://github.com/atteneder/glTFast/issues/153 - var meshName = string.IsNullOrEmpty(mesh.name) ? k_PrimitiveName : mesh.name; - var primitiveCount = m_MeshPrimitiveIndex[node.mesh + 1] - m_MeshPrimitiveIndex[node.mesh]; - for (var k = 1; k < primitiveCount; k++) { - var primitiveName = $"{meshName}_{k}"; - AnimationUtils.AddMorphTargetWeightCurves( - m_AnimationClips[i], - $"{path}/{primitiveName}", - times, - values, - sampler.GetInterpolationType(), - mesh.Extras?.targetNames - ); - } - // HACK END - break; + ); } - case AnimationChannel.Path.Pointer: - m_Logger?.Warning(LogCode.AnimationTargetPathUnsupported,channel.Target.GetPath().ToString()); - break; - default: - m_Logger?.Error(LogCode.AnimationTargetPathUnsupported,channel.Target.GetPath().ToString()); - break; + // HACK END + break; } + case AnimationChannelBase.Path.Pointer: + m_Logger?.Warning(LogCode.AnimationTargetPathUnsupported,channel.Target.GetPath().ToString()); + break; + case AnimationChannelBase.Path.Unknown: + case AnimationChannelBase.Path.Invalid: + default: + m_Logger?.Error(LogCode.AnimationTargetPathUnsupported,channel.Target.GetPath().ToString()); + break; } } } -#endif + } +#endif // UNITY_ANIMATION + + void CalculateSkinSkeletons(int[] parentIndex) + { + foreach (var skin in Root.Skins) + { + if (skin.skeleton < 0) + { + skin.skeleton = GetLowestCommonAncestorNode(skin.joints, parentIndex); + } + } + } + + void DisposeVolatileAccessorData() + { // Dispose all accessor data buffers, except the ones needed for instantiation if (m_AccessorData != null) { @@ -2371,7 +2261,153 @@ async Task Prepare() } } } - return success; + } + + async Task CreateAllPrimitives() + { + foreach (var meshResultGenerator in m_MeshResultGenerators) + { + var primitive = await meshResultGenerator.CreatePrimitive(); + // The import failed :\ + // await defaultDeferAgent.BreakPoint(); + + if (primitive.HasValue) + { + m_MeshResults[meshResultGenerator.PrimitiveIndex] = primitive.Value; + m_Resources.Add(primitive.Value.mesh); + } + else + { + return false; + } + + await m_DeferAgent.BreakPoint(); + } + + return true; + } + + async Task WaitForAllMeshGenerators() + { + foreach (var meshResultGenerator in m_MeshResultGenerators) + { + if (meshResultGenerator == null) continue; + while (!meshResultGenerator.IsCompleted) + { + await Task.Yield(); + } + } + } + + async Task GenerateMaterials() + { + m_Materials = new UnityEngine.Material[Root.Materials.Count]; + for (var i = 0; i < m_Materials.Length; i++) + { + await m_DeferAgent.BreakPoint(.0001f); + Profiler.BeginSample("GenerateMaterial"); + m_MaterialGenerator.SetLogger(m_Logger); + var pointsSupport = GetMaterialPointsSupport(i); + var material = m_MaterialGenerator.GenerateMaterial( + Root.Materials[i], + this, + pointsSupport + ); + m_Materials[i] = material; + m_MaterialGenerator.SetLogger(null); + Profiler.EndSample(); + } + } + + void PopulateTexturesAndImageVariants() + { + var defaultKey = new SamplerKey(new Sampler()); + m_Textures = new Texture2D[Root.Textures.Count]; + var imageVariants = new Dictionary[m_Images.Length]; + for (var textureIndex = 0; textureIndex < Root.Textures.Count; textureIndex++) + { + var txt = Root.Textures[textureIndex]; + SamplerKey key; + Sampler sampler = null; + if (txt.sampler >= 0) + { + sampler = Root.Samplers[txt.sampler]; + key = new SamplerKey(sampler); + } + else + { + key = defaultKey; + } + + var imageIndex = txt.GetImageIndex(); + if (imageIndex < 0 || imageIndex >= Root.Images.Count) continue; + var img = m_Images[imageIndex]; + if (imageVariants[imageIndex] == null) + { + sampler?.Apply(img, m_Settings.DefaultMinFilterMode, m_Settings.DefaultMagFilterMode); + imageVariants[imageIndex] = new Dictionary + { + [key] = img + }; + m_Textures[textureIndex] = img; + } + else + { + if (imageVariants[imageIndex].TryGetValue(key, out var imgVariant)) + { + m_Textures[textureIndex] = imgVariant; + } + else + { + var newImg = UnityEngine.Object.Instantiate(img); + m_Resources.Add(newImg); +#if DEBUG + newImg.name = $"{img.name}_sampler{txt.sampler}"; + m_Logger?.Warning(LogCode.ImageMultipleSamplers,imageIndex.ToString()); +#endif + sampler?.Apply(newImg, m_Settings.DefaultMinFilterMode, m_Settings.DefaultMagFilterMode); + imageVariants[imageIndex][key] = newImg; + m_Textures[textureIndex] = newImg; + } + } + } + } + + async Task WaitForImageCreateContexts() + { + var imageCreateContextsLeft = true; + while (imageCreateContextsLeft) + { + var loadedAny = false; + for (var i = m_ImageCreateContexts.Count - 1; i >= 0; i--) + { + var jh = m_ImageCreateContexts[i]; + if (jh.jobHandle.IsCompleted) + { + jh.jobHandle.Complete(); +#if UNITY_IMAGECONVERSION + m_Images[jh.imageIndex].LoadImage( + jh.buffer, +#if UNITY_VISIONOS + false +#else + !m_Settings.TexturesReadable && !m_ImageReadable[jh.imageIndex] +#endif + ); +#endif + jh.gcHandle.Free(); + m_ImageCreateContexts.RemoveAt(i); + loadedAny = true; + await m_DeferAgent.BreakPoint(); + } + } + imageCreateContextsLeft = m_ImageCreateContexts.Count > 0; + if (!loadedAny && imageCreateContextsLeft) + { + await Task.Yield(); + } + } + m_ImageCreateContexts = null; } void SetMaterialPointsSupport(int materialIndex) @@ -2491,14 +2527,14 @@ static string GetUniqueNodeName(RootBase gltf, uint index, ICollection e void DisposeVolatileData() { - if (m_VertexAttributes != null) + if (m_VertexBufferGenerators != null) { - foreach (var vac in m_VertexAttributes.Values) + foreach (var vac in m_VertexBufferGenerators.Values) { vac.Dispose(); } } - m_VertexAttributes = null; + m_VertexBufferGenerators = null; // Unpin managed buffer arrays if (m_BufferHandles != null) @@ -2531,7 +2567,7 @@ void DisposeVolatileData() m_TextureDownloadTasks = null; m_AccessorUsage = null; - m_PrimitiveContexts = null; + m_MeshResultGenerators = null; m_MeshPrimitiveCluster = null; m_ImageCreateContexts = null; m_Images = null; @@ -2587,6 +2623,24 @@ void CreateHierarchy(uint nodeIndex, uint? parentIndex) var node = Root.Nodes[(int)nodeIndex]; node.GetTransform(out var position, out var rotation, out var scale); instantiator.CreateNode(nodeIndex, parentIndex, position, rotation, scale); + + var nodeName = m_NodeNames == null ? node.name : m_NodeNames[nodeIndex]; + if (nodeName == null && node.mesh >= 0) + { + // Fallback name for Node is first valid Mesh name + var end = m_MeshResultIndex[node.mesh + 1]; + for (var i = m_MeshResultIndex[node.mesh]; i < end; i++) + { + var mesh = m_MeshResults[i].mesh; + if (!string.IsNullOrEmpty(mesh.name)) + { + nodeName = mesh.name; + break; + } + } + } + + instantiator.SetNodeName(nodeIndex, nodeName); Profiler.EndSample(); } @@ -2595,19 +2649,16 @@ void PopulateHierarchy(uint nodeIndex, uint? parentIndex) Profiler.BeginSample("PopulateHierarchy"); var node = Root.Nodes[(int)nodeIndex]; - var goName = m_NodeNames == null ? node.name : m_NodeNames[nodeIndex]; if (node.mesh >= 0) { - var end = m_MeshPrimitiveIndex[node.mesh + 1]; + var end = m_MeshResultIndex[node.mesh + 1]; var primitiveCount = 0; - for (var i = m_MeshPrimitiveIndex[node.mesh]; i < end; i++) + for (var i = m_MeshResultIndex[node.mesh]; i < end; i++) { - var primitive = m_Primitives[i]; + var primitive = m_MeshResults[i]; var mesh = primitive.mesh; var meshName = string.IsNullOrEmpty(mesh.name) ? null : mesh.name; - // Fallback name for Node is first valid Mesh name - goName = goName ?? meshName; uint[] joints = null; uint? rootJoint = null; @@ -2663,26 +2714,26 @@ void PopulateHierarchy(uint nodeIndex, uint? parentIndex) if (hasTranslations) { - positions = ((AccessorNativeData)m_AccessorData[meshInstancing.attributes.TRANSLATION]).data; + positions = (NativeArray)m_AccessorData[meshInstancing.attributes.TRANSLATION]; instanceCount = (uint)positions.Value.Length; } if (hasRotations) { - rotations = ((AccessorNativeData)m_AccessorData[meshInstancing.attributes.ROTATION]).data; + rotations = (NativeArray)m_AccessorData[meshInstancing.attributes.ROTATION]; instanceCount = (uint)rotations.Value.Length; } if (hasScales) { - scales = ((AccessorNativeData)m_AccessorData[meshInstancing.attributes.SCALE]).data; + scales = (NativeArray)m_AccessorData[meshInstancing.attributes.SCALE]; instanceCount = (uint)scales.Value.Length; } instantiator.AddPrimitiveInstanced( nodeIndex, primitiveName, - m_Primitives[i], + m_MeshResults[i], instanceCount, positions, rotations, @@ -2695,8 +2746,6 @@ void PopulateHierarchy(uint nodeIndex, uint? parentIndex) } } - instantiator.SetNodeName(nodeIndex, goName); - if (node.camera >= 0 && gltf.Cameras != null && node.camera < gltf.Cameras.Count @@ -3019,7 +3068,7 @@ async Task LoadAccessorData(RootBase gltf) m_MeshPrimitiveCluster = meshCount > 0 ? new Dictionary>[meshCount] : null; - Dictionary morphTargetsContexts = null; + Dictionary morphTargetsGenerators = null; #if DEBUG var perAttributeMeshCollection = new Dictionary>(); #endif @@ -3029,11 +3078,11 @@ async Task LoadAccessorData(RootBase gltf) LoadAccessorDataEvent?.Invoke(); - int totalPrimitives = 0; + var meshResultCount = 0; for (int meshIndex = 0; meshIndex < meshCount; meshIndex++) { var mesh = gltf.Meshes[meshIndex]; - m_MeshPrimitiveIndex[meshIndex] = totalPrimitives; + m_MeshResultIndex[meshIndex] = meshResultCount; var cluster = new Dictionary>(s_MeshPrimitiveComparer); for (var primIndex = 0; primIndex < mesh.Primitives.Count; primIndex++) @@ -3047,17 +3096,17 @@ async Task LoadAccessorData(RootBase gltf) if (primitive.targets != null) { - if (morphTargetsContexts == null) + if (morphTargetsGenerators == null) { - morphTargetsContexts = new Dictionary(s_MeshPrimitiveComparer); + morphTargetsGenerators = new Dictionary(s_MeshPrimitiveComparer); } - else if (morphTargetsContexts.ContainsKey(primitive)) + else if (morphTargetsGenerators.ContainsKey(primitive)) { continue; } - var morphTargetsContext = CreateMorphTargetsContext(primitive, mesh.Extras?.targetNames); - morphTargetsContexts[primitive] = morphTargetsContext; + var morphTargetsGenerator = CreateMorphTargetsGenerator(primitive, mesh.Extras?.targetNames); + morphTargetsGenerators[primitive] = morphTargetsGenerator; } #if DRACO_UNITY var isDraco = primitive.IsDracoCompressed; @@ -3127,7 +3176,7 @@ async Task LoadAccessorData(RootBase gltf) } } m_MeshPrimitiveCluster[meshIndex] = cluster; - totalPrimitives += cluster.Count; + meshResultCount += cluster.Count; } if (gltf.Skins != null) @@ -3165,14 +3214,14 @@ async Task LoadAccessorData(RootBase gltf) } } - if (m_MeshPrimitiveIndex != null) + if (m_MeshResultIndex != null) { - m_MeshPrimitiveIndex[meshCount] = totalPrimitives; + m_MeshResultIndex[meshCount] = meshResultCount; } - m_Primitives = new MeshResult[totalPrimitives]; - m_PrimitiveContexts = new PrimitiveCreateContextBase[totalPrimitives]; + m_MeshResults = new MeshResult[meshResultCount]; + m_MeshResultGenerators = new MeshResultGeneratorBase[meshResultCount]; var tmpList = new List(mainBufferTypes.Count); - m_VertexAttributes = new Dictionary( + m_VertexBufferGenerators = new Dictionary( mainBufferTypes.Count, s_MeshPrimitiveComparer ); @@ -3188,12 +3237,13 @@ async Task LoadAccessorData(RootBase gltf) var success = true; - foreach (var mainBufferType in mainBufferTypes) + foreach (var mainBufferTypePair in mainBufferTypes) { + var primitive = mainBufferTypePair.Key; + var mainBufferType = mainBufferTypePair.Value; Profiler.BeginSample("LoadAccessorData.ScheduleVertexJob"); - var primitive = mainBufferType.Key; var att = primitive.attributes; bool hasNormals = att.NORMAL >= 0; @@ -3246,27 +3296,27 @@ async Task LoadAccessorData(RootBase gltf) } } - VertexBufferConfigBase config; - switch (mainBufferType.Value) + VertexBufferGeneratorBase generator; + switch (mainBufferType) { case MainBufferType.Position: - config = new VertexBufferConfig(m_Logger); + generator = new VertexBufferGenerator(m_Logger); break; case MainBufferType.PosNorm: - config = new VertexBufferConfig(m_Logger); + generator = new VertexBufferGenerator(m_Logger); break; case MainBufferType.PosNormTan: - config = new VertexBufferConfig(m_Logger); + generator = new VertexBufferGenerator(m_Logger); break; default: m_Logger?.Error(LogCode.BufferMainInvalidType, mainBufferType.ToString()); return false; } - config.calculateNormals = !hasNormals && (mainBufferType.Value & MainBufferType.Normal) > 0; - config.calculateTangents = !hasTangents && (mainBufferType.Value & MainBufferType.Tangent) > 0; - m_VertexAttributes[primitive] = config; + generator.calculateNormals = !hasNormals && (mainBufferType & MainBufferType.Normal) > 0; + generator.calculateTangents = !hasTangents && (mainBufferType & MainBufferType.Tangent) > 0; + m_VertexBufferGenerators[primitive] = generator; - var jh = config.ScheduleVertexJobs( + var jh = generator.ScheduleVertexJobs( this, att.POSITION, att.NORMAL, @@ -3297,11 +3347,11 @@ async Task LoadAccessorData(RootBase gltf) return false; } - if (morphTargetsContexts != null) + if (morphTargetsGenerators != null) { - foreach (var morphTargetsContext in morphTargetsContexts) + foreach (var morphTargetsGenerator in morphTargetsGenerators.Values) { - var jobHandle = morphTargetsContext.Value.GetJobHandle(); + var jobHandle = morphTargetsGenerator.GetJobHandle(); tmpList.Add(jobHandle); } } @@ -3336,7 +3386,7 @@ async Task LoadAccessorData(RootBase gltf) #endif // Retrieve indices data jobified - m_AccessorData = new AccessorDataBase[gltf.Accessors.Count]; + m_AccessorData = new IDisposable[gltf.Accessors.Count]; for (int i = 0; i < m_AccessorData.Length; i++) { @@ -3354,58 +3404,50 @@ async Task LoadAccessorData(RootBase gltf) case GltfAccessorAttributeType.SCALAR when m_AccessorUsage[i] == AccessorUsage.IndexFlipped || m_AccessorUsage[i] == AccessorUsage.Index: { - var ads = new AccessorData(); - GetIndicesJob(gltf, i, out ads.data, out var jh, out ads.gcHandle, m_AccessorUsage[i] == AccessorUsage.IndexFlipped); + GetIndicesJob(gltf, i, out var indices, out var jh, m_AccessorUsage[i] == AccessorUsage.IndexFlipped); tmpList.Add(jh.Value); - m_AccessorData[i] = ads; + m_AccessorData[i] = indices; break; } case GltfAccessorAttributeType.MAT4 when m_AccessorUsage[i] == AccessorUsage.InverseBindMatrix: { - // TODO: Maybe use AccessorData, since Mesh.bindposes only accepts C# arrays. - var ads = new AccessorNativeData(); - GetMatricesJob(gltf, i, out ads.data, out var jh); + // TODO: Maybe use Matrix4x4[], since Mesh.bindposes only accepts C# arrays. + GetMatricesJob(gltf, i, out var matrices, out var jh); tmpList.Add(jh.Value); - m_AccessorData[i] = ads; + m_AccessorData[i] = matrices; break; } case GltfAccessorAttributeType.VEC3 when (m_AccessorUsage[i] & AccessorUsage.Translation) != 0: { - var ads = new AccessorNativeData(); - GetVector3Job(gltf, i, out ads.data, out var jh, true); + GetVector3Job(gltf, i, out var data, out var jh, true); tmpList.Add(jh.Value); - m_AccessorData[i] = ads; + m_AccessorData[i] = data; break; } case GltfAccessorAttributeType.VEC4 when (m_AccessorUsage[i] & AccessorUsage.Rotation) != 0: { - var ads = new AccessorNativeData(); - GetVector4Job(gltf, i, out ads.data, out var jh); + GetVector4Job(gltf, i, out var data, out var jh); tmpList.Add(jh.Value); - m_AccessorData[i] = ads; + m_AccessorData[i] = data; break; } case GltfAccessorAttributeType.VEC3 when (m_AccessorUsage[i] & AccessorUsage.Scale) != 0: { - var ads = new AccessorNativeData(); - GetVector3Job(gltf, i, out ads.data, out var jh, false); + GetVector3Job(gltf, i, out var data, out var jh, false); tmpList.Add(jh.Value); - m_AccessorData[i] = ads; + m_AccessorData[i] = data; break; } #if UNITY_ANIMATION case GltfAccessorAttributeType.SCALAR when m_AccessorUsage[i]==AccessorUsage.AnimationTimes || m_AccessorUsage[i]==AccessorUsage.Weight: { - // JobHandle? jh; - var ads = new AccessorNativeData(); GetScalarJob(gltf, i, out var times, out var jh); if (times.HasValue) { - ads.data = times.Value; + m_AccessorData[i] = times.Value; } if (jh.HasValue) { tmpList.Add(jh.Value); } - m_AccessorData[i] = ads; break; } #endif @@ -3414,7 +3456,7 @@ async Task LoadAccessorData(RootBase gltf) await m_DeferAgent.BreakPoint(); } - Profiler.BeginSample("LoadAccessorData.PrimitiveCreateContexts"); + Profiler.BeginSample("LoadAccessorData.MeshResultGenerators"); int primitiveIndex = 0; for (int meshIndex = 0; meshIndex < meshCount; meshIndex++) { @@ -3422,7 +3464,7 @@ async Task LoadAccessorData(RootBase gltf) foreach (var cluster in m_MeshPrimitiveCluster[meshIndex].Values) { - PrimitiveCreateContextBase context = null; + MeshResultGeneratorBase meshResultGenerator = null; for (int primIndex = 0; primIndex < cluster.Count; primIndex++) { @@ -3439,7 +3481,7 @@ async Task LoadAccessorData(RootBase gltf) if (!bounds.HasValue) { m_Logger?.Error(LogCode.MeshBoundsMissing, meshIndex.ToString()); } - var dracoContext = new PrimitiveDracoCreateContext( + var dracoMeshResultGenerator = new DracoMeshResultGenerator( meshIndex, primitiveIndex, 1, @@ -3448,15 +3490,15 @@ async Task LoadAccessorData(RootBase gltf) mesh.name, bounds ); - context = dracoContext; + meshResultGenerator = dracoMeshResultGenerator; } else #endif { - PrimitiveCreateContext c; - if (context == null) + MeshResultGenerator c; + if (meshResultGenerator == null) { - c = new PrimitiveCreateContext( + c = new MeshResultGenerator( meshIndex, primitiveIndex, cluster.Count, @@ -3465,22 +3507,22 @@ async Task LoadAccessorData(RootBase gltf) } else { - c = context as PrimitiveCreateContext; + c = meshResultGenerator as MeshResultGenerator; } // PreparePrimitiveIndices(gltf,primitive,ref c,primIndex); c.SetPrimitiveIndex(primIndex, gltfPrimitiveIndex); - context = c; + meshResultGenerator = c; } if (primitive.targets != null) { - context.morphTargetsContext = morphTargetsContexts[primitive]; + meshResultGenerator.morphTargetsGenerator = morphTargetsGenerators[primitive]; } - context.SetMaterial(primIndex, primitive.material); + meshResultGenerator.SetMaterial(primIndex, primitive.material); } - m_PrimitiveContexts[primitiveIndex] = context; + m_MeshResultGenerators[primitiveIndex] = meshResultGenerator; primitiveIndex++; } } @@ -3496,12 +3538,12 @@ async Task LoadAccessorData(RootBase gltf) return success; } - MorphTargetsContext CreateMorphTargetsContext(MeshPrimitiveBase primitive, string[] meshTargetNames) + MorphTargetsGenerator CreateMorphTargetsGenerator(MeshPrimitiveBase primitive, string[] meshTargetNames) { - var morphTargetsContext = new MorphTargetsContext(primitive.targets.Length, meshTargetNames, m_DeferAgent); + var morphTargetsGenerator = new MorphTargetsGenerator(primitive.targets.Length, meshTargetNames, m_DeferAgent); foreach (var morphTarget in primitive.targets) { - var success = morphTargetsContext.AddMorphTarget( + var success = morphTargetsGenerator.AddMorphTarget( this, morphTarget.POSITION, morphTarget.NORMAL, @@ -3515,7 +3557,7 @@ MorphTargetsContext CreateMorphTargetsContext(MeshPrimitiveBase primitive, strin } } - return morphTargetsContext; + return morphTargetsGenerator; } void SetAccessorUsage(int index, AccessorUsage newUsage) @@ -3528,7 +3570,7 @@ void SetAccessorUsage(int index, AccessorUsage newUsage) m_AccessorUsage[index] = newUsage; } - async Task CreatePrimitiveContexts(RootBase gltf) + async Task CreateMeshResultGenerators(RootBase gltf) { int i = 0; bool schedule = false; @@ -3538,7 +3580,7 @@ async Task CreatePrimitiveContexts(RootBase gltf) { var cluster = kvp.Value; - PrimitiveCreateContextBase context = m_PrimitiveContexts[i]; + var generator = m_MeshResultGenerators[i]; if (MeshResultAssigned != null) { @@ -3549,7 +3591,7 @@ async Task CreatePrimitiveContexts(RootBase gltf) primitiveIndices[subMeshIndex] = subMesh.Item1; MeshResultAssigned?.Invoke( - m_MeshPrimitiveIndex[meshIndex], // MeshResult index + m_MeshResultIndex[meshIndex], // MeshResult index meshIndex, // glTF mesh index primitiveIndices ); @@ -3562,20 +3604,16 @@ async Task CreatePrimitiveContexts(RootBase gltf) var primitive = primitiveTuple.Item2; #if DRACO_UNITY if( primitive.IsDracoCompressed ) { - var c = (PrimitiveDracoCreateContext) context; + var c = (DracoMeshResultGenerator) generator; await m_DeferAgent.BreakPoint(); - Profiler.BeginSample( "CreatePrimitiveContext"); PreparePrimitiveDraco(gltf,primitive,ref c); - Profiler.EndSample(); schedule = true; } else #endif { - PrimitiveCreateContext c = (PrimitiveCreateContext)context; - c.vertexData = m_VertexAttributes[kvp.Key]; - Profiler.BeginSample("CreatePrimitiveContext"); + var c = (MeshResultGenerator)generator; + c.vertexData = m_VertexBufferGenerators[kvp.Key]; PreparePrimitiveIndices(gltf, primitive, ref c, primIndex); - Profiler.EndSample(); } } await m_DeferAgent.BreakPoint(); @@ -3600,7 +3638,7 @@ async Task AssignAllAccessorData(RootBase gltf) var skin = gltf.Skins[s]; if (skin.inverseBindMatrices >= 0) { - m_SkinsInverseBindMatrices[s] = ((AccessorNativeData)m_AccessorData[skin.inverseBindMatrices]).data.ToArray(); + m_SkinsInverseBindMatrices[s] = ((NativeArray)m_AccessorData[skin.inverseBindMatrices]).ToArray(); } Profiler.EndSample(); await m_DeferAgent.BreakPoint(); @@ -3608,7 +3646,12 @@ async Task AssignAllAccessorData(RootBase gltf) } } - void PreparePrimitiveIndices(RootBase gltf, MeshPrimitiveBase primitive, ref PrimitiveCreateContext c, int subMesh = 0) + void PreparePrimitiveIndices( + RootBase gltf, + MeshPrimitiveBase primitive, + ref MeshResultGenerator meshResultGenerator, + int subMesh = 0 + ) { Profiler.BeginSample("PreparePrimitiveIndices"); switch (primitive.mode) @@ -3616,168 +3659,168 @@ void PreparePrimitiveIndices(RootBase gltf, MeshPrimitiveBase primitive, ref Pri case DrawMode.Triangles: case DrawMode.TriangleStrip: case DrawMode.TriangleFan: - c.topology = MeshTopology.Triangles; + meshResultGenerator.topology = MeshTopology.Triangles; break; case DrawMode.Points: - c.topology = MeshTopology.Points; + meshResultGenerator.topology = MeshTopology.Points; break; case DrawMode.Lines: - c.topology = MeshTopology.Lines; + meshResultGenerator.topology = MeshTopology.Lines; break; case DrawMode.LineLoop: - c.topology = MeshTopology.LineStrip; + meshResultGenerator.topology = MeshTopology.LineStrip; break; case DrawMode.LineStrip: - c.topology = MeshTopology.LineStrip; + meshResultGenerator.topology = MeshTopology.LineStrip; break; default: m_Logger?.Error(LogCode.PrimitiveModeUnsupported, primitive.mode.ToString()); - c.topology = MeshTopology.Triangles; + meshResultGenerator.topology = MeshTopology.Triangles; break; } - int[] indices; + NativeArray indices; if (primitive.indices >= 0) { - indices = ((AccessorData)m_AccessorData[primitive.indices]).data; - RecalculateIndicesJob(primitive, indices, out indices, out c.jobHandle, out c.calculatedIndicesHandle); + indices = (NativeArray)m_AccessorData[primitive.indices]; + RecalculateIndicesJob(primitive, ref indices, out meshResultGenerator.jobHandle); } else { var vertexCount = gltf.Accessors[primitive.attributes.POSITION].count; - CalculateIndicesJob(primitive, vertexCount, out indices, out c.jobHandle, out c.calculatedIndicesHandle); + CalculateIndicesJob(primitive, vertexCount, out indices, out meshResultGenerator.jobHandle); } - c.SetIndices(subMesh, indices); + meshResultGenerator.SetIndices(subMesh, indices); Profiler.EndSample(); } #if DRACO_UNITY - void PreparePrimitiveDraco( RootBase gltf, MeshPrimitiveBase primitive, ref PrimitiveDracoCreateContext c ) { + void PreparePrimitiveDraco( RootBase gltf, MeshPrimitiveBase primitive, ref DracoMeshResultGenerator meshResultGenerator ) { + Profiler.BeginSample( "PreparePrimitiveDraco"); var dracoExt = primitive.Extensions.KHR_draco_mesh_compression; var bufferView = gltf.BufferViews[dracoExt.bufferView]; var buffer = GetBufferViewSlice(bufferView); - c.StartDecode(buffer, dracoExt.attributes); + meshResultGenerator.StartDecode(buffer, dracoExt.attributes); + Profiler.EndSample(); } #endif - static unsafe void RecalculateIndicesJob( + static void RecalculateIndicesJob( MeshPrimitiveBase primitive, - int[] oldIndices, - out int[] indices, - out JobHandle jobHandle, - out GCHandle resultHandle + ref NativeArray indices, + out JobHandle jobHandle ) { switch (primitive.mode) { case DrawMode.LineLoop: - indices = new int[oldIndices.Length + 1]; - Array.Copy(oldIndices, indices, oldIndices.Length); - indices[oldIndices.Length] = oldIndices[0]; - jobHandle = default; - resultHandle = default; - break; - case DrawMode.TriangleStrip: - var triangleStripTriangleCount = oldIndices.Length - 2; - indices = new int[triangleStripTriangleCount * 3]; - resultHandle = GCHandle.Alloc(indices, GCHandleType.Pinned); - var triangleStripJob = new RecalculateIndicesForTriangleStripJob(); - fixed (void* dst = &(indices[0])) { - triangleStripJob.result = (int*)dst; + var newIndices = new NativeArray(indices.Length + 1, Allocator.Persistent); + NativeArray.Copy(indices, newIndices, indices.Length); + newIndices[indices.Length] = indices[0]; + jobHandle = default; + break; } - fixed (void* inp = &(oldIndices[0])) + case DrawMode.TriangleStrip: { - triangleStripJob.input = (int*)inp; + var triangleStripTriangleCount = indices.Length - 2; + var newIndices = new NativeArray(triangleStripTriangleCount * 3, Allocator.Persistent); + var triangleStripJob = new RecalculateIndicesForTriangleStripJob + { + input = indices, + result = newIndices + }; + jobHandle = triangleStripJob.Schedule(triangleStripTriangleCount, DefaultBatchCount); + break; } - jobHandle = triangleStripJob.Schedule(triangleStripTriangleCount, DefaultBatchCount); - break; case DrawMode.TriangleFan: - var triangleFanTriangleCount = oldIndices.Length - 2; - indices = new int[triangleFanTriangleCount * 3]; - resultHandle = GCHandle.Alloc(indices, GCHandleType.Pinned); - var triangleFanJob = new RecalculateIndicesForTriangleFanJob(); - fixed (void* dst = &(indices[0])) { - triangleFanJob.result = (int*)dst; - } - fixed (void* inp = &(oldIndices[0])) - { - triangleFanJob.input = (int*)inp; + var triangleFanTriangleCount = indices.Length - 2; + var newIndices = new NativeArray(triangleFanTriangleCount * 3, Allocator.Persistent); + var triangleFanJob = new RecalculateIndicesForTriangleFanJob + { + input = indices, + result = newIndices + }; + jobHandle = triangleFanJob.Schedule(triangleFanTriangleCount, DefaultBatchCount); + break; } - jobHandle = triangleFanJob.Schedule(triangleFanTriangleCount, DefaultBatchCount); - break; default: - indices = oldIndices; jobHandle = default; - resultHandle = default; break; } } - static unsafe void CalculateIndicesJob( + static void CalculateIndicesJob( MeshPrimitiveBase primitive, int vertexCount, - out int[] indices, - out JobHandle jobHandle, - out GCHandle resultHandle + out NativeArray indices, + out JobHandle jobHandle ) { Profiler.BeginSample("CalculateIndicesJob"); // No indices: calculate them - var lineLoop = primitive.mode == DrawMode.LineLoop; - // extra index (first vertex again) for closing line loop - indices = new int[vertexCount + (lineLoop ? 1 : 0)]; - resultHandle = GCHandle.Alloc(indices, GCHandleType.Pinned); switch (primitive.mode) { + case DrawMode.LineLoop: + { + // extra index (first vertex again) for closing line loop + indices = new NativeArray(vertexCount + 1, Allocator.Persistent); + // Set the last index to the first vertex + indices[vertexCount] = 0; + var job = new CreateIndicesInt32Job() + { + result = indices + }; + jobHandle = job.Schedule(vertexCount, DefaultBatchCount); + break; + } case DrawMode.Triangles: - var flippedJob8 = new CreateIndicesInt32FlippedJob(); - fixed (void* dst = &(indices[0])) { - flippedJob8.result = (int*)dst; + indices = new NativeArray(vertexCount, Allocator.Persistent); + var job = new CreateIndicesInt32FlippedJob + { + result = indices + }; + jobHandle = job.Schedule(indices.Length, DefaultBatchCount); + break; } - jobHandle = flippedJob8.Schedule(indices.Length, DefaultBatchCount); - break; case DrawMode.TriangleStrip: - indices = new int[(indices.Length - 2) * 3]; - var triangleStripJob = new CreateIndicesForTriangleStripJob(); - fixed (void* dst = &(indices[0])) { - triangleStripJob.result = (int*)dst; + indices = new NativeArray((vertexCount - 2) * 3, Allocator.Persistent); + var job = new CreateIndicesForTriangleStripJob + { + result = indices + }; + jobHandle = job.Schedule(indices.Length, DefaultBatchCount); + break; } - jobHandle = triangleStripJob.Schedule(indices.Length, DefaultBatchCount); - break; case DrawMode.TriangleFan: - indices = new int[(indices.Length - 2) * 3]; - var triangleFanJob = new CreateIndicesForTriangleFanJob(); - fixed (void* dst = &(indices[0])) + indices = new NativeArray((vertexCount - 2) * 3, Allocator.Persistent); + var triangleFanJob = new CreateIndicesForTriangleFanJob { - triangleFanJob.result = (int*)dst; - } + result = indices + }; jobHandle = triangleFanJob.Schedule(indices.Length, DefaultBatchCount); break; default: - var job8 = new CreateIndicesInt32Job(); - if (lineLoop) { - // Set the last index to the first vertex - indices[vertexCount] = 0; - } - fixed (void* dst = &(indices[0])) - { - job8.result = (int*)dst; + indices = new NativeArray(vertexCount, Allocator.Persistent); + var job = new CreateIndicesInt32Job + { + result = indices + }; + jobHandle = job.Schedule(vertexCount, DefaultBatchCount); + break; } - jobHandle = job8.Schedule(vertexCount, DefaultBatchCount); - break; } Profiler.EndSample(); } - unsafe void GetIndicesJob(RootBase gltf, int accessorIndex, out int[] indices, out JobHandle? jobHandle, out GCHandle resultHandle, bool flip) + unsafe void GetIndicesJob(RootBase gltf, int accessorIndex, out NativeArray indices, out JobHandle? jobHandle, bool flip) { Profiler.BeginSample("PrepareGetIndicesJob"); // index @@ -3785,10 +3828,7 @@ unsafe void GetIndicesJob(RootBase gltf, int accessorIndex, out int[] indices, o var bufferView = GetBufferView(accessor.bufferView, accessor.byteOffset); Profiler.BeginSample("Alloc"); - indices = new int[accessor.count]; - Profiler.EndSample(); - Profiler.BeginSample("Pin"); - resultHandle = GCHandle.Alloc(indices, GCHandleType.Pinned); + indices = new NativeArray(accessor.count, Allocator.Persistent); Profiler.EndSample(); Assert.AreEqual(accessor.GetAttributeType(), GltfAccessorAttributeType.SCALAR); @@ -3804,66 +3844,60 @@ unsafe void GetIndicesJob(RootBase gltf, int accessorIndex, out int[] indices, o case GltfComponentType.UnsignedByte: if (flip) { - var job8 = new ConvertIndicesUInt8ToInt32FlippedJob(); - fixed (void* dst = &(indices[0])) + var job8 = new ConvertIndicesUInt8ToInt32FlippedJob { - job8.input = (byte*)bufferView.GetUnsafeReadOnlyPtr(); - job8.result = (int3*)dst; - } + input = (byte*)bufferView.GetUnsafeReadOnlyPtr(), + result = indices.Reinterpret(sizeof(int)) + }; jobHandle = job8.Schedule(accessor.count / 3, DefaultBatchCount); } else { - var job8 = new ConvertIndicesUInt8ToInt32Job(); - fixed (void* dst = &(indices[0])) + var job8 = new ConvertIndicesUInt8ToInt32Job { - job8.input = (byte*)bufferView.GetUnsafeReadOnlyPtr(); - job8.result = (int*)dst; - } + input = (byte*)bufferView.GetUnsafeReadOnlyPtr(), + result = indices + }; jobHandle = job8.Schedule(accessor.count, DefaultBatchCount); } break; case GltfComponentType.UnsignedShort: if (flip) { - var job16 = new ConvertIndicesUInt16ToInt32FlippedJob(); - fixed (void* dst = &(indices[0])) + var job16 = new ConvertIndicesUInt16ToInt32FlippedJob { - job16.input = (ushort*)bufferView.GetUnsafeReadOnlyPtr(); - job16.result = (int3*)dst; - } + input = (ushort*)bufferView.GetUnsafeReadOnlyPtr(), + result = indices.Reinterpret(sizeof(int)) + }; jobHandle = job16.Schedule(accessor.count / 3, DefaultBatchCount); } else { - var job16 = new ConvertIndicesUInt16ToInt32Job(); - fixed (void* dst = &(indices[0])) + var job16 = new ConvertIndicesUInt16ToInt32Job { - job16.input = (ushort*)bufferView.GetUnsafeReadOnlyPtr(); - job16.result = (int*)dst; - } + input = (ushort*)bufferView.GetUnsafeReadOnlyPtr(), + result = indices + }; jobHandle = job16.Schedule(accessor.count, DefaultBatchCount); } break; case GltfComponentType.UnsignedInt: if (flip) { - var job32 = new ConvertIndicesUInt32ToInt32FlippedJob(); - fixed (void* dst = &(indices[0])) + var job32 = new ConvertIndicesUInt32ToInt32FlippedJob { - job32.input = (uint*)bufferView.GetUnsafeReadOnlyPtr(); - job32.result = (int3*)dst; - } + input = (uint*)bufferView.GetUnsafeReadOnlyPtr(), + result = indices.Reinterpret(sizeof(int)) + }; jobHandle = job32.Schedule(accessor.count / 3, DefaultBatchCount); } else { - var job32 = new ConvertIndicesUInt32ToInt32Job(); - fixed (void* dst = &(indices[0])) + var job32 = new ConvertIndicesUInt32ToInt32Job { - job32.input = (uint*)bufferView.GetUnsafeReadOnlyPtr(); - job32.result = (int*)dst; - } + input = (uint*)bufferView.GetUnsafeReadOnlyPtr(), + result = indices + }; jobHandle = job32.Schedule(accessor.count, DefaultBatchCount); } break; @@ -4097,6 +4131,11 @@ unsafe void GetScalarJob(RootBase gltf, int accessorIndex, out NativeArray /// Get glTF accessor and its raw data ///
@@ -4104,7 +4143,7 @@ unsafe void GetScalarJob(RootBase gltf, int accessorIndex, out NativeArrayDe-serialized glTF accessor /// Pointer to accessor's data in memory /// Element byte stride - unsafe void IGltfBuffers.GetAccessor(int index, out AccessorBase accessor, out void* data, out int byteStride) + unsafe void IGltfBuffers.GetAccessorAndData(int index, out AccessorBase accessor, out void* data, out int byteStride) { accessor = Root.Accessors[index]; if (accessor.bufferView < 0 || accessor.bufferView >= Root.BufferViews.Count) diff --git a/Runtime/Scripts/IGltfBuffers.cs b/Runtime/Scripts/IGltfBuffers.cs index 080604877..a5de4e022 100644 --- a/Runtime/Scripts/IGltfBuffers.cs +++ b/Runtime/Scripts/IGltfBuffers.cs @@ -10,7 +10,8 @@ namespace GLTFast interface IGltfBuffers { - unsafe void GetAccessor(int index, out AccessorBase accessor, out void* data, out int byteStride); + AccessorBase GetAccessor(int index); + unsafe void GetAccessorAndData(int index, out AccessorBase accessor, out void* data, out int byteStride); unsafe void GetAccessorSparseIndices(AccessorSparseIndices sparseIndices, out void* data); unsafe void GetAccessorSparseValues(AccessorSparseValues sparseValues, out void* data); } diff --git a/Runtime/Scripts/Jobs.cs b/Runtime/Scripts/Jobs.cs index 97f467d4e..3c39ce0ee 100644 --- a/Runtime/Scripts/Jobs.cs +++ b/Runtime/Scripts/Jobs.cs @@ -299,12 +299,10 @@ static void GetFloat3UInt32Normalized(float3* destination, void* src) } [BurstCompile] - unsafe struct CreateIndicesInt32Job : IJobParallelFor + struct CreateIndicesInt32Job : IJobParallelFor { - - [ReadOnly] - [NativeDisableUnsafePtrRestriction] - public int* result; + [WriteOnly] + public NativeArray result; public void Execute(int i) { @@ -313,12 +311,10 @@ public void Execute(int i) } [BurstCompile] - unsafe struct CreateIndicesInt32FlippedJob : IJobParallelFor + struct CreateIndicesInt32FlippedJob : IJobParallelFor { - - [ReadOnly] - [NativeDisableUnsafePtrRestriction] - public int* result; + [WriteOnly] + public NativeArray result; public void Execute(int i) { @@ -327,12 +323,10 @@ public void Execute(int i) } [BurstCompile] - unsafe struct CreateIndicesForTriangleStripJob : IJobParallelFor + struct CreateIndicesForTriangleStripJob : IJobParallelFor { - - [ReadOnly] - [NativeDisableUnsafePtrRestriction] - public int* result; + [WriteOnly] + public NativeArray result; public void Execute(int i) { @@ -354,12 +348,10 @@ public void Execute(int i) } [BurstCompile] - unsafe struct CreateIndicesForTriangleFanJob : IJobParallelFor + struct CreateIndicesForTriangleFanJob : IJobParallelFor { - - [ReadOnly] - [NativeDisableUnsafePtrRestriction] - public int* result; + [WriteOnly] + public NativeArray result; public void Execute(int i) { @@ -380,15 +372,13 @@ public void Execute(int i) } [BurstCompile] - unsafe struct RecalculateIndicesForTriangleStripJob : IJobParallelFor + struct RecalculateIndicesForTriangleStripJob : IJobParallelFor { [ReadOnly] - [NativeDisableUnsafePtrRestriction] - public int* input; + public NativeArray input; - [ReadOnly] - [NativeDisableUnsafePtrRestriction] - public int* result; + [WriteOnly, NativeDisableParallelForRestriction] + public NativeArray result; public void Execute(int i) { @@ -406,15 +396,13 @@ public void Execute(int i) } [BurstCompile] - unsafe struct RecalculateIndicesForTriangleFanJob : IJobParallelFor + struct RecalculateIndicesForTriangleFanJob : IJobParallelFor { [ReadOnly] - [NativeDisableUnsafePtrRestriction] - public int* input; + public NativeArray input; - [ReadOnly] - [NativeDisableUnsafePtrRestriction] - public int* result; + [WriteOnly, NativeDisableParallelForRestriction] + public NativeArray result; public void Execute(int i) { @@ -430,6 +418,7 @@ public void Execute(int i) result[triangleIndex + 2] = 0; } } + [BurstCompile] unsafe struct ConvertIndicesUInt8ToInt32Job : IJobParallelFor { @@ -438,9 +427,8 @@ unsafe struct ConvertIndicesUInt8ToInt32Job : IJobParallelFor [NativeDisableUnsafePtrRestriction] public byte* input; - [ReadOnly] - [NativeDisableUnsafePtrRestriction] - public int* result; + [WriteOnly] + public NativeArray result; public void Execute(int i) { @@ -456,9 +444,8 @@ unsafe struct ConvertIndicesUInt8ToInt32FlippedJob : IJobParallelFor [NativeDisableUnsafePtrRestriction] public byte* input; - [ReadOnly] - [NativeDisableUnsafePtrRestriction] - public int3* result; + [WriteOnly] + public NativeArray result; public void Execute(int i) { @@ -473,14 +460,12 @@ public void Execute(int i) [BurstCompile] unsafe struct ConvertIndicesUInt16ToInt32FlippedJob : IJobParallelFor { - [ReadOnly] [NativeDisableUnsafePtrRestriction] public ushort* input; - [ReadOnly] - [NativeDisableUnsafePtrRestriction] - public int3* result; + [WriteOnly] + public NativeArray result; public void Execute(int i) { @@ -495,14 +480,12 @@ public void Execute(int i) [BurstCompile] unsafe struct ConvertIndicesUInt16ToInt32Job : IJobParallelFor { - [ReadOnly] [NativeDisableUnsafePtrRestriction] public ushort* input; - [ReadOnly] - [NativeDisableUnsafePtrRestriction] - public int* result; + [WriteOnly] + public NativeArray result; public void Execute(int i) { @@ -513,14 +496,12 @@ public void Execute(int i) [BurstCompile] unsafe struct ConvertIndicesUInt32ToInt32Job : IJobParallelFor { - [ReadOnly] [NativeDisableUnsafePtrRestriction] public uint* input; - [ReadOnly] - [NativeDisableUnsafePtrRestriction] - public int* result; + [WriteOnly] + public NativeArray result; public void Execute(int i) { @@ -531,14 +512,12 @@ public void Execute(int i) [BurstCompile] unsafe struct ConvertIndicesUInt32ToInt32FlippedJob : IJobParallelFor { - [ReadOnly] [NativeDisableUnsafePtrRestriction] public uint* input; - [ReadOnly] - [NativeDisableUnsafePtrRestriction] - public int3* result; + [WriteOnly] + public NativeArray result; public void Execute(int i) { diff --git a/Runtime/Scripts/MainBufferType.cs b/Runtime/Scripts/MainBufferType.cs new file mode 100644 index 000000000..b4083876c --- /dev/null +++ b/Runtime/Scripts/MainBufferType.cs @@ -0,0 +1,19 @@ +// SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; + +namespace GLTFast +{ + [Flags] + enum MainBufferType + { + None = 0x0, + Position = 0x1, + Normal = 0x2, + Tangent = 0x4, + + PosNorm = 0x3, + PosNormTan = 0x7, + } +} diff --git a/Runtime/Scripts/MainBufferType.cs.meta b/Runtime/Scripts/MainBufferType.cs.meta new file mode 100644 index 000000000..1fcc9cf7a --- /dev/null +++ b/Runtime/Scripts/MainBufferType.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 072826d1e49740aaa4e40be31b49e7b5 +timeCreated: 1730903332 \ No newline at end of file diff --git a/Runtime/Scripts/MeshPrimitiveComparer.cs b/Runtime/Scripts/MeshPrimitiveComparer.cs index 57dc29dae..33c6a0db8 100644 --- a/Runtime/Scripts/MeshPrimitiveComparer.cs +++ b/Runtime/Scripts/MeshPrimitiveComparer.cs @@ -21,7 +21,8 @@ public bool Equals(MeshPrimitiveBase x, MeshPrimitiveBase y) if (x is null) return false; if (y is null) return false; - return Equals(x.attributes, y.attributes) + return x.mode == y.mode + && Equals(x.attributes, y.attributes) && Equals(x.targets, y.targets); } @@ -29,11 +30,13 @@ public int GetHashCode(MeshPrimitiveBase obj) { #if NET_STANDARD return HashCode.Combine( + (int)obj.mode, GetHashCode(obj.attributes), GetHashCode(obj.targets) ); #else var hash = 13; + hash = hash * 31 + (int)obj.mode; hash = hash * 31 + GetHashCode(obj.attributes); hash = hash * 31 + GetHashCode(obj.targets); return hash; diff --git a/Runtime/Scripts/PrimitiveCreateContext.cs b/Runtime/Scripts/MeshResultGenerator.cs similarity index 86% rename from Runtime/Scripts/PrimitiveCreateContext.cs rename to Runtime/Scripts/MeshResultGenerator.cs index f0a62c884..feb027c19 100644 --- a/Runtime/Scripts/PrimitiveCreateContext.cs +++ b/Runtime/Scripts/MeshResultGenerator.cs @@ -3,7 +3,7 @@ using System.Runtime.InteropServices; using System.Threading.Tasks; - +using Unity.Collections; using Unity.Jobs; using UnityEngine.Profiling; using UnityEngine.Rendering; @@ -12,20 +12,18 @@ namespace GLTFast { - class PrimitiveCreateContext : PrimitiveCreateContextBase + class MeshResultGenerator : MeshResultGeneratorBase { - public VertexBufferConfigBase vertexData; + public VertexBufferGeneratorBase vertexData; public JobHandle jobHandle; - int[][] m_Indices; + NativeArray[] m_Indices; int[] m_PrimitiveIndices; - public GCHandle calculatedIndicesHandle; - public MeshTopology topology; - public PrimitiveCreateContext( + public MeshResultGenerator( int meshIndex, int primitiveIndex, int subMeshCount, @@ -33,11 +31,11 @@ string meshName ) : base(meshIndex, primitiveIndex, subMeshCount, meshName) { - m_Indices = new int[subMeshCount][]; + m_Indices = new NativeArray[subMeshCount]; m_PrimitiveIndices = new int[subMeshCount]; } - public void SetIndices(int subMesh, int[] indices) + public void SetIndices(int subMesh, NativeArray indices) { m_Indices[subMesh] = indices; } @@ -144,26 +142,14 @@ public void SetPrimitiveIndex(int subMesh, int primitiveIndex) // Profiler.EndSample(); #endif - if (morphTargetsContext != null) + if (morphTargetsGenerator != null) { - await morphTargetsContext.ApplyOnMeshAndDispose(msh); + await morphTargetsGenerator.ApplyOnMeshAndDispose(msh); } - Profiler.BeginSample("Dispose"); - Dispose(); - Profiler.EndSample(); - Profiler.EndSample(); return new MeshResult(MeshIndex, m_PrimitiveIndices, m_Materials, msh); } - - void Dispose() - { - if (calculatedIndicesHandle.IsAllocated) - { - calculatedIndicesHandle.Free(); - } - } } } diff --git a/Runtime/Scripts/PrimitiveCreateContext.cs.meta b/Runtime/Scripts/MeshResultGenerator.cs.meta similarity index 100% rename from Runtime/Scripts/PrimitiveCreateContext.cs.meta rename to Runtime/Scripts/MeshResultGenerator.cs.meta diff --git a/Runtime/Scripts/PrimitiveCreateContextBase.cs b/Runtime/Scripts/MeshResultGeneratorBase.cs similarity index 88% rename from Runtime/Scripts/PrimitiveCreateContextBase.cs rename to Runtime/Scripts/MeshResultGeneratorBase.cs index 0efcf840a..c28fc08c6 100644 --- a/Runtime/Scripts/PrimitiveCreateContextBase.cs +++ b/Runtime/Scripts/MeshResultGeneratorBase.cs @@ -7,7 +7,7 @@ namespace GLTFast { - abstract class PrimitiveCreateContextBase + abstract class MeshResultGeneratorBase { public const MeshUpdateFlags defaultMeshUpdateFlags = @@ -24,7 +24,7 @@ abstract class PrimitiveCreateContextBase public abstract bool IsCompleted { get; } - protected PrimitiveCreateContextBase( + protected MeshResultGeneratorBase( int meshIndex, int primitiveIndex, int subMeshCount, @@ -42,7 +42,7 @@ public void SetMaterial(int subMesh, int materialIndex) m_Materials[subMesh] = materialIndex; } - public MorphTargetsContext morphTargetsContext; + public MorphTargetsGenerator morphTargetsGenerator; public abstract Task CreatePrimitive(); } diff --git a/Runtime/Scripts/PrimitiveCreateContextBase.cs.meta b/Runtime/Scripts/MeshResultGeneratorBase.cs.meta similarity index 100% rename from Runtime/Scripts/PrimitiveCreateContextBase.cs.meta rename to Runtime/Scripts/MeshResultGeneratorBase.cs.meta diff --git a/Runtime/Scripts/MorphTargetContext.cs b/Runtime/Scripts/MorphTargetsGenerator.cs similarity index 91% rename from Runtime/Scripts/MorphTargetContext.cs rename to Runtime/Scripts/MorphTargetsGenerator.cs index b3fa4cbef..ca5c429a4 100644 --- a/Runtime/Scripts/MorphTargetContext.cs +++ b/Runtime/Scripts/MorphTargetsGenerator.cs @@ -15,7 +15,7 @@ namespace GLTFast { - class MorphTargetsContext + class MorphTargetsGenerator { MorphTargetContext[] m_Contexts; NativeArray m_Handles; @@ -23,10 +23,10 @@ class MorphTargetsContext string[] m_MeshTargetNames; IDeferAgent m_DeferAgent; - public MorphTargetsContext(int morphTargetCount, string[] meshTargetNames, IDeferAgent deferAgent) + public MorphTargetsGenerator(int morphTargetCount, string[] meshTargetNames, IDeferAgent deferAgent) { m_Contexts = new MorphTargetContext[morphTargetCount]; - m_Handles = new NativeArray(morphTargetCount, VertexBufferConfigBase.defaultAllocator); + m_Handles = new NativeArray(morphTargetCount, VertexBufferGeneratorBase.defaultAllocator); m_CurrentIndex = 0; this.m_MeshTargetNames = meshTargetNames; this.m_DeferAgent = deferAgent; @@ -102,7 +102,7 @@ ICodeLogger logger { Profiler.BeginSample("ScheduleMorphTargetJobs"); - buffers.GetAccessor(positionAccessorIndex, out var posAcc, out var posData, out var posByteStride); + buffers.GetAccessorAndData(positionAccessorIndex, out var posAcc, out var posData, out var posByteStride); m_Positions = new Vector3[posAcc.count]; m_PositionsHandle = GCHandle.Alloc(m_Positions, GCHandleType.Pinned); @@ -121,7 +121,7 @@ ICodeLogger logger { m_Normals = new Vector3[posAcc.count]; m_NormalsHandle = GCHandle.Alloc(m_Normals, GCHandleType.Pinned); - buffers.GetAccessor(normalAccessorIndex, out nrmAcc, out nrmInput, out nrmInputByteStride); + buffers.GetAccessorAndData(normalAccessorIndex, out nrmAcc, out nrmInput, out nrmInputByteStride); if (nrmAcc.IsSparse && nrmAcc.bufferView >= 0) { jobCount += 2; @@ -140,7 +140,7 @@ ICodeLogger logger { m_Tangents = new Vector3[posAcc.count]; m_TangentsHandle = GCHandle.Alloc(m_Tangents, GCHandleType.Pinned); - buffers.GetAccessor(normalAccessorIndex, out tanAcc, out tanInput, out tanInputByteStride); + buffers.GetAccessorAndData(normalAccessorIndex, out tanAcc, out tanInput, out tanInputByteStride); if (tanAcc.IsSparse && tanAcc.bufferView >= 0) { jobCount += 2; @@ -151,7 +151,7 @@ ICodeLogger logger } } - NativeArray handles = new NativeArray(jobCount, VertexBufferConfigBase.defaultAllocator); + NativeArray handles = new NativeArray(jobCount, VertexBufferGeneratorBase.defaultAllocator); var handleIndex = 0; fixed (void* dest = &(m_Positions[0])) @@ -159,7 +159,7 @@ ICodeLogger logger JobHandle? h = null; if (posData != null) { - h = VertexBufferConfigBase.GetVector3Job( + h = VertexBufferGeneratorBase.GetVector3Job( posData, posAcc.count, posAcc.componentType, @@ -184,7 +184,7 @@ ICodeLogger logger { buffers.GetAccessorSparseIndices(posAcc.Sparse.Indices, out var posIndexData); buffers.GetAccessorSparseValues(posAcc.Sparse.Values, out var posValueData); - var sparseJobHandle = VertexBufferConfigBase.GetVector3SparseJob( + var sparseJobHandle = VertexBufferGeneratorBase.GetVector3SparseJob( posIndexData, posValueData, posAcc.Sparse.count, @@ -215,7 +215,7 @@ ICodeLogger logger JobHandle? h = null; if (nrmAcc.bufferView >= 0) { - h = VertexBufferConfigBase.GetVector3Job( + h = VertexBufferGeneratorBase.GetVector3Job( nrmInput, nrmAcc.count, nrmAcc.componentType, @@ -240,7 +240,7 @@ ICodeLogger logger { buffers.GetAccessorSparseIndices(nrmAcc.Sparse.Indices, out var indexData); buffers.GetAccessorSparseValues(nrmAcc.Sparse.Values, out var valueData); - var sparseJobHandle = VertexBufferConfigBase.GetVector3SparseJob( + var sparseJobHandle = VertexBufferGeneratorBase.GetVector3SparseJob( indexData, valueData, nrmAcc.Sparse.count, @@ -272,7 +272,7 @@ ICodeLogger logger JobHandle? h = null; if (tanAcc.bufferView >= 0) { - h = VertexBufferConfigBase.GetVector3Job( + h = VertexBufferGeneratorBase.GetVector3Job( tanInput, tanAcc.count, tanAcc.componentType, @@ -297,7 +297,7 @@ ICodeLogger logger { buffers.GetAccessorSparseIndices(tanAcc.Sparse.Indices, out var indexData); buffers.GetAccessorSparseValues(tanAcc.Sparse.Values, out var valueData); - var sparseJobHandle = VertexBufferConfigBase.GetVector3SparseJob( + var sparseJobHandle = VertexBufferGeneratorBase.GetVector3SparseJob( indexData, valueData, tanAcc.Sparse.count, diff --git a/Runtime/Scripts/MorphTargetContext.cs.meta b/Runtime/Scripts/MorphTargetsGenerator.cs.meta similarity index 100% rename from Runtime/Scripts/MorphTargetContext.cs.meta rename to Runtime/Scripts/MorphTargetsGenerator.cs.meta diff --git a/Runtime/Scripts/Schema/Accessor.cs b/Runtime/Scripts/Schema/Accessor.cs index fac8c9a9e..c1a306812 100644 --- a/Runtime/Scripts/Schema/Accessor.cs +++ b/Runtime/Scripts/Schema/Accessor.cs @@ -11,85 +11,6 @@ namespace GLTFast.Schema { - - /// - /// The datatype of an accessor's components - /// - /// - public enum GltfComponentType - { - /// - /// Signed byte (8-bit integer) - /// - Byte = 5120, - /// - /// Unsigned byte (8-bit integer) - /// - UnsignedByte = 5121, - /// - /// Signed short (16-bit integer) - /// - Short = 5122, - /// - /// Unsigned short (16-bit integer) - /// - UnsignedShort = 5123, - /// - /// Unsigned int (32-bit integer) - /// - UnsignedInt = 5125, - /// - /// 32-bit floating point number - /// - Float = 5126 - } - - /// - /// Specifier for an accessor’s type - /// - /// - public enum GltfAccessorAttributeType : byte - { - // Names are identical to glTF specified strings, that's why - // inconsistent names are ignored. - // ReSharper disable InconsistentNaming - - /// - /// Unknown/undefined type - /// - Undefined, - - /// - /// Scalar. single value. - /// - SCALAR, - /// - /// Two component vector - /// - VEC2, - /// - /// Three component vector - /// - VEC3, - /// - /// Four component vector - /// - VEC4, - /// - /// 2x2 matrix (4 values) - /// - MAT2, - /// - /// 3x3 matrix (9 values) - /// - MAT3, - /// - /// 4x4 matrix (16 values) - /// - MAT4 - // ReSharper restore InconsistentNaming - } - /// [Serializable] public class Accessor : AccessorBase { } diff --git a/Runtime/Scripts/Schema/GltfAccessorAttributeType.cs b/Runtime/Scripts/Schema/GltfAccessorAttributeType.cs new file mode 100644 index 000000000..b6b423219 --- /dev/null +++ b/Runtime/Scripts/Schema/GltfAccessorAttributeType.cs @@ -0,0 +1,53 @@ +// SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; + +namespace GLTFast.Schema +{ + /// + /// Specifier for an accessor’s type + /// + /// + public enum GltfAccessorAttributeType : byte + { + // Names are identical to glTF specified strings, that's why + // inconsistent names are ignored. + // ReSharper disable InconsistentNaming + + /// + /// Unknown/undefined type + /// + Undefined, + + /// + /// Scalar. single value. + /// + SCALAR, + /// + /// Two component vector + /// + VEC2, + /// + /// Three component vector + /// + VEC3, + /// + /// Four component vector + /// + VEC4, + /// + /// 2x2 matrix (4 values) + /// + MAT2, + /// + /// 3x3 matrix (9 values) + /// + MAT3, + /// + /// 4x4 matrix (16 values) + /// + MAT4 + // ReSharper restore InconsistentNaming + } +} diff --git a/Runtime/Scripts/Schema/GltfAccessorAttributeType.cs.meta b/Runtime/Scripts/Schema/GltfAccessorAttributeType.cs.meta new file mode 100644 index 000000000..f2828eb7f --- /dev/null +++ b/Runtime/Scripts/Schema/GltfAccessorAttributeType.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 4fe2905ca66b40f1998ea33256f5654e +timeCreated: 1730904470 \ No newline at end of file diff --git a/Runtime/Scripts/Schema/GltfComponentType.cs b/Runtime/Scripts/Schema/GltfComponentType.cs new file mode 100644 index 000000000..558212d52 --- /dev/null +++ b/Runtime/Scripts/Schema/GltfComponentType.cs @@ -0,0 +1,39 @@ +// SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; + +namespace GLTFast.Schema +{ + /// + /// The datatype of an accessor's components + /// + /// + public enum GltfComponentType + { + /// + /// Signed byte (8-bit integer) + /// + Byte = 5120, + /// + /// Unsigned byte (8-bit integer) + /// + UnsignedByte = 5121, + /// + /// Signed short (16-bit integer) + /// + Short = 5122, + /// + /// Unsigned short (16-bit integer) + /// + UnsignedShort = 5123, + /// + /// Unsigned int (32-bit integer) + /// + UnsignedInt = 5125, + /// + /// 32-bit floating point number + /// + Float = 5126 + } +} diff --git a/Runtime/Scripts/Schema/GltfComponentType.cs.meta b/Runtime/Scripts/Schema/GltfComponentType.cs.meta new file mode 100644 index 000000000..0a03653f1 --- /dev/null +++ b/Runtime/Scripts/Schema/GltfComponentType.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 3ca3a55b346e40538333c1b14529dcfc +timeCreated: 1730904470 \ No newline at end of file diff --git a/Runtime/Scripts/VertexBufferBones.cs b/Runtime/Scripts/VertexBufferBones.cs index 604518f88..6e8c04cc1 100644 --- a/Runtime/Scripts/VertexBufferBones.cs +++ b/Runtime/Scripts/VertexBufferBones.cs @@ -34,7 +34,7 @@ protected VertexBufferBonesBase(ICodeLogger logger) int jointsAccessorIndex ); public abstract void AddDescriptors(VertexAttributeDescriptor[] dst, int offset, int stream); - public abstract void ApplyOnMesh(UnityEngine.Mesh msh, int stream, MeshUpdateFlags flags = PrimitiveCreateContextBase.defaultMeshUpdateFlags); + public abstract void ApplyOnMesh(UnityEngine.Mesh msh, int stream, MeshUpdateFlags flags = MeshResultGeneratorBase.defaultMeshUpdateFlags); public abstract void Dispose(); } @@ -53,12 +53,12 @@ int jointsAccessorIndex Profiler.BeginSample("ScheduleVertexBonesJob"); Profiler.BeginSample("AllocateNativeArray"); - buffers.GetAccessor(weightsAccessorIndex, out var weightsAcc, out var weightsData, out var weightsByteStride); + buffers.GetAccessorAndData(weightsAccessorIndex, out var weightsAcc, out var weightsData, out var weightsByteStride); if (weightsAcc.IsSparse) { m_Logger?.Error(LogCode.SparseAccessor, "bone weights"); } - m_Data = new NativeArray(weightsAcc.count, VertexBufferConfigBase.defaultAllocator); + m_Data = new NativeArray(weightsAcc.count, VertexBufferGeneratorBase.defaultAllocator); var vDataPtr = (byte*)NativeArrayUnsafeUtility.GetUnsafeReadOnlyPtr(m_Data); Profiler.EndSample(); @@ -86,7 +86,7 @@ int jointsAccessorIndex } { - buffers.GetAccessor(jointsAccessorIndex, out var jointsAcc, out var jointsData, out var jointsByteStride); + buffers.GetAccessorAndData(jointsAccessorIndex, out var jointsAcc, out var jointsData, out var jointsByteStride); if (jointsAcc.IsSparse) { m_Logger?.Error(LogCode.SparseAccessor, "bone joints"); @@ -152,7 +152,7 @@ public override void AddDescriptors(VertexAttributeDescriptor[] dst, int offset, dst[offset + 1] = new VertexAttributeDescriptor(VertexAttribute.BlendIndices, VertexAttributeFormat.UInt32, 4, stream); } - public override void ApplyOnMesh(UnityEngine.Mesh msh, int stream, MeshUpdateFlags flags = PrimitiveCreateContextBase.defaultMeshUpdateFlags) + public override void ApplyOnMesh(UnityEngine.Mesh msh, int stream, MeshUpdateFlags flags = MeshResultGeneratorBase.defaultMeshUpdateFlags) { Profiler.BeginSample("ApplyBones"); msh.SetVertexBufferData(m_Data, 0, 0, m_Data.Length, stream, flags); diff --git a/Runtime/Scripts/VertexBufferColors.cs b/Runtime/Scripts/VertexBufferColors.cs index 4fc44c18b..cc44f7a19 100644 --- a/Runtime/Scripts/VertexBufferColors.cs +++ b/Runtime/Scripts/VertexBufferColors.cs @@ -19,7 +19,7 @@ abstract class VertexBufferColorsBase { public abstract bool ScheduleVertexColorJob(IGltfBuffers buffers, int colorAccessorIndex, NativeSlice handles); public abstract void AddDescriptors(VertexAttributeDescriptor[] dst, int offset, int stream); - public abstract void ApplyOnMesh(UnityEngine.Mesh msh, int stream, MeshUpdateFlags flags = PrimitiveCreateContextBase.defaultMeshUpdateFlags); + public abstract void ApplyOnMesh(UnityEngine.Mesh msh, int stream, MeshUpdateFlags flags = MeshResultGeneratorBase.defaultMeshUpdateFlags); public abstract void Dispose(); protected ICodeLogger m_Logger; @@ -44,12 +44,12 @@ public override unsafe bool ScheduleVertexColorJob(IGltfBuffers buffers, int col { Profiler.BeginSample("ScheduleVertexColorJob"); Profiler.BeginSample("AllocateNativeArray"); - buffers.GetAccessor(colorAccessorIndex, out var colorAcc, out var data, out var byteStride); + buffers.GetAccessorAndData(colorAccessorIndex, out var colorAcc, out var data, out var byteStride); if (colorAcc.IsSparse) { m_Logger?.Error(LogCode.SparseAccessor, "color"); } - m_Data = new NativeArray(colorAcc.count, VertexBufferConfigBase.defaultAllocator); + m_Data = new NativeArray(colorAcc.count, VertexBufferGeneratorBase.defaultAllocator); Profiler.EndSample(); var h = GetColors32Job( @@ -77,7 +77,7 @@ public override void AddDescriptors(VertexAttributeDescriptor[] dst, int offset, dst[offset] = new VertexAttributeDescriptor(VertexAttribute.Color, VertexAttributeFormat.Float32, 4, stream); } - public override void ApplyOnMesh(UnityEngine.Mesh msh, int stream, MeshUpdateFlags flags = PrimitiveCreateContextBase.defaultMeshUpdateFlags) + public override void ApplyOnMesh(UnityEngine.Mesh msh, int stream, MeshUpdateFlags flags = MeshResultGeneratorBase.defaultMeshUpdateFlags) { Profiler.BeginSample("ApplyUVs"); msh.SetVertexBufferData(m_Data, 0, 0, m_Data.Length, stream, flags); diff --git a/Runtime/Scripts/VertexBufferConfig.cs b/Runtime/Scripts/VertexBufferGenerator.cs similarity index 94% rename from Runtime/Scripts/VertexBufferConfig.cs rename to Runtime/Scripts/VertexBufferGenerator.cs index a24aeb8e6..5fafa4b74 100644 --- a/Runtime/Scripts/VertexBufferConfig.cs +++ b/Runtime/Scripts/VertexBufferGenerator.cs @@ -19,11 +19,11 @@ namespace GLTFast #endif using Logging; - class VertexBufferConfig : - VertexBufferConfigBase - where VType : struct + class VertexBufferGenerator : + VertexBufferGeneratorBase + where TMainBuffer : struct { - NativeArray m_Data; + NativeArray m_Data; bool m_HasNormals; bool m_HasTangents; @@ -46,7 +46,7 @@ public override int VertexCount } } - public VertexBufferConfig(ICodeLogger logger) : base(logger) { } + public VertexBufferGenerator(ICodeLogger logger) : base(logger) { } public override unsafe JobHandle? ScheduleVertexJobs( IGltfBuffers buffers, @@ -59,11 +59,11 @@ public VertexBufferConfig(ICodeLogger logger) : base(logger) { } int jointsAccessorIndex ) { - buffers.GetAccessor(positionAccessorIndex, out var posAcc, out var posData, out var posByteStride); + buffers.GetAccessorAndData(positionAccessorIndex, out var posAcc, out var posData, out var posByteStride); Profiler.BeginSample("ScheduleVertexJobs"); Profiler.BeginSample("AllocateNativeArray"); - m_Data = new NativeArray(posAcc.count, defaultAllocator); + m_Data = new NativeArray(posAcc.count, defaultAllocator); var vDataPtr = (byte*)m_Data.GetUnsafeReadOnlyPtr(); Profiler.EndSample(); @@ -205,7 +205,7 @@ int jointsAccessorIndex if (normalAccessorIndex >= 0) { - buffers.GetAccessor(normalAccessorIndex, out var nrmAcc, out var input, out var inputByteStride); + buffers.GetAccessorAndData(normalAccessorIndex, out var nrmAcc, out var input, out var inputByteStride); if (nrmAcc.IsSparse) { m_Logger?.Error(LogCode.SparseAccessor, "normals"); @@ -234,7 +234,7 @@ int jointsAccessorIndex if (tangentAccessorIndex >= 0) { - buffers.GetAccessor(tangentAccessorIndex, out var tanAcc, out var input, out var inputByteStride); + buffers.GetAccessorAndData(tangentAccessorIndex, out var tanAcc, out var input, out var inputByteStride); if (tanAcc.IsSparse) { m_Logger?.Error(LogCode.SparseAccessor, "tangents"); @@ -359,7 +359,7 @@ void CreateDescriptors() } } - public override void ApplyOnMesh(Mesh msh, MeshUpdateFlags flags = PrimitiveCreateContextBase.defaultMeshUpdateFlags) + public override void ApplyOnMesh(Mesh msh, MeshUpdateFlags flags = MeshResultGeneratorBase.defaultMeshUpdateFlags) { Profiler.BeginSample("ApplyOnMesh"); diff --git a/Runtime/Scripts/VertexBufferConfig.cs.meta b/Runtime/Scripts/VertexBufferGenerator.cs.meta similarity index 100% rename from Runtime/Scripts/VertexBufferConfig.cs.meta rename to Runtime/Scripts/VertexBufferGenerator.cs.meta diff --git a/Runtime/Scripts/VertexBufferConfigBase.cs b/Runtime/Scripts/VertexBufferGeneratorBase.cs similarity index 97% rename from Runtime/Scripts/VertexBufferConfigBase.cs rename to Runtime/Scripts/VertexBufferGeneratorBase.cs index f238aa599..6920f6621 100644 --- a/Runtime/Scripts/VertexBufferConfigBase.cs +++ b/Runtime/Scripts/VertexBufferGeneratorBase.cs @@ -18,19 +18,7 @@ namespace GLTFast using Logging; using Schema; - [System.Flags] - enum MainBufferType - { - None = 0x0, - Position = 0x1, - Normal = 0x2, - Tangent = 0x4, - - PosNorm = 0x3, - PosNormTan = 0x7, - } - - abstract class VertexBufferConfigBase + abstract class VertexBufferGeneratorBase { public const Allocator defaultAllocator = Allocator.Persistent; @@ -43,7 +31,7 @@ abstract class VertexBufferConfigBase public Bounds? Bounds { get; protected set; } - protected VertexBufferConfigBase(ICodeLogger logger) + protected VertexBufferGeneratorBase(ICodeLogger logger) { m_Logger = logger; } @@ -58,7 +46,7 @@ protected VertexBufferConfigBase(ICodeLogger logger) int weightsAccessorIndex, int jointsAccessorIndex ); - public abstract void ApplyOnMesh(UnityEngine.Mesh msh, MeshUpdateFlags flags = PrimitiveCreateContextBase.defaultMeshUpdateFlags); + public abstract void ApplyOnMesh(UnityEngine.Mesh msh, MeshUpdateFlags flags = MeshResultGeneratorBase.defaultMeshUpdateFlags); public abstract int VertexCount { get; } public abstract void Dispose(); diff --git a/Runtime/Scripts/VertexBufferConfigBase.cs.meta b/Runtime/Scripts/VertexBufferGeneratorBase.cs.meta similarity index 100% rename from Runtime/Scripts/VertexBufferConfigBase.cs.meta rename to Runtime/Scripts/VertexBufferGeneratorBase.cs.meta diff --git a/Runtime/Scripts/VertexBufferTexCoords.cs b/Runtime/Scripts/VertexBufferTexCoords.cs index 737ac7789..94c49b845 100644 --- a/Runtime/Scripts/VertexBufferTexCoords.cs +++ b/Runtime/Scripts/VertexBufferTexCoords.cs @@ -28,7 +28,7 @@ protected VertexBufferTexCoordsBase(ICodeLogger logger) public int UVSetCount { get; protected set; } public abstract bool ScheduleVertexUVJobs(IGltfBuffers buffers, int[] uvAccessorIndices, int vertexCount, NativeSlice handles); public abstract void AddDescriptors(VertexAttributeDescriptor[] dst, ref int offset, int stream); - public abstract void ApplyOnMesh(UnityEngine.Mesh msh, int stream, MeshUpdateFlags flags = PrimitiveCreateContextBase.defaultMeshUpdateFlags); + public abstract void ApplyOnMesh(UnityEngine.Mesh msh, int stream, MeshUpdateFlags flags = MeshResultGeneratorBase.defaultMeshUpdateFlags); public abstract void Dispose(); } @@ -42,7 +42,7 @@ public override unsafe bool ScheduleVertexUVJobs(IGltfBuffers buffers, int[] uvA { Profiler.BeginSample("ScheduleVertexUVJobs"); Profiler.BeginSample("AllocateNativeArray"); - m_Data = new NativeArray(vertexCount, VertexBufferConfigBase.defaultAllocator); + m_Data = new NativeArray(vertexCount, VertexBufferGeneratorBase.defaultAllocator); var vDataPtr = (byte*)NativeArrayUnsafeUtility.GetUnsafeReadOnlyPtr(m_Data); Profiler.EndSample(); UVSetCount = uvAccessorIndices.Length; @@ -51,7 +51,7 @@ public override unsafe bool ScheduleVertexUVJobs(IGltfBuffers buffers, int[] uvA for (int i = 0; i < uvAccessorIndices.Length; i++) { var accIndex = uvAccessorIndices[i]; - buffers.GetAccessor(accIndex, out var uvAcc, out var data, out var byteStride); + buffers.GetAccessorAndData(accIndex, out var uvAcc, out var data, out var byteStride); if (uvAcc.IsSparse) { m_Logger?.Error(LogCode.SparseAccessor, "UVs"); @@ -91,7 +91,7 @@ public override void AddDescriptors(VertexAttributeDescriptor[] dst, ref int off } } - public override void ApplyOnMesh(UnityEngine.Mesh msh, int stream, MeshUpdateFlags flags = PrimitiveCreateContextBase.defaultMeshUpdateFlags) + public override void ApplyOnMesh(UnityEngine.Mesh msh, int stream, MeshUpdateFlags flags = MeshResultGeneratorBase.defaultMeshUpdateFlags) { Profiler.BeginSample("ApplyUVs"); msh.SetVertexBufferData(m_Data, 0, 0, m_Data.Length, stream, flags); diff --git a/package.json b/package.json index c0f5e24d2..f0750085a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "com.atteneder.gltfast", - "version": "6.9.0", + "version": "6.9.1", "displayName": "glTFast", "description": "Use glTFast to import and export glTF 3D files efficiently at runtime or in the Editor", "unity": "2020.3", From 2ea11535404b0355b7e63e5532cb271204f7179c Mon Sep 17 00:00:00 2001 From: Andreas Atteneder Date: Thu, 30 Jan 2025 12:49:48 +0100 Subject: [PATCH 05/27] com.atteneder.gltfast Release 6.10.0 --- .github/renovate.json | 6 + .github/workflows/renovate-validation.yml | 40 + .github/workflows/renovate.yml | 37 + CHANGELOG.md | 31 + Documentation~/test-project-setup.md | 2 +- Editor/Scripts/GltfImporter.cs | 2 +- Runtime/Scripts/DOTS/EntityInstantiator.cs | 6 +- Runtime/Scripts/DracoMeshGenerator.cs | 241 +++ ...tor.cs.meta => DracoMeshGenerator.cs.meta} | 0 Runtime/Scripts/DracoMeshResultGenerator.cs | 150 -- Runtime/Scripts/Export/Constants.cs | 2 +- Runtime/Scripts/Export/ExportSettings.cs | 5 + Runtime/Scripts/Export/GltfWriter.cs | 1 + Runtime/Scripts/Export/ImageExport.cs | 2 +- Runtime/Scripts/Export/ImageExportBase.cs | 15 +- Runtime/Scripts/Export/MaskMapImageExport.cs | 2 +- Runtime/Scripts/Export/NormalImageExport.cs | 2 +- Runtime/Scripts/Export/OrmImageExport.cs | 8 +- Runtime/Scripts/FlatArray.cs | 80 + ...tiveComparer.cs.meta => FlatArray.cs.meta} | 2 +- .../Scripts/GameObjectBoundsInstantiator.cs | 4 +- Runtime/Scripts/GameObjectInstantiator.cs | 17 +- Runtime/Scripts/GltfAsset.cs | 6 + Runtime/Scripts/GltfImport.cs | 1318 ++++++----------- Runtime/Scripts/IGltfBuffers.cs | 3 + Runtime/Scripts/IGltfReadable.cs | 18 + Runtime/Scripts/IInstantiator.cs | 21 +- Runtime/Scripts/IMaterialProvider.cs | 5 +- Runtime/Scripts/Jobs.cs | 6 +- Runtime/Scripts/Logging/LogMessages.cs | 2 +- Runtime/Scripts/MeshAssignment.cs | 25 + Runtime/Scripts/MeshAssignment.cs.meta | 3 + Runtime/Scripts/MeshComparer.cs | 198 +++ Runtime/Scripts/MeshComparer.cs.meta | 3 + Runtime/Scripts/MeshGenerator.cs | 637 ++++++++ ...enerator.cs.meta => MeshGenerator.cs.meta} | 0 Runtime/Scripts/MeshGeneratorBase.cs | 57 + ...Base.cs.meta => MeshGeneratorBase.cs.meta} | 0 Runtime/Scripts/MeshOrder.cs | 29 + Runtime/Scripts/MeshOrder.cs.meta | 3 + Runtime/Scripts/MeshResultGenerator.cs | 155 -- Runtime/Scripts/MeshResultGeneratorBase.cs | 49 - Runtime/Scripts/MeshSubset.cs | 33 + Runtime/Scripts/MeshSubset.cs.meta | 3 + Runtime/Scripts/MorphTargetsGenerator.cs | 405 ++--- ...mitiveComparer.cs => PrimitiveComparer.cs} | 124 +- Runtime/Scripts/PrimitiveComparer.cs.meta | 3 + Runtime/Scripts/PrimitiveSet.cs | 112 ++ Runtime/Scripts/PrimitiveSet.cs.meta | 3 + Runtime/Scripts/PrimitivesComparer.cs | 53 + Runtime/Scripts/PrimitivesComparer.cs.meta | 3 + Runtime/Scripts/Schema/MeshPrimitive.cs | 67 + Runtime/Scripts/SubMeshAssignment.cs | 26 + Runtime/Scripts/SubMeshAssignment.cs.meta | 3 + Runtime/Scripts/VertexBufferBones.cs | 60 +- Runtime/Scripts/VertexBufferColors.cs | 57 +- Runtime/Scripts/VertexBufferDescriptor.cs | 93 ++ .../Scripts/VertexBufferDescriptor.cs.meta | 3 + Runtime/Scripts/VertexBufferGenerator.cs | 533 ++++--- Runtime/Scripts/VertexBufferGeneratorBase.cs | 50 +- Runtime/Scripts/VertexBufferTexCoords.cs | 71 +- package.json | 2 +- 62 files changed, 3100 insertions(+), 1797 deletions(-) create mode 100644 .github/renovate.json create mode 100644 .github/workflows/renovate-validation.yml create mode 100644 .github/workflows/renovate.yml create mode 100644 Runtime/Scripts/DracoMeshGenerator.cs rename Runtime/Scripts/{DracoMeshResultGenerator.cs.meta => DracoMeshGenerator.cs.meta} (100%) delete mode 100644 Runtime/Scripts/DracoMeshResultGenerator.cs create mode 100644 Runtime/Scripts/FlatArray.cs rename Runtime/Scripts/{MeshPrimitiveComparer.cs.meta => FlatArray.cs.meta} (83%) create mode 100644 Runtime/Scripts/MeshAssignment.cs create mode 100644 Runtime/Scripts/MeshAssignment.cs.meta create mode 100644 Runtime/Scripts/MeshComparer.cs create mode 100644 Runtime/Scripts/MeshComparer.cs.meta create mode 100644 Runtime/Scripts/MeshGenerator.cs rename Runtime/Scripts/{MeshResultGenerator.cs.meta => MeshGenerator.cs.meta} (100%) create mode 100644 Runtime/Scripts/MeshGeneratorBase.cs rename Runtime/Scripts/{MeshResultGeneratorBase.cs.meta => MeshGeneratorBase.cs.meta} (100%) create mode 100644 Runtime/Scripts/MeshOrder.cs create mode 100644 Runtime/Scripts/MeshOrder.cs.meta delete mode 100644 Runtime/Scripts/MeshResultGenerator.cs delete mode 100644 Runtime/Scripts/MeshResultGeneratorBase.cs create mode 100644 Runtime/Scripts/MeshSubset.cs create mode 100644 Runtime/Scripts/MeshSubset.cs.meta rename Runtime/Scripts/{MeshPrimitiveComparer.cs => PrimitiveComparer.cs} (80%) create mode 100644 Runtime/Scripts/PrimitiveComparer.cs.meta create mode 100644 Runtime/Scripts/PrimitiveSet.cs create mode 100644 Runtime/Scripts/PrimitiveSet.cs.meta create mode 100644 Runtime/Scripts/PrimitivesComparer.cs create mode 100644 Runtime/Scripts/PrimitivesComparer.cs.meta create mode 100644 Runtime/Scripts/SubMeshAssignment.cs create mode 100644 Runtime/Scripts/SubMeshAssignment.cs.meta create mode 100644 Runtime/Scripts/VertexBufferDescriptor.cs create mode 100644 Runtime/Scripts/VertexBufferDescriptor.cs.meta diff --git a/.github/renovate.json b/.github/renovate.json new file mode 100644 index 000000000..5689b264c --- /dev/null +++ b/.github/renovate.json @@ -0,0 +1,6 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": [ + "local>unity/renovate-config" + ] +} diff --git a/.github/workflows/renovate-validation.yml b/.github/workflows/renovate-validation.yml new file mode 100644 index 000000000..4543a652a --- /dev/null +++ b/.github/workflows/renovate-validation.yml @@ -0,0 +1,40 @@ +# Refer to https://internaldocs.unity.com/renovate/ for more documentation + +# This workflow is for validating the Renovate configuration and docker image +# updates for it. +name: Renovate Validation +on: + workflow_dispatch: + inputs: + log-level: + type: choice + description: Select log level for Renovate + options: + - trace + - debug + - info + - warn + - error + default: info + required: false + pull_request: + paths: + # we trigger validation on any changes to the renovate workflow files + - .github/workflows/renovate*.yml + # as well as for any possible location for the renovate config file + - .github/renovate.json? + + +jobs: + renovate-validation: + # The reusable workflow will be updated by renovate if there's a new version + uses: unity/renovate-workflows/.github/workflows/run.yml@v4.0.0 + with: + # This is the image that contains our custom renovate and will be auto + # updated by Renovate itself. + image: europe-docker.pkg.dev/unity-cds-services-prd/ds-docker/renovate:10.2.4@sha256:3c19b168b1a9a4ca076ad5f858176ef0b2eafc34aafcd6e2276133a563d35112 + dry-run: full + log-level: ${{ github.event.inputs.log-level }} + secrets: + renovate-auth-secret: ${{ secrets.RENOVATE_AUTH_SECRET }} + github-com-token: ${{ secrets.GH_COM_TOKEN }} diff --git a/.github/workflows/renovate.yml b/.github/workflows/renovate.yml new file mode 100644 index 000000000..fad484561 --- /dev/null +++ b/.github/workflows/renovate.yml @@ -0,0 +1,37 @@ +# Refer to https://internaldocs.unity.com/renovate/ for more documentation + +# This workflow runs Renovate against the current repo and will create PRs with outdated dependencies. +name: Renovate + +on: + workflow_dispatch: + inputs: + log-level: + type: choice + description: Select log level for Renovate + options: + - trace + - debug + - info + - warn + - error + default: info + required: false + schedule: + # Default daily scheduled run. Feel free to change this to run when you want it to. + - cron: '25 17 * * *' + +jobs: + renovate: + # The reusable workflow will be updated by renovate if there's a new version + uses: unity/renovate-workflows/.github/workflows/run.yml@v4.0.0 + with: + # This is the image that contains our custom renovate and will be auto + # updated by Renovate itself. + image: europe-docker.pkg.dev/unity-cds-services-prd/ds-docker/renovate:10.2.4@sha256:3c19b168b1a9a4ca076ad5f858176ef0b2eafc34aafcd6e2276133a563d35112 + log-level: ${{ github.event.inputs.log-level }} + secrets: + renovate-auth-secret: ${{ secrets.RENOVATE_AUTH_SECRET }} + github-com-token: ${{ secrets.GH_COM_TOKEN }} + + diff --git a/CHANGELOG.md b/CHANGELOG.md index f8465a3da..d2867bf24 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,14 +4,44 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [6.10.0] - 2024-12-16 + +### Added +- Extended access to meshes. + - `IGltfReadable.GetSourceMesh` returns source (de-serialized glTF) mesh. + - `GltfImportBase.Meshes` to retrieve all imported meshes. + - `GltfImportBase.GetMeshCount` returns the number of imported meshes per glTF mesh. + - `GltfImportBase.GetMeshes` to iterate the imported meshes of a single glTF mesh. + - `GltfImportBase.GetMesh` to access a single imported meshes. +- Test asset *SubMesh*. +- (CI) Automatically generated CI jobs (via Wrench/RecipeEngine; required for PackageWorks). +- (CI) Renovate action to auto-update dependencies in CI jobs. +- (CI) Renovate validation action. +- `JpgQuality` option in `ExportSettings` for finer control of jpg image exports. +- Project versions to test projects. + +### Changed +- Mesh primitives of equal vertex buffer layout will result in a single Unity mesh with multiple sub-meshes instead of multiple Unity meshes (fixes [#153](https://github.com/atteneder/glTFast/issues/153)). + +### Deprecated +- `IGltfReadable.GetAccessor` (replaced by `IGltfReadable.GetAccessorData`). +- `GltfImportBase.GetMeshes` (replaced by `GltfImportBase.Meshes`). + +### Fixed +- Preserve per-submesh bounding box. +- `GltfAsset` properly cleans up scene instance's `Animation` component, which fixes repeated loading of animated glTFs. + ## [6.9.1] - 2024-11-15 ### Added - (Test) `OpenGltfScene` with open glTF file dialog for convenient testing. - (Test) Tests for C# jobs that calculate or re-order indices. - Third party notices. +- `GltfImportBase.Logger` grants access to the logger in use. +- `GltfImportBase.DeferAgent` grants access to the defer agent in use. ### Changed +- Convert one mesh's primitives of identical target vertex buffer structure into sub-meshes of one Unity mesh instead of splitting them up into multiple Unity meshes (fixes [#153](https://github.com/atteneder/glTFast/issues/153)). - Node name is assigned earlier during instantiation, enabling easier node identification by name (partially fixes [#724](https://github.com/atteneder/glTFast/issues/724)). - (Test) Updated test project dependencies. - (CI) Migrated code coverage. @@ -23,6 +53,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed - Made sure that mesh primitives of different drawmode (topology) are not mixed up. +- Apply morph targets/blend shapes before uploading to GPU in `GLTFAST_KEEP_MESH_DATA` mode. ## [6.9.0] - 2024-10-30 diff --git a/Documentation~/test-project-setup.md b/Documentation~/test-project-setup.md index 1002c0da6..f0590fd6e 100644 --- a/Documentation~/test-project-setup.md +++ b/Documentation~/test-project-setup.md @@ -20,7 +20,7 @@ This repository comes with test projects that are pre-configured to have all req To open a project open [Unity® Hub][UnityHub], go to *Projects* and pick *Add* → *Add project from disk*. Select the respective project folder from within the `Projects` directory in your local copy. -Now the project will be listed in Unity Hub with an *Unknown* editor version. Upon opening the project first time you have to pick a version of your choice (within the range of [supported versions](features.md#unity-version-support)). +Upon opening the project you can pick a Unity version of your choice (within the range of [supported versions](features.md#unity-version-support)). In fact you might have to, if the predefined version is not installed. If you decide to work on more recent versions, keep in mind that for contributions your changes have to be backwards compatible to all supported versions. ## Setup a Custom Project diff --git a/Editor/Scripts/GltfImporter.cs b/Editor/Scripts/GltfImporter.cs index 4d641e82d..26f4ce2a8 100644 --- a/Editor/Scripts/GltfImporter.cs +++ b/Editor/Scripts/GltfImporter.cs @@ -199,7 +199,7 @@ public override void OnImportAsset(AssetImportContext ctx) AddObjectToAsset(ctx, $"materials/{mat.name}", mat); } - var meshes = m_Gltf.GetMeshes(); + var meshes = m_Gltf.Meshes; if (meshes != null) { foreach (var mesh in meshes) diff --git a/Runtime/Scripts/DOTS/EntityInstantiator.cs b/Runtime/Scripts/DOTS/EntityInstantiator.cs index 9cba2e1c2..f83c5d061 100644 --- a/Runtime/Scripts/DOTS/EntityInstantiator.cs +++ b/Runtime/Scripts/DOTS/EntityInstantiator.cs @@ -187,14 +187,14 @@ public virtual void AddPrimitive( uint[] joints = null, uint? rootJoint = null, float[] morphTargetWeights = null, - int primitiveNumeration = 0 + int meshNumeration = 0 ) { if ((m_Settings.Mask & ComponentType.Mesh) == 0) { return; } Profiler.BeginSample("AddPrimitive"); Entity node; - if(primitiveNumeration==0) { + if(meshNumeration==0) { // Use Node GameObject for first Primitive node = m_Nodes[nodeIndex]; } else { @@ -297,7 +297,7 @@ public void AddPrimitiveInstanced( NativeArray? positions, NativeArray? rotations, NativeArray? scales, - int primitiveNumeration = 0 + int meshNumeration = 0 ) { if ((m_Settings.Mask & ComponentType.Mesh) == 0) { return; diff --git a/Runtime/Scripts/DracoMeshGenerator.cs b/Runtime/Scripts/DracoMeshGenerator.cs new file mode 100644 index 000000000..7e751d846 --- /dev/null +++ b/Runtime/Scripts/DracoMeshGenerator.cs @@ -0,0 +1,241 @@ +// SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +#if DRACO_UNITY + +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using UnityEngine; +using Unity.Collections; +using Draco; +using GLTFast.Logging; +using GLTFast.Schema; +using UnityEngine.Assertions; +using UnityEngine.Rendering; +using Mesh = UnityEngine.Mesh; + +namespace GLTFast { + + class DracoMeshGenerator : MeshGeneratorBase { + + Bounds? m_Bounds; + + readonly bool m_NeedsNormals; + readonly bool m_NeedsTangents; + + public DracoMeshGenerator( + IReadOnlyList primitives, + SubMeshAssignment[] subMeshAssignments, + string[] morphTargetNames, + string meshName, + GltfImportBase gltfImport + ) + : base(meshName) + { + // TODO: Add support for decoding multiple primitives into one mesh with sub-meshes. + Assert.IsTrue( + primitives.Count == 1, + "Draco-compressed, multi primitives/sub-mesh meshes are not supported." + ); + + Assert.IsNull( + subMeshAssignments, + "Draco-compressed, multi primitives/sub-mesh meshes are not supported." + ); + + var morphTargets = primitives[0].targets; + var hasMorphTargets = morphTargets != null && morphTargets.Length > 0; + + var vertexCount = 0; + var vertexIntervals = hasMorphTargets + ? new int[primitives.Count + 1] + : null; + + for (var index = 0; index < primitives.Count; index++) + { + var primitive = primitives[index]; + Assert.IsTrue(primitive.IsDracoCompressed); + + var posAccessor = ((IGltfBuffers)gltfImport).GetAccessor(primitive.attributes.POSITION); + + if (hasMorphTargets) + { + vertexIntervals[index] = vertexCount; + } + vertexCount += posAccessor.count; + + var bounds = posAccessor.TryGetBounds(); + + if (bounds.HasValue) + { + m_Bounds = bounds.Value; + } + else + { + gltfImport.Logger?.Error(LogCode.MeshBoundsMissing, primitive.attributes.POSITION.ToString()); + } + + if (primitive.material < 0) + { + m_NeedsNormals = true; + } + else + { + var material = gltfImport.GetSourceMaterial(primitive.material); + m_NeedsNormals |= material.RequiresNormals; + m_NeedsTangents |= material.RequiresTangents; + } + } + + if (hasMorphTargets) + { + InitializeMorphTargets( + primitives, + morphTargetNames, + vertexIntervals, + vertexCount, + morphTargets, + gltfImport + ); + } + + m_CreationTask = Decode(primitives, gltfImport); + } + + void InitializeMorphTargets( + IReadOnlyList primitives, + string[] morphTargetNames, + int[] vertexIntervals, + int vertexCount, + MorphTarget[] morphTargets, + GltfImportBase gltfImport + ) + { + vertexIntervals[vertexIntervals.Length-1] = vertexCount; + m_MorphTargetsGenerator = new MorphTargetsGenerator( + vertexCount, + vertexIntervals, + morphTargets.Length, + morphTargetNames, + morphTargets[0].NORMAL >= 0, + morphTargets[0].TANGENT >= 0, + gltfImport + ); + for (var subMesh = 0; subMesh < primitives.Count; subMesh++) + { + var primitive = primitives[subMesh]; + for (var morphTargetIndex = 0; morphTargetIndex < primitive.targets.Length; morphTargetIndex++) + { + var target = primitive.targets[morphTargetIndex]; + m_MorphTargetsGenerator.AddMorphTarget(subMesh, morphTargetIndex, target); + } + } + } + + async Task Decode(IReadOnlyList primitives, IGltfBuffers buffers) + { + Mesh mesh = null; + foreach (var primitive in primitives) + { + var dracoExt = primitive.Extensions.KHR_draco_mesh_compression; + var buffer = buffers.GetBufferView(dracoExt.bufferView, out _); + mesh = await StartDecode(buffer, dracoExt.attributes); + } + + if (mesh is null) { + return null; + } + + if (m_Bounds.HasValue) { + mesh.bounds = m_Bounds.Value; + + // Setting the sub-meshes' bounds to the overall bounds + // Calculating the actual sub-mesh bounds (by iterating the verts referenced + // by the sub-mesh indices) would be slow. Also, hardly any glTFs re-use + // the same vertex buffer across primitives of a node (which is the + // only way a mesh can have sub-meshes) + for (var i = 0; i < mesh.subMeshCount; i++) { + var subMeshDescriptor = mesh.GetSubMesh(i); + subMeshDescriptor.bounds = m_Bounds.Value; + mesh.SetSubMesh( + i, + subMeshDescriptor, + MeshUpdateFlags.DontValidateIndices + | MeshUpdateFlags.DontResetBoneBounds + | MeshUpdateFlags.DontNotifyMeshUsers + | MeshUpdateFlags.DontRecalculateBounds + ); + } + } else { + mesh.RecalculateBounds(); + } + + if (m_MorphTargetsGenerator != null) { + await m_MorphTargetsGenerator.ApplyOnMeshAndDispose(mesh); + } + + mesh.name = m_MeshName; + +#if GLTFAST_KEEP_MESH_DATA + mesh.UploadMeshData(false); +#endif + + return mesh; + } + + async Task StartDecode(NativeSlice data, Attributes dracoAttributes) + { + var flags = DecodeSettings.ConvertSpace; + if (m_NeedsTangents) + { + flags |= DecodeSettings.RequireNormalsAndTangents; + } + else if (m_NeedsNormals) + { + flags |= DecodeSettings.RequireNormals; + } + if (m_MorphTargetsGenerator != null) + { + flags |= DecodeSettings.ForceUnityVertexLayout; + } + + return await DracoDecoder.DecodeMesh(data, flags, GenerateAttributeIdMap(dracoAttributes)); + } + + static Dictionary GenerateAttributeIdMap(Attributes attributes) + { + var result = new Dictionary(); + if (attributes.POSITION >= 0) + result[VertexAttribute.Position] = attributes.POSITION; + if (attributes.NORMAL >= 0) + result[VertexAttribute.Normal] = attributes.NORMAL; + if (attributes.TANGENT >= 0) + result[VertexAttribute.Tangent] = attributes.TANGENT; + if (attributes.COLOR_0 >= 0) + result[VertexAttribute.Color] = attributes.COLOR_0; + if (attributes.TEXCOORD_0 >= 0) + result[VertexAttribute.TexCoord0] = attributes.TEXCOORD_0; + if (attributes.TEXCOORD_1 >= 0) + result[VertexAttribute.TexCoord1] = attributes.TEXCOORD_1; + if (attributes.TEXCOORD_2 >= 0) + result[VertexAttribute.TexCoord2] = attributes.TEXCOORD_2; + if (attributes.TEXCOORD_3 >= 0) + result[VertexAttribute.TexCoord3] = attributes.TEXCOORD_3; + if (attributes.TEXCOORD_4 >= 0) + result[VertexAttribute.TexCoord4] = attributes.TEXCOORD_4; + if (attributes.TEXCOORD_5 >= 0) + result[VertexAttribute.TexCoord5] = attributes.TEXCOORD_5; + if (attributes.TEXCOORD_6 >= 0) + result[VertexAttribute.TexCoord6] = attributes.TEXCOORD_6; + if (attributes.TEXCOORD_7 >= 0) + result[VertexAttribute.TexCoord7] = attributes.TEXCOORD_7; + if (attributes.WEIGHTS_0 >= 0) + result[VertexAttribute.BlendWeight] = attributes.WEIGHTS_0; + if (attributes.JOINTS_0 >= 0) + result[VertexAttribute.BlendIndices] = attributes.JOINTS_0; + return result; + } + } +} +#endif // DRACO_UNITY diff --git a/Runtime/Scripts/DracoMeshResultGenerator.cs.meta b/Runtime/Scripts/DracoMeshGenerator.cs.meta similarity index 100% rename from Runtime/Scripts/DracoMeshResultGenerator.cs.meta rename to Runtime/Scripts/DracoMeshGenerator.cs.meta diff --git a/Runtime/Scripts/DracoMeshResultGenerator.cs b/Runtime/Scripts/DracoMeshResultGenerator.cs deleted file mode 100644 index e901fe98e..000000000 --- a/Runtime/Scripts/DracoMeshResultGenerator.cs +++ /dev/null @@ -1,150 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -#if DRACO_UNITY - -using System; -using System.Collections.Generic; -using System.Threading.Tasks; -using UnityEngine; -using Unity.Collections; -using Draco; -using GLTFast.Schema; -using UnityEngine.Rendering; -using Mesh = UnityEngine.Mesh; - -namespace GLTFast { - - class DracoMeshResultGenerator : MeshResultGeneratorBase { - - Task m_DracoTask; - Bounds? m_Bounds; - - bool m_NeedsNormals; - bool m_NeedsTangents; - - public override bool IsCompleted => m_DracoTask!=null && m_DracoTask.IsCompleted; - - public DracoMeshResultGenerator( - int meshIndex, - int primitiveIndex, - int subMeshCount, - bool needsNormals, - bool needsTangents, - string meshName, - Bounds? bounds - ) - : base(meshIndex, primitiveIndex, subMeshCount, meshName) - { - m_NeedsNormals = needsNormals; - m_NeedsTangents = needsTangents; - m_Bounds = bounds; - } - - public void StartDecode(NativeSlice data, Attributes dracoAttributes) - { - var flags = DecodeSettings.ConvertSpace; - if (m_NeedsTangents) - { - flags |= DecodeSettings.RequireNormalsAndTangents; - } else - if (m_NeedsNormals) - { - flags |= DecodeSettings.RequireNormals; - } - if (morphTargetsGenerator != null) - { - flags |= DecodeSettings.ForceUnityVertexLayout; - } - - m_DracoTask = DracoDecoder.DecodeMesh(data, flags, GenerateAttributeIdMap(dracoAttributes)); - } - - public override async Task CreatePrimitive() { - - var mesh = m_DracoTask.Result; - m_DracoTask.Dispose(); - - if (mesh == null) { - return null; - } - - mesh.name = m_MeshName; - - if (m_Bounds.HasValue) { - mesh.bounds = m_Bounds.Value; - - // Setting the sub-meshes' bounds to the overall bounds - // Calculating the actual sub-mesh bounds (by iterating the verts referenced - // by the sub-mesh indices) would be slow. Also, hardly any glTFs re-use - // the same vertex buffer across primitives of a node (which is the - // only way a mesh can have sub-meshes) - for (var i = 0; i < mesh.subMeshCount; i++) { - var subMeshDescriptor = mesh.GetSubMesh(i); - subMeshDescriptor.bounds = m_Bounds.Value; - mesh.SetSubMesh(i, subMeshDescriptor, MeshUpdateFlags.DontValidateIndices | MeshUpdateFlags.DontResetBoneBounds | MeshUpdateFlags.DontNotifyMeshUsers | MeshUpdateFlags.DontRecalculateBounds ); - } - } else { - mesh.RecalculateBounds(); - } - - if (morphTargetsGenerator != null) { - await morphTargetsGenerator.ApplyOnMeshAndDispose(mesh); - } - -#if GLTFAST_KEEP_MESH_DATA - UnityEngine.Profiling.Profiler.BeginSample("UploadMeshData"); - mesh.UploadMeshData(false); - UnityEngine.Profiling.Profiler.EndSample(); -#else - // Don't upload explicitly. Unity takes care of upload on demand/deferred - - // Profiler.BeginSample("UploadMeshData"); - // mesh.UploadMeshData(true); - // Profiler.EndSample(); -#endif - - return new MeshResult( - MeshIndex, - new []{0}, // With Draco, only single primitive meshes are supported - m_Materials, - mesh - ); - } - - static Dictionary GenerateAttributeIdMap(Attributes attributes) - { - var result = new Dictionary(); - if (attributes.POSITION >= 0) - result[VertexAttribute.Position] = attributes.POSITION; - if (attributes.NORMAL >= 0) - result[VertexAttribute.Normal] = attributes.NORMAL; - if (attributes.TANGENT >= 0) - result[VertexAttribute.Tangent] = attributes.TANGENT; - if (attributes.COLOR_0 >= 0) - result[VertexAttribute.Color] = attributes.COLOR_0; - if (attributes.TEXCOORD_0 >= 0) - result[VertexAttribute.TexCoord0] = attributes.TEXCOORD_0; - if (attributes.TEXCOORD_1 >= 0) - result[VertexAttribute.TexCoord1] = attributes.TEXCOORD_1; - if (attributes.TEXCOORD_2 >= 0) - result[VertexAttribute.TexCoord2] = attributes.TEXCOORD_2; - if (attributes.TEXCOORD_3 >= 0) - result[VertexAttribute.TexCoord3] = attributes.TEXCOORD_3; - if (attributes.TEXCOORD_4 >= 0) - result[VertexAttribute.TexCoord4] = attributes.TEXCOORD_4; - if (attributes.TEXCOORD_5 >= 0) - result[VertexAttribute.TexCoord5] = attributes.TEXCOORD_5; - if (attributes.TEXCOORD_6 >= 0) - result[VertexAttribute.TexCoord6] = attributes.TEXCOORD_6; - if (attributes.TEXCOORD_7 >= 0) - result[VertexAttribute.TexCoord7] = attributes.TEXCOORD_7; - if (attributes.WEIGHTS_0 >= 0) - result[VertexAttribute.BlendWeight] = attributes.WEIGHTS_0; - if (attributes.JOINTS_0 >= 0) - result[VertexAttribute.BlendIndices] = attributes.JOINTS_0; - return result; - } - } -} -#endif // DRACO_UNITY diff --git a/Runtime/Scripts/Export/Constants.cs b/Runtime/Scripts/Export/Constants.cs index 76774b463..46a21c888 100644 --- a/Runtime/Scripts/Export/Constants.cs +++ b/Runtime/Scripts/Export/Constants.cs @@ -7,7 +7,7 @@ namespace GLTFast.Export { static class Constants { - public const string version = "6.9.1"; + public const string version = "6.10.0"; internal const string mimeTypePNG = "image/png"; internal const string mimeTypeJPG = "image/jpeg"; diff --git a/Runtime/Scripts/Export/ExportSettings.cs b/Runtime/Scripts/Export/ExportSettings.cs index 98dd7e7ab..8eb605004 100644 --- a/Runtime/Scripts/Export/ExportSettings.cs +++ b/Runtime/Scripts/Export/ExportSettings.cs @@ -122,5 +122,10 @@ public class ExportSettings /// or not. By default, unused attributes are discarded. ///
public VertexAttributeUsage PreservedVertexAttributes { get; set; } = VertexAttributeUsage.None; + + /// + /// [1-100] quality for JPG images + /// + public int JpgQuality { get; set; } = 60; } } diff --git a/Runtime/Scripts/Export/GltfWriter.cs b/Runtime/Scripts/Export/GltfWriter.cs index e427197a1..8b11c09b1 100755 --- a/Runtime/Scripts/Export/GltfWriter.cs +++ b/Runtime/Scripts/Export/GltfWriter.cs @@ -414,6 +414,7 @@ public int AddImage(ImageExportBase imageExport) mimeType = imageExport.MimeType }; + imageExport.JpgQuality = m_Settings.JpgQuality; m_ImageExports.Add(imageExport); m_Images.Add(image); diff --git a/Runtime/Scripts/Export/ImageExport.cs b/Runtime/Scripts/Export/ImageExport.cs index dfa345382..242c2a242 100644 --- a/Runtime/Scripts/Export/ImageExport.cs +++ b/Runtime/Scripts/Export/ImageExport.cs @@ -143,7 +143,7 @@ protected virtual bool GenerateTexture(out byte[] imageData) { if (m_Texture != null) { - imageData = EncodeTexture(m_Texture, ImageFormat, blitMaterial: GetColorBlitMaterial()); + imageData = EncodeTexture(m_Texture, ImageFormat, JpgQuality, blitMaterial: GetColorBlitMaterial()); return imageData != null; } imageData = null; diff --git a/Runtime/Scripts/Export/ImageExportBase.cs b/Runtime/Scripts/Export/ImageExportBase.cs index 28b364548..318bb520f 100644 --- a/Runtime/Scripts/Export/ImageExportBase.cs +++ b/Runtime/Scripts/Export/ImageExportBase.cs @@ -56,15 +56,26 @@ public abstract class ImageExportBase /// Encoded texture data. public abstract byte[] GetData(); + /// + /// [1-100] quality for JPG images + /// + public int JpgQuality { get; set; } = 60; + /// /// Encodes the export texture /// /// Main texture to encode /// Image format + /// [1-100] quality for JPG images /// True if the texture has an alpha channel /// Custom blit material /// Encoded texture data - protected static byte[] EncodeTexture(Texture2D texture, ImageFormat format, bool hasAlpha = true, Material blitMaterial = null) + protected static byte[] EncodeTexture( + Texture2D texture, + ImageFormat format, + int jpgQuality, + bool hasAlpha = true, + Material blitMaterial = null) { #if UNITY_IMAGECONVERSION @@ -115,7 +126,7 @@ protected static byte[] EncodeTexture(Texture2D texture, ImageFormat format, boo var imageData = format == ImageFormat.Png ? exportTexture.EncodeToPNG() - : exportTexture.EncodeToJPG(60); + : exportTexture.EncodeToJPG(jpgQuality); if (tmpTexture) { // Release temporary texture diff --git a/Runtime/Scripts/Export/MaskMapImageExport.cs b/Runtime/Scripts/Export/MaskMapImageExport.cs index c6c8dadbe..c20b19b81 100644 --- a/Runtime/Scripts/Export/MaskMapImageExport.cs +++ b/Runtime/Scripts/Export/MaskMapImageExport.cs @@ -41,7 +41,7 @@ protected override bool GenerateTexture(out byte[] imageData) { if (m_Texture != null) { - imageData = EncodeTexture(m_Texture, ImageFormat, false, GetMaskMapBlitMaterial()); + imageData = EncodeTexture(m_Texture, ImageFormat, JpgQuality, false, GetMaskMapBlitMaterial()); return true; } imageData = null; diff --git a/Runtime/Scripts/Export/NormalImageExport.cs b/Runtime/Scripts/Export/NormalImageExport.cs index 79a92ae76..5e08e84f0 100644 --- a/Runtime/Scripts/Export/NormalImageExport.cs +++ b/Runtime/Scripts/Export/NormalImageExport.cs @@ -45,7 +45,7 @@ protected override bool GenerateTexture(out byte[] imageData) { if (m_Texture != null) { - imageData = EncodeTexture(m_Texture, ImageFormat, hasAlpha: false, blitMaterial: GetNormalBlitMaterial()); + imageData = EncodeTexture(m_Texture, ImageFormat, JpgQuality, hasAlpha: false, blitMaterial: GetNormalBlitMaterial()); return true; } imageData = null; diff --git a/Runtime/Scripts/Export/OrmImageExport.cs b/Runtime/Scripts/Export/OrmImageExport.cs index d9f8a645b..9c6a929b7 100644 --- a/Runtime/Scripts/Export/OrmImageExport.cs +++ b/Runtime/Scripts/Export/OrmImageExport.cs @@ -178,7 +178,7 @@ protected override bool GenerateTexture(out byte[] imageData) { if (m_Texture != null || m_OccTexture != null || m_SmoothnessTexture != null) { - imageData = EncodeOrmTexture(m_Texture, m_OccTexture, m_SmoothnessTexture, ImageFormat); + imageData = EncodeOrmTexture(m_Texture, m_OccTexture, m_SmoothnessTexture, ImageFormat, JpgQuality); return true; } imageData = null; @@ -192,12 +192,14 @@ protected override bool GenerateTexture(out byte[] imageData) /// Occlusion texture /// Smoothness texture /// Export image format + /// [1-100] quality for JPG images /// static byte[] EncodeOrmTexture( Texture2D metalGlossTexture, Texture2D occlusionTexture, Texture2D smoothnessTexture, - ImageFormat format + ImageFormat format, + int jpgQuality ) { #if UNITY_IMAGECONVERSION @@ -277,7 +279,7 @@ ImageFormat format var imageData = format == ImageFormat.Png ? exportTexture.EncodeToPNG() - : exportTexture.EncodeToJPG(60); + : exportTexture.EncodeToJPG(jpgQuality); // Release temporary texture #if UNITY_EDITOR diff --git a/Runtime/Scripts/FlatArray.cs b/Runtime/Scripts/FlatArray.cs new file mode 100644 index 000000000..5f74dac16 --- /dev/null +++ b/Runtime/Scripts/FlatArray.cs @@ -0,0 +1,80 @@ +// SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System.Collections.Generic; +using System.Runtime.CompilerServices; +using UnityEngine; +using UnityEngine.Assertions; + +namespace GLTFast +{ + class FlatArray + { + readonly T[] m_Array; + readonly int[] m_Indices; + + public int Length => m_Array.Length; + + public T this[int key] => m_Array[key]; + + public FlatArray(int[] indices) + { + Assert.AreEqual(0, indices[0]); + m_Indices = indices; + var totalCapacity = indices[indices.Length - 1]; + m_Array = new T[totalCapacity]; + } + + public int GetLength(int primaryIndex) + { + Assert.IsTrue(primaryIndex >= 0); + Assert.IsTrue(primaryIndex < m_Indices.Length - 1); + var index = m_Indices[primaryIndex]; + var end = m_Indices[primaryIndex + 1]; + return end - index; + } + + public T GetValue(int primaryIndex, int secondaryIndex) + { + var index = GetIndex(primaryIndex, secondaryIndex); + return m_Array[index]; + } + + public void SetValue(int primaryIndex, int secondaryIndex, T value) + { + var index = GetIndex(primaryIndex, secondaryIndex); + m_Array[index] = value; + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + int GetIndex(int primaryIndex, int secondaryIndex) + { + Assert.IsTrue(primaryIndex >= 0); + Assert.IsTrue(secondaryIndex >= 0); + Assert.IsTrue(primaryIndex < m_Indices.Length - 1); + var index = m_Indices[primaryIndex]; + var end = m_Indices[primaryIndex + 1]; + Assert.IsTrue(secondaryIndex < end - index); + return index + secondaryIndex; + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + void GetIndexRange(int primaryIndex, out int start, out int end) + { + Assert.IsTrue(primaryIndex >= 0); + Assert.IsTrue(primaryIndex < m_Indices.Length - 1); + start = m_Indices[primaryIndex]; + end = m_Indices[primaryIndex + 1]; + } + + public IEnumerable Values(int primaryIndex) + { + GetIndexRange(primaryIndex, out var start, out var end); + for (var i = start; i < end; i++) + { + yield return m_Array[i]; + } + } + + } +} diff --git a/Runtime/Scripts/MeshPrimitiveComparer.cs.meta b/Runtime/Scripts/FlatArray.cs.meta similarity index 83% rename from Runtime/Scripts/MeshPrimitiveComparer.cs.meta rename to Runtime/Scripts/FlatArray.cs.meta index 52fb8c7c9..a1b08584a 100644 --- a/Runtime/Scripts/MeshPrimitiveComparer.cs.meta +++ b/Runtime/Scripts/FlatArray.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: bd965e7b93e13481ab6b9bc6d3bf4bfa +guid: 5dc388de8142146df920260e4fb37e0f MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Runtime/Scripts/GameObjectBoundsInstantiator.cs b/Runtime/Scripts/GameObjectBoundsInstantiator.cs index 8ae28921a..b5c93a7d4 100644 --- a/Runtime/Scripts/GameObjectBoundsInstantiator.cs +++ b/Runtime/Scripts/GameObjectBoundsInstantiator.cs @@ -46,7 +46,7 @@ public override void AddPrimitive( uint[] joints = null, uint? rootJoint = null, float[] morphTargetWeights = null, - int primitiveNumeration = 0 + int meshNumeration = 0 ) { base.AddPrimitive( @@ -56,7 +56,7 @@ public override void AddPrimitive( joints, rootJoint, morphTargetWeights, - primitiveNumeration + meshNumeration ); if (m_NodeBounds != null) diff --git a/Runtime/Scripts/GameObjectInstantiator.cs b/Runtime/Scripts/GameObjectInstantiator.cs index 7d4cd2f36..9ce9a1d16 100644 --- a/Runtime/Scripts/GameObjectInstantiator.cs +++ b/Runtime/Scripts/GameObjectInstantiator.cs @@ -221,7 +221,7 @@ public virtual void AddPrimitive( uint[] joints = null, uint? rootJoint = null, float[] morphTargetWeights = null, - int primitiveNumeration = 0 + int meshNumeration = 0 ) { if ((m_Settings.Mask & ComponentType.Mesh) == 0) @@ -230,7 +230,7 @@ public virtual void AddPrimitive( } GameObject meshGo; - if (primitiveNumeration == 0) + if (meshNumeration == 0) { // Use Node GameObject for first Primitive meshGo = m_Nodes[nodeIndex]; @@ -291,7 +291,7 @@ public virtual void AddPrimitive( renderer.sharedMaterials = materials; - var slots = m_Gltf.GetMaterialsVariantsSlots(meshResult.meshIndex, primitiveNumeration); + var slots = m_Gltf.GetMaterialsVariantsSlots(meshResult.meshIndex, meshNumeration); if (slots != null && slots.Length > 0) { m_InstanceSlots ??= new List(); @@ -307,7 +307,7 @@ public virtual void AddPrimitive( joints, rootJoint, morphTargetWeights, - primitiveNumeration + meshNumeration ); } @@ -320,7 +320,7 @@ public virtual void AddPrimitiveInstanced( NativeArray? positions, NativeArray? rotations, NativeArray? scales, - int primitiveNumeration = 0 + int meshNumeration = 0 ) { if ((m_Settings.Mask & ComponentType.Mesh) == 0) @@ -336,7 +336,7 @@ public virtual void AddPrimitiveInstanced( materials[index] = material; } - var slots = m_Gltf.GetMaterialsVariantsSlots(meshResult.meshIndex, primitiveNumeration); + var slots = m_Gltf.GetMaterialsVariantsSlots(meshResult.meshIndex, meshNumeration); var hasMaterialsVariants = slots != null && slots.Length > 0; var renderers = hasMaterialsVariants ? new Renderer[instanceCount] @@ -590,7 +590,8 @@ GameObject gameObject /// If a skin was attached, the joint indices. Null otherwise /// Root joint node index, if present /// Morph target weights, if present - /// Primitives are numerated per Node, starting with 0 + /// Per glTF mesh numeration. A glTF mesh is converted + /// into one or more MeshResults which are numbered consecutively. public delegate void MeshAddedDelegate( GameObject gameObject, uint nodeIndex, @@ -599,7 +600,7 @@ public delegate void MeshAddedDelegate( uint[] joints = null, uint? rootJoint = null, float[] morphTargetWeights = null, - int primitiveNumeration = 0 + int meshNumeration = 0 ); /// Invoked when a node's GameObject has been created. diff --git a/Runtime/Scripts/GltfAsset.cs b/Runtime/Scripts/GltfAsset.cs index f75d63371..5a0029570 100644 --- a/Runtime/Scripts/GltfAsset.cs +++ b/Runtime/Scripts/GltfAsset.cs @@ -166,6 +166,12 @@ public override void ClearScenes() { Destroy(child.gameObject); } +#if UNITY_ANIMATION + if (SceneInstance?.LegacyAnimation != null) + { + Destroy(SceneInstance.LegacyAnimation); + } +#endif SceneInstance = null; } } diff --git a/Runtime/Scripts/GltfImport.cs b/Runtime/Scripts/GltfImport.cs index c79d8b823..a45cd0219 100755 --- a/Runtime/Scripts/GltfImport.cs +++ b/Runtime/Scripts/GltfImport.cs @@ -63,7 +63,7 @@ public class GltfImport : GltfImportBase { static GltfJsonUtilityParser s_Parser; - /// + /// public GltfImport( IDownloadProvider downloadProvider = null, IDeferAgent deferAgent = null, @@ -84,7 +84,7 @@ protected override RootBase ParseJson(string json) public abstract class GltfImportBase : GltfImportBase, IGltfReadable where TRoot : RootBase { - /// + /// public GltfImportBase( IDownloadProvider downloadProvider = null, IDeferAgent deferAgent = null, @@ -167,11 +167,16 @@ public abstract class GltfImportBase : IGltfReadable, IGltfBuffers, IDisposable }; static IDeferAgent s_DefaultDeferAgent; - static MeshPrimitiveComparer s_MeshPrimitiveComparer = new MeshPrimitiveComparer(); + static MeshComparer s_MeshComparer = new MeshComparer(); + + /// Logger used by this glTF import instance. + public ICodeLogger Logger { get; } + + /// Defer agent used by this glTF import instance. + public IDeferAgent DeferAgent { get; } IDownloadProvider m_DownloadProvider; IMaterialGenerator m_MaterialGenerator; - IDeferAgent m_DeferAgent; Dictionary m_ImportInstances; @@ -200,15 +205,9 @@ public abstract class GltfImportBase : IGltfReadable, IGltfBuffers, IDisposable IDisposable[] m_AccessorData; AccessorUsage[] m_AccessorUsage; JobHandle m_AccessorJobsHandle; - MeshResultGeneratorBase[] m_MeshResultGenerators; - Dictionary m_VertexBufferGenerators; - /// - /// Array of dictionaries, indexed by mesh ID - /// The dictionary contains all the mesh's primitives, clustered - /// by Vertex Attribute and Morph Target usage (Primitives with identical vertex - /// data will be clustered; ). - /// - Dictionary>[] m_MeshPrimitiveCluster; + + List m_MeshOrders; + List m_ImageCreateContexts; #if KTX List m_KtxLoadContextsBuffer; @@ -266,8 +265,9 @@ public abstract class GltfImportBase : IGltfReadable, IGltfBuffers, IDisposable /// string[] m_NodeNames; - MeshResult[] m_MeshResults; - int[] m_MeshResultIndex; + List m_Meshes; + FlatArray m_MeshAssignments; + Matrix4x4[][] m_SkinsInverseBindMatrices; #if UNITY_ANIMATION AnimationClip[] m_AnimationClips; @@ -290,8 +290,6 @@ public abstract class GltfImportBase : IGltfReadable, IGltfBuffers, IDisposable /// public bool LoadingError { get; private set; } - ICodeLogger m_Logger; - /// /// Constructs a GltfImport instance with injectable customization objects. /// @@ -321,15 +319,15 @@ public GltfImportBase( // Adding a DefaultDeferAgent component will make it un-register via defaultDeferAgentGameObject.AddComponent(); } - m_DeferAgent = s_DefaultDeferAgent; + DeferAgent = s_DefaultDeferAgent; } else { - m_DeferAgent = deferAgent; + DeferAgent = deferAgent; } m_MaterialGenerator = materialGenerator ?? MaterialGenerator.GetDefaultMaterialGenerator(); - m_Logger = logger; + Logger = logger; ImportAddonRegistry.InjectAllAddons(this); } @@ -497,7 +495,7 @@ public async Task LoadStream( { if (!stream.CanRead) { - m_Logger?.Error(LogCode.StreamError, "Not readable"); + Logger?.Error(LogCode.StreamError, "Not readable"); return false; } @@ -508,7 +506,7 @@ public async Task LoadStream( var firstBytes = new byte[4]; if (!await stream.ReadToArrayAsync(firstBytes, 0, firstBytes.Length, cancellationToken)) { - m_Logger?.Error(LogCode.StreamError, "First bytes"); + Logger?.Error(LogCode.StreamError, "First bytes"); return false; } @@ -520,7 +518,7 @@ public async Task LoadStream( var glbHeader = new byte[8]; if (!await stream.ReadToArrayAsync(glbHeader, 0, glbHeader.Length, cancellationToken)) { - m_Logger?.Error(LogCode.StreamError, "glb header"); + Logger?.Error(LogCode.StreamError, "glb header"); return false; } // Length of the entire glTF, including the header @@ -528,7 +526,7 @@ public async Task LoadStream( if (length >= int.MaxValue) { // glTF-binary supports up to 2^32 = 4GB, but C# arrays have a 2^31 (2GB) limit. - m_Logger?.Error("glb exceeds 2GB limit."); + Logger?.Error("glb exceeds 2GB limit."); return false; } var data = new byte[length]; @@ -540,7 +538,7 @@ public async Task LoadStream( if (!await stream.ReadToArrayAsync(data, offset, pendingBytes, cancellationToken)) { - m_Logger?.Error(LogCode.StreamError, "glb data"); + Logger?.Error(LogCode.StreamError, "glb data"); } return await LoadGltfBinary(data, uri, importSettings, cancellationToken); @@ -725,7 +723,7 @@ public async Task InstantiateSceneAsync( { if (!LoadingDone || LoadingError) return false; if (sceneIndex < 0 || sceneIndex > Root.Scenes.Count) return false; - await InstantiateSceneInternal(Root, instantiator, sceneIndex); + await InstantiateSceneInternal(instantiator, sceneIndex); return true; } @@ -777,6 +775,9 @@ void DisposeArray(IEnumerable objects) m_AccessorData = null; } + m_MeshAssignments = null; + DisposeArray(m_Meshes); + m_Meshes = null; DisposeArray(m_Resources); m_Resources = null; } @@ -843,13 +844,13 @@ public UnityEngine.Material GetDefaultMaterial() { #if UNITY_EDITOR if (defaultMaterial == null) { - m_MaterialGenerator.SetLogger(m_Logger); + m_MaterialGenerator.SetLogger(Logger); defaultMaterial = m_MaterialGenerator.GetDefaultMaterial(m_DefaultMaterialPointsSupport); m_MaterialGenerator.SetLogger(null); } return defaultMaterial; #else - m_MaterialGenerator.SetLogger(m_Logger); + m_MaterialGenerator.SetLogger(Logger); var material = m_MaterialGenerator.GetDefaultMaterial(m_DefaultMaterialPointsSupport); m_MaterialGenerator.SetLogger(null); return material; @@ -920,16 +921,55 @@ public AnimationClip[] GetAnimationClips() { /// Returns all imported meshes /// /// All imported meshes + [Obsolete("Use Meshes instead.")] public UnityEngine.Mesh[] GetMeshes() { - if (m_MeshResults == null || m_MeshResults.Length < 1) return null; - var result = new UnityEngine.Mesh[m_MeshResults.Length]; - for (var index = 0; index < m_MeshResults.Length; index++) + if (m_Meshes == null || m_Meshes.Count < 1) return Array.Empty(); + return m_Meshes.ToArray(); + } + + /// + /// Allows accessing all imported meshes. + /// + public IReadOnlyCollection Meshes => m_Meshes; + + /// + /// Imported Unity Mesh count. A single glTF mesh is converted into one or more Unity Meshes. + /// + /// glTF mesh index. + /// Number of imported Unity meshes. + /// + public int GetMeshCount(int meshIndex) + { + return m_MeshAssignments.GetLength(meshIndex); + } + + /// + /// Iterates all imported Unity meshes of a glTF mesh. + /// + /// glTF mesh index. + /// Iteration over one or more Unity meshes. + /// + public IEnumerable GetMeshes(int meshIndex) + { + foreach (var assignment in m_MeshAssignments.Values(meshIndex)) { - var primitive = m_MeshResults[index]; - result[index] = primitive.mesh; + yield return assignment.mesh; } - return result; + } + + /// + /// Gets a specific Unity mesh of a glTF mesh. + /// A single glTF mesh is converted into one or more Unity Meshes, so is + /// required to depict which exact one. + /// + /// glTF mesh index. + /// Per glTF mesh numeration. A glTF mesh is converted + /// into one or more MeshResults which are numbered consecutively. + /// An imported Unity mesh. + public UnityEngine.Mesh GetMesh(int meshIndex, int meshNumeration) + { + return m_MeshAssignments.GetValue(meshIndex, meshNumeration).mesh; } /// @@ -972,6 +1012,16 @@ public MaterialBase GetSourceMaterial(int index = 0) return null; } + /// + public MeshBase GetSourceMesh(int meshIndex) + { + if (Root?.Meshes != null && meshIndex >= 0 && meshIndex < Root.Meshes.Count) + { + return Root.Meshes[meshIndex]; + } + return null; + } + /// public MeshPrimitiveBase GetSourceMeshPrimitive(int meshIndex, int primitiveIndex) { @@ -987,14 +1037,11 @@ public MeshPrimitiveBase GetSourceMeshPrimitive(int meshIndex, int primitiveInde } /// - public IMaterialsVariantsSlot[] GetMaterialsVariantsSlots(int meshIndex, int meshResultOffset) + public IMaterialsVariantsSlot[] GetMaterialsVariantsSlots(int meshIndex, int meshNumeration) { - var meshResultIndex = m_MeshResultIndex[meshIndex] + meshResultOffset; - Assert.IsTrue(meshResultIndex < m_MeshResultIndex[meshIndex + 1]); - List materialSlots = null; - var meshResult = m_MeshResults[meshResultIndex]; - foreach (var primitiveIndex in meshResult.primitiveIndices) + var meshResult = m_MeshAssignments.GetValue(meshIndex, meshNumeration); + foreach (var primitiveIndex in meshResult.primitives) { var primitive = GetSourceMeshPrimitive(meshIndex, primitiveIndex); if (primitive.Extensions?.KHR_materials_variants?.mappings != null) @@ -1057,14 +1104,33 @@ public Matrix4x4[] GetBindPoses(int skinId) } /// + [Obsolete("Use GetAccessorData instead.")] public NativeSlice GetAccessor(int accessorIndex) + { + return GetAccessorData(accessorIndex); + } + + /// + public NativeSlice GetAccessorData(int accessorIndex) { if (Root?.Accessors == null || accessorIndex < 0 || accessorIndex >= Root?.Accessors.Count) { return new NativeSlice(); } var accessor = Root.Accessors[accessorIndex]; - return GetBufferView(accessor.bufferView, accessor.byteOffset, accessor.ByteSize); + return ((IGltfBuffers)this).GetBufferView(accessor.bufferView, out _, accessor.byteOffset, accessor.ByteSize); + } + + /// + void IGltfBuffers.GetAccessorDataAndByteStride(int index, out NativeSlice data, out int byteStride) + { + if (Root?.Accessors == null || index < 0 || index >= Root?.Accessors.Count) + { + data = new NativeSlice(); + byteStride = 0; + } + var accessor = Root.Accessors[index]; + data = ((IGltfBuffers)this).GetBufferView(accessor.bufferView, out byteStride, accessor.byteOffset, accessor.ByteSize); } /// @@ -1112,7 +1178,7 @@ async Task LoadFromUri(Uri url, CancellationToken cancellationToken) } else { - m_Logger?.Error(LogCode.Download, download.Error, url.ToString()); + Logger?.Error(LogCode.Download, download.Error, url.ToString()); } DisposeVolatileData(); @@ -1160,7 +1226,7 @@ async Task ParseJsonAndLoadBuffers(string json, Uri baseUri) { var predictedTime = json.Length / (float)k_JsonParseSpeed; #if GLTFAST_THREADS && !MEASURE_TIMINGS - if (m_DeferAgent.ShouldDefer(predictedTime)) + if (DeferAgent.ShouldDefer(predictedTime)) { // JSON is larger than threshold // => parse in a thread @@ -1179,11 +1245,11 @@ async Task ParseJsonAndLoadBuffers(string json, Uri baseUri) if (Root == null) { Debug.LogError("JsonParsingFailed"); - m_Logger?.Error(LogCode.JsonParsingFailed); + Logger?.Error(LogCode.JsonParsingFailed); return false; } - if (!CheckExtensionSupport(Root)) + if (!CheckExtensionSupport()) { return false; } @@ -1213,7 +1279,7 @@ async Task ParseJsonAndLoadBuffers(string json, Uri baseUri) m_Buffers[i] = decodedBuffer?.Item1; if (m_Buffers[i] == null) { - m_Logger?.Error(LogCode.EmbedBufferLoadFailed); + Logger?.Error(LogCode.EmbedBufferLoadFailed); return false; } } @@ -1231,15 +1297,14 @@ async Task ParseJsonAndLoadBuffers(string json, Uri baseUri) /// /// Validates required and used glTF extensions and reports unsupported ones. /// - /// /// False if a required extension is not supported. True otherwise. - bool CheckExtensionSupport(RootBase gltfRoot) + bool CheckExtensionSupport() { - if (!CheckExtensionSupport(gltfRoot.extensionsRequired)) + if (!CheckExtensionSupport(Root.extensionsRequired)) { return false; } - CheckExtensionSupport(gltfRoot.extensionsUsed, false); + CheckExtensionSupport(Root.extensionsUsed, false); return true; } @@ -1267,7 +1332,7 @@ bool CheckExtensionSupport(IEnumerable extensions, bool required = true) #if !DRACO_UNITY if (ext == ExtensionName.DracoMeshCompression) { - m_Logger?.Log( + Logger?.Log( required ? LogType.Error : LogType.Warning, LogCode.PackageMissing, "Draco for Unity", @@ -1279,7 +1344,7 @@ bool CheckExtensionSupport(IEnumerable extensions, bool required = true) #if !MESHOPT if (ext == ExtensionName.MeshoptCompression) { - m_Logger?.Log( + Logger?.Log( required ? LogType.Error : LogType.Warning, LogCode.PackageMissing, "meshoptimizer decompression for Unity", @@ -1291,7 +1356,7 @@ bool CheckExtensionSupport(IEnumerable extensions, bool required = true) #if !KTX_UNITY if (ext == ExtensionName.TextureBasisUniversal) { - m_Logger?.Log( + Logger?.Log( required ? LogType.Error : LogType.Warning, LogCode.PackageMissing, "KTX for Unity", @@ -1302,11 +1367,11 @@ bool CheckExtensionSupport(IEnumerable extensions, bool required = true) #endif if (required) { - m_Logger?.Error(LogCode.ExtensionUnsupported, ext); + Logger?.Error(LogCode.ExtensionUnsupported, ext); } else { - m_Logger?.Warning(LogCode.ExtensionUnsupported, ext); + Logger?.Warning(LogCode.ExtensionUnsupported, ext); } allExtensionsSupported = false; @@ -1424,7 +1489,7 @@ void SetImageGamma(TextureInfoBase txtInfo) var imageTask = LoadImageFromBuffer(decodedBufferTask, imageIndex, img); imageTasks.Add(imageTask); #else - m_Logger?.Warning(LogCode.ImageConversionNotEnabled); + Logger?.Warning(LogCode.ImageConversionNotEnabled); #endif } else @@ -1462,13 +1527,13 @@ void SetImageGamma(TextureInfoBase txtInfo) } else { - m_Logger?.Error(LogCode.MissingImageURL); + Logger?.Error(LogCode.MissingImageURL); } } } else { - m_Logger?.Error(LogCode.ImageFormatUnknown, imageIndex.ToString(), img.uri); + Logger?.Error(LogCode.ImageFormatUnknown, imageIndex.ToString(), img.uri); } } } @@ -1483,24 +1548,24 @@ void SetImageGamma(TextureInfoBase txtInfo) #if UNITY_IMAGECONVERSION async Task LoadImageFromBuffer(Task> decodeBufferTask, int imageIndex, Image img) { var decodedBuffer = await decodeBufferTask; - await m_DeferAgent.BreakPoint(); + await DeferAgent.BreakPoint(); Profiler.BeginSample("LoadImages.FromBase64"); var data = decodedBuffer.Item1; string mimeType = decodedBuffer.Item2; var imgFormat = GetImageFormatFromMimeType(mimeType); if (data == null || imgFormat == ImageFormat.Unknown) { - m_Logger?.Error(LogCode.EmbedImageLoadFailed); + Logger?.Error(LogCode.EmbedImageLoadFailed); return; } if (m_ImageFormats[imageIndex] != ImageFormat.Unknown && m_ImageFormats[imageIndex] != imgFormat) { - m_Logger?.Error(LogCode.EmbedImageInconsistentType, m_ImageFormats[imageIndex].ToString(), imgFormat.ToString()); + Logger?.Error(LogCode.EmbedImageInconsistentType, m_ImageFormats[imageIndex].ToString(), imgFormat.ToString()); } m_ImageFormats[imageIndex] = imgFormat; if (m_ImageFormats[imageIndex] != ImageFormat.Jpeg && m_ImageFormats[imageIndex] != ImageFormat.PNG) { // TODO: support embed KTX textures - m_Logger?.Error(LogCode.EmbedImageUnsupportedType, m_ImageFormats[imageIndex].ToString()); + Logger?.Error(LogCode.EmbedImageUnsupportedType, m_ImageFormats[imageIndex].ToString()); } // TODO: Investigate alternative: native texture creation in worker thread @@ -1535,7 +1600,7 @@ async Task WaitForBufferDownloads() } else { - m_Logger?.Error(LogCode.BufferLoadFailed, download.Error, downloadPair.Key.ToString()); + Logger?.Error(LogCode.BufferLoadFailed, download.Error, downloadPair.Key.ToString()); return false; } } @@ -1571,7 +1636,7 @@ async Task WaitForTextureDownloads() if (www == null) { - m_Logger?.Error(LogCode.TextureDownloadFailed, "?", dl.Key.ToString()); + Logger?.Error(LogCode.TextureDownloadFailed, "?", dl.Key.ToString()); return false; } @@ -1596,7 +1661,7 @@ async Task WaitForTextureDownloads() #endif ); #else - m_Logger?.Warning(LogCode.ImageConversionNotEnabled); + Logger?.Warning(LogCode.ImageConversionNotEnabled); txt = null; #endif } @@ -1608,11 +1673,11 @@ async Task WaitForTextureDownloads() } www.Dispose(); m_Images[imageIndex] = txt; - await m_DeferAgent.BreakPoint(); + await DeferAgent.BreakPoint(); } else { - m_Logger?.Error(LogCode.TextureDownloadFailed, www.Error, dl.Key.ToString()); + Logger?.Error(LogCode.TextureDownloadFailed, www.Error, dl.Key.ToString()); www.Dispose(); return false; } @@ -1653,7 +1718,7 @@ async Task ProcessKtxDownload(int imageIndex, Task downloadTask return true; } } else { - m_Logger?.Error(LogCode.TextureDownloadFailed,www.Error,imageIndex.ToString()); + Logger?.Error(LogCode.TextureDownloadFailed,www.Error,imageIndex.ToString()); www.Dispose(); } return false; @@ -1678,14 +1743,14 @@ async Task> DecodeEmbedBufferAsync(string encodedBytes, bo var stopWatch = new Stopwatch(); stopWatch.Start(); #elif GLTFAST_THREADS - if (!timeCritical || m_DeferAgent.ShouldDefer(predictedTime)) + if (!timeCritical || DeferAgent.ShouldDefer(predictedTime)) { // TODO: Not sure if thread safe? Maybe create a dedicated Report for the thread and merge them afterwards? - return await Task.Run(() => DecodeEmbedBuffer(encodedBytes, m_Logger)); + return await Task.Run(() => DecodeEmbedBuffer(encodedBytes, Logger)); } #endif - await m_DeferAgent.BreakPoint(predictedTime); - var decodedBuffer = DecodeEmbedBuffer(encodedBytes, m_Logger); + await DeferAgent.BreakPoint(predictedTime); + var decodedBuffer = DecodeEmbedBuffer(encodedBytes, Logger); #if MEASURE_TIMINGS stopWatch.Stop(); var elapsedSeconds = stopWatch.ElapsedMilliseconds / 1000f; @@ -1735,7 +1800,7 @@ void LoadImage(int imageIndex, Uri url, bool nonReadable, bool isKtx) } m_KtxDownloadTasks.Add(imageIndex, downloadTask); #else - m_Logger?.Error(LogCode.PackageMissing, "KTX for Unity", ExtensionName.TextureBasisUniversal); + Logger?.Error(LogCode.PackageMissing, "KTX for Unity", ExtensionName.TextureBasisUniversal); Profiler.EndSample(); return; #endif // KTX_UNITY @@ -1751,7 +1816,7 @@ void LoadImage(int imageIndex, Uri url, bool nonReadable, bool isKtx) } m_TextureDownloadTasks.Add(imageIndex, downloadTask); #else - m_Logger?.Warning(LogCode.ImageConversionNotEnabled); + Logger?.Warning(LogCode.ImageConversionNotEnabled); #endif } Profiler.EndSample(); @@ -1777,7 +1842,7 @@ bool LoadImageFromBytes(int imageIndex) var forceSampleLinear = m_ImageGamma != null && !m_ImageGamma[imageIndex]; return forceSampleLinear || m_Settings.GenerateMipMaps; #else - m_Logger?.Warning(LogCode.UnityWebRequestTextureNotEnabled); + Logger?.Warning(LogCode.UnityWebRequestTextureNotEnabled); return true; #endif } @@ -1788,7 +1853,7 @@ async Task LoadGltfBinaryBuffer(byte[] bytes, Uri uri = null) if (!GltfGlobals.IsGltfBinary(bytes)) { - m_Logger?.Error(LogCode.GltfNotBinary); + Logger?.Error(LogCode.GltfNotBinary); Profiler.EndSample(); return false; } @@ -1798,7 +1863,7 @@ async Task LoadGltfBinaryBuffer(byte[] bytes, Uri uri = null) if (version != 2) { - m_Logger?.Error(LogCode.GltfUnsupportedVersion, version.ToString()); + Logger?.Error(LogCode.GltfUnsupportedVersion, version.ToString()); Profiler.EndSample(); return false; } @@ -1814,7 +1879,7 @@ async Task LoadGltfBinaryBuffer(byte[] bytes, Uri uri = null) if (index + 8 > bytes.Length) { - m_Logger?.Error(LogCode.ChunkIncomplete); + Logger?.Error(LogCode.ChunkIncomplete); return false; } @@ -1825,7 +1890,7 @@ async Task LoadGltfBinaryBuffer(byte[] bytes, Uri uri = null) if (index + chLength > bytes.Length) { - m_Logger?.Error(LogCode.ChunkIncomplete); + Logger?.Error(LogCode.ChunkIncomplete); return false; } @@ -1851,7 +1916,7 @@ async Task LoadGltfBinaryBuffer(byte[] bytes, Uri uri = null) } else { - m_Logger?.Error(LogCode.ChunkUnknown, chType.ToString()); + Logger?.Error(LogCode.ChunkUnknown, chType.ToString()); return false; } @@ -1860,7 +1925,7 @@ async Task LoadGltfBinaryBuffer(byte[] bytes, Uri uri = null) if (Root == null) { - m_Logger?.Error(LogCode.ChunkJsonInvalid); + Logger?.Error(LogCode.ChunkJsonInvalid); return false; } @@ -1878,11 +1943,12 @@ byte[] GetBuffer(int index) return m_Buffers[index]; } - NativeSlice GetBufferView(int bufferViewIndex, int offset = 0, int length = 0) + NativeSlice IGltfBuffers.GetBufferView(int bufferViewIndex, out int byteStride, int offset, int length) { var bufferView = Root.BufferViews[bufferViewIndex]; #if MESHOPT if (bufferView.Extensions?.EXT_meshopt_compression != null) { + byteStride = bufferView.Extensions.EXT_meshopt_compression.byteStride; var fullSlice = m_MeshoptBufferViews[bufferViewIndex]; if (offset == 0 && length <= 0) { return fullSlice; @@ -1895,6 +1961,7 @@ NativeSlice GetBufferView(int bufferViewIndex, int offset = 0, int length return new NativeSlice(fullSlice,offset,length); } #endif + byteStride = bufferView.byteStride; return GetBufferViewSlice(bufferView, offset, length); } @@ -1999,11 +2066,6 @@ async Task WaitForMeshoptDecode() { async Task Prepare() { - if (Root.Meshes != null) - { - m_MeshResultIndex = new int[Root.Meshes.Count + 1]; - } - m_Resources = new List(); if (Root.Images != null && Root.Textures != null && Root.Materials != null) @@ -2022,7 +2084,7 @@ async Task Prepare() #endif CreateTexturesFromBuffers(Root.Images, Root.BufferViews, m_ImageCreateContexts); } - await m_DeferAgent.BreakPoint(); + await DeferAgent.BreakPoint(); // RedundantAssignment potentially becomes necessary when MESHOPT is not available // ReSharper disable once RedundantAssignment @@ -2035,8 +2097,8 @@ async Task Prepare() if (Root.Accessors != null) { - success = await LoadAccessorData(Root); - await m_DeferAgent.BreakPoint(); + success = await LoadAccessorData(); + await DeferAgent.BreakPoint(); while (!m_AccessorJobsHandle.IsCompleted) { @@ -2046,11 +2108,6 @@ async Task Prepare() } if (!success) return success; - if (Root.Meshes != null) - { - await CreateMeshResultGenerators(Root); - } - #if KTX if(m_KtxLoadContextsBuffer!=null) { await ProcessKtxLoadContexts(); @@ -2071,22 +2128,22 @@ async Task Prepare() { await GenerateMaterials(); } - await m_DeferAgent.BreakPoint(); + await DeferAgent.BreakPoint(); - if (m_MeshResultGenerators != null) + if (m_MeshOrders != null) { await WaitForAllMeshGenerators(); - await m_DeferAgent.BreakPoint(); + await DeferAgent.BreakPoint(); - await AssignAllAccessorData(Root); + await AssignAllAccessorData(); - success = await CreateAllPrimitives(); + success = await CreateAllMeshAssignments(); } #if UNITY_ANIMATION if (Root.HasAnimation) { if (m_Settings.NodeNameMethod != NameImportMethod.OriginalUnique) { - m_Logger?.Info(LogCode.NamingOverride); + Logger?.Info(LogCode.NamingOverride); m_Settings.NodeNameMethod = NameImportMethod.OriginalUnique; } } @@ -2141,17 +2198,17 @@ void CreateAnimationClips(int[] parentIndex) for (var j = 0; j < animation.Channels.Count; j++) { var channel = animation.Channels[j]; if (channel.sampler < 0 || channel.sampler >= animation.Samplers.Count) { - m_Logger?.Error(LogCode.AnimationChannelSamplerInvalid, j.ToString()); + Logger?.Error(LogCode.AnimationChannelSamplerInvalid, j.ToString()); continue; } var sampler = animation.Samplers[channel.sampler]; if (sampler == null || sampler.output < 0 || sampler.output >= Root.Accessors.Count) { - m_Logger?.Error(LogCode.AnimationChannelSamplerInvalid, j.ToString()); + Logger?.Error(LogCode.AnimationChannelSamplerInvalid, j.ToString()); continue; } if (channel.Target.node < 0 || channel.Target.node >= Root.Nodes.Count) { - m_Logger?.Error(LogCode.AnimationChannelNodeInvalid, j.ToString()); + Logger?.Error(LogCode.AnimationChannelNodeInvalid, j.ToString()); continue; } @@ -2206,8 +2263,8 @@ void CreateAnimationClips(int[] parentIndex) // TODO: Refactor primitive sub-meshing and remove this hack // https://github.com/atteneder/glTFast/issues/153 var meshName = string.IsNullOrEmpty(mesh.name) ? k_PrimitiveName : mesh.name; - var primitiveCount = m_MeshResultIndex[node.mesh + 1] - m_MeshResultIndex[node.mesh]; - for (var k = 1; k < primitiveCount; k++) { + var meshCount = m_MeshAssignments.GetLength(node.mesh); + for (var k = 1; k < meshCount; k++) { var primitiveName = $"{meshName}_{k}"; AnimationUtils.AddMorphTargetWeightCurves( m_AnimationClips[i], @@ -2222,12 +2279,12 @@ void CreateAnimationClips(int[] parentIndex) break; } case AnimationChannelBase.Path.Pointer: - m_Logger?.Warning(LogCode.AnimationTargetPathUnsupported,channel.Target.GetPath().ToString()); + Logger?.Warning(LogCode.AnimationTargetPathUnsupported,channel.Target.GetPath().ToString()); break; case AnimationChannelBase.Path.Unknown: case AnimationChannelBase.Path.Invalid: default: - m_Logger?.Error(LogCode.AnimationTargetPathUnsupported,channel.Target.GetPath().ToString()); + Logger?.Error(LogCode.AnimationTargetPathUnsupported,channel.Target.GetPath().ToString()); break; } } @@ -2263,36 +2320,43 @@ void DisposeVolatileAccessorData() } } - async Task CreateAllPrimitives() + async Task CreateAllMeshAssignments() { - foreach (var meshResultGenerator in m_MeshResultGenerators) + foreach (var meshOrder in m_MeshOrders) { - var primitive = await meshResultGenerator.CreatePrimitive(); - // The import failed :\ - // await defaultDeferAgent.BreakPoint(); - - if (primitive.HasValue) + var mesh = await meshOrder.generator.CreateMeshResult(); + if (!ReferenceEquals(mesh, null)) { - m_MeshResults[meshResultGenerator.PrimitiveIndex] = primitive.Value; - m_Resources.Add(primitive.Value.mesh); + foreach (var meshSubset in meshOrder.Recipients) + { + var uMesh = new MeshAssignment(mesh, meshSubset.primitives); + m_MeshAssignments.SetValue( + meshSubset.meshIndex, + meshSubset.meshNumeration, + uMesh + ); + } + m_Meshes.Add(mesh); } else { return false; } - await m_DeferAgent.BreakPoint(); + meshOrder.Dispose(); + await DeferAgent.BreakPoint(); } + m_MeshOrders = null; return true; } async Task WaitForAllMeshGenerators() { - foreach (var meshResultGenerator in m_MeshResultGenerators) + foreach (var meshOrder in m_MeshOrders) { - if (meshResultGenerator == null) continue; - while (!meshResultGenerator.IsCompleted) + if (meshOrder.generator == null) continue; + while (!meshOrder.generator.IsCompleted) { await Task.Yield(); } @@ -2304,9 +2368,9 @@ async Task GenerateMaterials() m_Materials = new UnityEngine.Material[Root.Materials.Count]; for (var i = 0; i < m_Materials.Length; i++) { - await m_DeferAgent.BreakPoint(.0001f); + await DeferAgent.BreakPoint(.0001f); Profiler.BeginSample("GenerateMaterial"); - m_MaterialGenerator.SetLogger(m_Logger); + m_MaterialGenerator.SetLogger(Logger); var pointsSupport = GetMaterialPointsSupport(i); var material = m_MaterialGenerator.GenerateMaterial( Root.Materials[i], @@ -2363,7 +2427,7 @@ void PopulateTexturesAndImageVariants() m_Resources.Add(newImg); #if DEBUG newImg.name = $"{img.name}_sampler{txt.sampler}"; - m_Logger?.Warning(LogCode.ImageMultipleSamplers,imageIndex.ToString()); + Logger?.Warning(LogCode.ImageMultipleSamplers,imageIndex.ToString()); #endif sampler?.Apply(newImg, m_Settings.DefaultMinFilterMode, m_Settings.DefaultMagFilterMode); imageVariants[imageIndex][key] = newImg; @@ -2398,7 +2462,7 @@ async Task WaitForImageCreateContexts() jh.gcHandle.Free(); m_ImageCreateContexts.RemoveAt(i); loadedAny = true; - await m_DeferAgent.BreakPoint(); + await DeferAgent.BreakPoint(); } } imageCreateContextsLeft = m_ImageCreateContexts.Count > 0; @@ -2526,16 +2590,6 @@ static string GetUniqueNodeName(RootBase gltf, uint index, ICollection e /// void DisposeVolatileData() { - - if (m_VertexBufferGenerators != null) - { - foreach (var vac in m_VertexBufferGenerators.Values) - { - vac.Dispose(); - } - } - m_VertexBufferGenerators = null; - // Unpin managed buffer arrays if (m_BufferHandles != null) { @@ -2567,8 +2621,6 @@ void DisposeVolatileData() m_TextureDownloadTasks = null; m_AccessorUsage = null; - m_MeshResultGenerators = null; - m_MeshPrimitiveCluster = null; m_ImageCreateContexts = null; m_Images = null; m_ImageFormats = null; @@ -2592,7 +2644,7 @@ void DisposeVolatileData() #endif } - async Task InstantiateSceneInternal(RootBase gltf, IInstantiator instantiator, int sceneId) + async Task InstantiateSceneInternal(IInstantiator instantiator, int sceneId) { if (m_ImportInstances != null) { @@ -2604,9 +2656,9 @@ async Task InstantiateSceneInternal(RootBase gltf, IInstantiator instantiator, i async Task IterateNodes(uint nodeIndex, uint? parentIndex, Action callback) { - var node = Root.Nodes[(int)nodeIndex]; + var node = this.Root.Nodes[(int)nodeIndex]; callback(nodeIndex, parentIndex); - await m_DeferAgent.BreakPoint(); + await DeferAgent.BreakPoint(); if (node.children != null) { foreach (var child in node.children) @@ -2620,7 +2672,7 @@ void CreateHierarchy(uint nodeIndex, uint? parentIndex) { Profiler.BeginSample("CreateHierarchy"); - var node = Root.Nodes[(int)nodeIndex]; + var node = this.Root.Nodes[(int)nodeIndex]; node.GetTransform(out var position, out var rotation, out var scale); instantiator.CreateNode(nodeIndex, parentIndex, position, rotation, scale); @@ -2628,10 +2680,9 @@ void CreateHierarchy(uint nodeIndex, uint? parentIndex) if (nodeName == null && node.mesh >= 0) { // Fallback name for Node is first valid Mesh name - var end = m_MeshResultIndex[node.mesh + 1]; - for (var i = m_MeshResultIndex[node.mesh]; i < end; i++) + foreach (var meshAssignment in m_MeshAssignments.Values(node.mesh)) { - var mesh = m_MeshResults[i].mesh; + var mesh = meshAssignment.mesh; if (!string.IsNullOrEmpty(mesh.name)) { nodeName = mesh.name; @@ -2648,16 +2699,14 @@ void PopulateHierarchy(uint nodeIndex, uint? parentIndex) { Profiler.BeginSample("PopulateHierarchy"); - var node = Root.Nodes[(int)nodeIndex]; + var node = this.Root.Nodes[(int)nodeIndex]; if (node.mesh >= 0) { - var end = m_MeshResultIndex[node.mesh + 1]; - var primitiveCount = 0; - for (var i = m_MeshResultIndex[node.mesh]; i < end; i++) + var meshNumeration = 0; + foreach (var meshAssignment in m_MeshAssignments.Values(node.mesh)) { - var primitive = m_MeshResults[i]; - var mesh = primitive.mesh; + var mesh = meshAssignment.mesh; var meshName = string.IsNullOrEmpty(mesh.name) ? null : mesh.name; uint[] joints = null; uint? rootJoint = null; @@ -2666,7 +2715,7 @@ void PopulateHierarchy(uint nodeIndex, uint? parentIndex) { if (node.skin >= 0) { - var skin = gltf.Skins[node.skin]; + var skin = Root.Skins[node.skin]; // TODO: see if this can be moved to mesh creation phase / before instantiation mesh.bindposes = GetBindPoses(node.skin); if (skin.skeleton >= 0) @@ -2677,27 +2726,34 @@ void PopulateHierarchy(uint nodeIndex, uint? parentIndex) } else { - m_Logger?.Warning(LogCode.SkinMissing); + Logger?.Warning(LogCode.SkinMissing); } } var meshInstancing = node.Extensions?.EXT_mesh_gpu_instancing; - var primitiveName = - primitiveCount > 0 - ? $"{meshName ?? k_PrimitiveName}_{primitiveCount}" + var meshResultName = + meshNumeration > 0 + ? $"{meshName ?? k_PrimitiveName}_{meshNumeration}" : meshName ?? k_PrimitiveName; + var meshResult = new MeshResult( + node.mesh, + meshAssignment.primitives, + GetMaterialIndices(node.mesh, meshAssignment.primitives), + meshAssignment.mesh + ); + if (meshInstancing == null) { instantiator.AddPrimitive( nodeIndex, - primitiveName, - primitive, + meshResultName, + meshResult, joints, rootJoint, - gltf.Meshes[node.mesh].weights, - primitiveCount + Root.Meshes[node.mesh].weights, + meshNumeration ); } else @@ -2732,32 +2788,32 @@ void PopulateHierarchy(uint nodeIndex, uint? parentIndex) instantiator.AddPrimitiveInstanced( nodeIndex, - primitiveName, - m_MeshResults[i], + meshResultName, + meshResult, instanceCount, positions, rotations, scales, - primitiveCount + meshNumeration ); } - primitiveCount++; + meshNumeration++; } } if (node.camera >= 0 - && gltf.Cameras != null - && node.camera < gltf.Cameras.Count + && Root.Cameras != null + && node.camera < Root.Cameras.Count ) { instantiator.AddCamera(nodeIndex, (uint)node.camera); } - if (node.Extensions?.KHR_lights_punctual != null && gltf.Extensions?.KHR_lights_punctual?.lights != null) + if (node.Extensions?.KHR_lights_punctual != null && Root.Extensions?.KHR_lights_punctual?.lights != null) { var lightIndex = node.Extensions.KHR_lights_punctual.light; - if (lightIndex < gltf.Extensions.KHR_lights_punctual.lights.Length) + if (lightIndex < Root.Extensions.KHR_lights_punctual.lights.Length) { instantiator.AddLightPunctual(nodeIndex, (uint)lightIndex); } @@ -2766,7 +2822,7 @@ void PopulateHierarchy(uint nodeIndex, uint? parentIndex) Profiler.EndSample(); } - var scene = Root.Scenes[sceneId]; + var scene = this.Root.Scenes[sceneId]; instantiator.BeginScene(scene.name, scene.nodes); #if UNITY_ANIMATION @@ -2883,6 +2939,19 @@ int[] GetParentIndices() return parentIndex; } + int[] GetMaterialIndices(int meshIndex, IReadOnlyList primitiveIndices) + { + var result = new int[primitiveIndices.Count]; + for (var subMesh = 0; subMesh < primitiveIndices.Count; subMesh++) + { + var primitiveIndex = primitiveIndices[subMesh]; + var primitive = GetSourceMeshPrimitive(meshIndex, primitiveIndex); + result[subMesh] = primitive.material; + } + + return result; + } + /// /// Reinterprets a NativeSlice<byte> to another type of NativeArray. /// TODO: Remove once Unity.Collections supports this for NativeSlice (NativeArray only atm) @@ -2954,12 +3023,12 @@ ICollection contexts if(m_KtxLoadContextsBuffer==null) { m_KtxLoadContextsBuffer = new List(); } - var ktxContext = new KtxLoadNativeContext(i,GetBufferView(img.bufferView)); + var ktxContext = new KtxLoadNativeContext(i,((IGltfBuffers)this).GetBufferView(img.bufferView, out _)); m_KtxLoadContextsBuffer.Add(ktxContext); Profiler.EndSample(); - await m_DeferAgent.BreakPoint(); + await DeferAgent.BreakPoint(); #else - m_Logger?.Error(LogCode.PackageMissing, "KTX for Unity", ExtensionName.TextureBasisUniversal); + Logger?.Error(LogCode.PackageMissing, "KTX for Unity", ExtensionName.TextureBasisUniversal); #endif // KTX_UNITY } else @@ -3058,131 +3127,184 @@ static void SafeDestroy(UnityEngine.Object obj) /// sub-meshes. Parameters are MeshResult index, mesh index and per sub-mesh primitive index public event Action MeshResultAssigned; - async Task LoadAccessorData(RootBase gltf) + async Task LoadAccessorData() { - Profiler.BeginSample("LoadAccessorData.Init"); - var mainBufferTypes = new Dictionary(s_MeshPrimitiveComparer); - var meshCount = gltf.Meshes?.Count ?? 0; - m_MeshPrimitiveCluster = meshCount > 0 - ? new Dictionary>[meshCount] - : null; - Dictionary morphTargetsGenerators = null; #if DEBUG - var perAttributeMeshCollection = new Dictionary>(); + // Detect and report poor shared accessor usage. Since this adds performance overhead, it's done in debug + // mode only. + var perPrimitiveSetIndices = new Dictionary,int[]>( + comparer: new PrimitivesComparer()); #endif // Iterate all primitive vertex attributes and remember the accessors usage. - m_AccessorUsage = new AccessorUsage[gltf.Accessors.Count]; + m_AccessorUsage = new AccessorUsage[Root.Accessors.Count]; LoadAccessorDataEvent?.Invoke(); - var meshResultCount = 0; - for (int meshIndex = 0; meshIndex < meshCount; meshIndex++) + var meshCount = Root.Meshes?.Count ?? 0; + int[] meshAssignmentIndices = null; + if (meshCount > 0) { - var mesh = gltf.Meshes[meshIndex]; - m_MeshResultIndex[meshIndex] = meshResultCount; - var cluster = new Dictionary>(s_MeshPrimitiveComparer); - + m_MeshOrders = new List(); + meshAssignmentIndices = new int[meshCount + 1]; + meshAssignmentIndices[0] = 0; + } + var meshAssignmentCounter = 0; + var primitiveSingles = new Dictionary(s_MeshComparer); + var primitiveSets = new Dictionary, MeshOrder>(s_MeshComparer); + for (var meshIndex = 0; meshIndex < meshCount; meshIndex++) + { + var mesh = Root.Meshes[meshIndex]; + // TODO: Optimized path for single primitive meshes! + var clusteredPrimitives = new Dictionary(); +#if DRACO_UNITY + var singlePrimitives = new List(); +#endif for (var primIndex = 0; primIndex < mesh.Primitives.Count; primIndex++) { var primitive = mesh.Primitives[primIndex]; - if (!cluster.ContainsKey(primitive)) - { - cluster[primitive] = new List<(int MeshIndex, MeshPrimitiveBase Primitive)>(); - } - cluster[primitive].Add((primIndex, primitive)); - - if (primitive.targets != null) - { - if (morphTargetsGenerators == null) - { - morphTargetsGenerators = new Dictionary(s_MeshPrimitiveComparer); - } - else if (morphTargetsGenerators.ContainsKey(primitive)) - { - continue; - } - - var morphTargetsGenerator = CreateMorphTargetsGenerator(primitive, mesh.Extras?.targetNames); - morphTargetsGenerators[primitive] = morphTargetsGenerator; - } #if DRACO_UNITY var isDraco = primitive.IsDracoCompressed; - if (isDraco) { - continue; + if (isDraco) + { + singlePrimitives.Add(new PrimitiveSingle(primIndex, primitive)); } -#else - var isDraco = false; + else #endif - var att = primitive.attributes; - if (primitive.indices >= 0) { - var usage = primitive.mode == DrawMode.Triangles - ? AccessorUsage.IndexFlipped - : AccessorUsage.Index; - SetAccessorUsage(primitive.indices, isDraco ? AccessorUsage.Ignore : usage); + var vertexBufferDesc = VertexBufferDescriptor.FromPrimitive(primitive); + if (!clusteredPrimitives.ContainsKey(vertexBufferDesc)) + { + clusteredPrimitives[vertexBufferDesc] = new PrimitiveSet(); + } + clusteredPrimitives[vertexBufferDesc].Add(primIndex, primitive); } - if (!mainBufferTypes.TryGetValue(primitive, out var mainBufferType)) + if (primitive.indices >= 0) { - if (att.TANGENT >= 0) - { - mainBufferType = MainBufferType.PosNormTan; - } - else - if (att.NORMAL >= 0) + AccessorUsage usage; +#if DRACO_UNITY + if (isDraco) { - mainBufferType = MainBufferType.PosNorm; + usage = AccessorUsage.Ignore; } else +#endif { - mainBufferType = MainBufferType.Position; + usage = primitive.mode == DrawMode.Triangles + ? AccessorUsage.IndexFlipped + : AccessorUsage.Index; } + SetAccessorUsage(primitive.indices, usage); } - if (primitive.mode == DrawMode.Triangles || primitive.mode == DrawMode.TriangleFan || - primitive.mode == DrawMode.TriangleStrip) + + if (primitive.material >= 0) { - if (primitive.material < 0 || gltf.Materials[primitive.material].RequiresNormals) - { - mainBufferType |= MainBufferType.Normal; - } - if (primitive.material >= 0 && gltf.Materials[primitive.material].RequiresTangents) + if (Root.Materials != null && primitive.mode == DrawMode.Points) { - mainBufferType |= MainBufferType.Tangent; + SetMaterialPointsSupport(primitive.material); } } - mainBufferTypes[primitive] = mainBufferType; + else + { + m_DefaultMaterialPointsSupport |= primitive.mode == DrawMode.Points; + } + } + var meshNumeration = 0; + foreach (var primitiveCluster in clusteredPrimitives) + { + var primitiveSet = primitiveCluster.Value; #if DEBUG - if(!perAttributeMeshCollection.TryGetValue(att, out var attributeMesh)) { - attributeMesh = new HashSet(); - perAttributeMeshCollection[att] = attributeMesh; + if (perPrimitiveSetIndices != null && CheckVertexBufferUsage(perPrimitiveSetIndices, primitiveSet)) + { + // Poor accessor sharing has been detected and logged. + // Unset perPrimitiveSetIndices to prevent redundant logging. + perPrimitiveSetIndices = null; } - attributeMesh.Add(meshIndex); #endif + int[] primIndexArray; + if (primitiveSets.TryGetValue(primitiveSet.Primitives, out var meshOrder)) + { + primitiveSet.BuildAndDispose(out primIndexArray, out _); + meshOrder.AddRecipient(new MeshSubset(meshIndex, meshNumeration, primIndexArray)); + } + else + { + meshOrder = CreateMeshOrder( + primitiveSet, + mesh, + meshIndex, + meshNumeration, + out primIndexArray, + out var primitives + ); + primitiveSets[primitives] = meshOrder; + m_MeshOrders.Add(meshOrder); + } - if (primitive.material >= 0) + MeshResultAssigned?.Invoke( + meshNumeration, + meshIndex, + primIndexArray + ); + + meshNumeration++; + } +#if DRACO_UNITY + foreach (var primitiveSingle in singlePrimitives) + { +#if DEBUG + if (perPrimitiveSetIndices != null + && CheckVertexBufferUsage(perPrimitiveSetIndices, primitiveSingle)) { - if (gltf.Materials != null && primitive.mode == DrawMode.Points) - { - SetMaterialPointsSupport(primitive.material); - } + // Poor accessor sharing has been detected and logged. + // Unset perPrimitiveSetIndices to prevent redundant logging. + perPrimitiveSetIndices = null; + } +#endif + int[] primIndexArray; + if (primitiveSingles.TryGetValue(primitiveSingle.Primitive, out var meshOrder)) + { + primitiveSingle.BuildAndDispose(out primIndexArray, out _); + meshOrder.AddRecipient(new MeshSubset(meshIndex, meshNumeration, primIndexArray)); } else { - m_DefaultMaterialPointsSupport |= primitive.mode == DrawMode.Points; + meshOrder = CreateMeshOrder( + primitiveSingle, + mesh, + meshIndex, + meshNumeration, + out primIndexArray, + out _ + ); + m_MeshOrders.Add(meshOrder); } + + MeshResultAssigned?.Invoke( + meshNumeration, + meshIndex, + primIndexArray + ); + + meshNumeration++; } - m_MeshPrimitiveCluster[meshIndex] = cluster; - meshResultCount += cluster.Count; + +#endif + meshAssignmentCounter += clusteredPrimitives.Count; +#if DRACO_UNITY + meshAssignmentCounter += singlePrimitives.Count; +#endif + meshAssignmentIndices[meshIndex + 1] = meshAssignmentCounter; } - if (gltf.Skins != null) + if (Root.Skins != null) { - m_SkinsInverseBindMatrices = new Matrix4x4[gltf.Skins.Count][]; - foreach (var skin in gltf.Skins) + m_SkinsInverseBindMatrices = new Matrix4x4[Root.Skins.Count][]; + foreach (var skin in Root.Skins) { if (skin.inverseBindMatrices >= 0) { @@ -3191,9 +3313,9 @@ async Task LoadAccessorData(RootBase gltf) } } - if (gltf.Nodes != null) + if (Root.Nodes != null) { - foreach (var node in gltf.Nodes) + foreach (var node in Root.Nodes) { var attr = node.Extensions?.EXT_mesh_gpu_instancing?.attributes; if (attr != null) @@ -3214,152 +3336,25 @@ async Task LoadAccessorData(RootBase gltf) } } - if (m_MeshResultIndex != null) + if (meshAssignmentIndices != null) { - m_MeshResultIndex[meshCount] = meshResultCount; - } - m_MeshResults = new MeshResult[meshResultCount]; - m_MeshResultGenerators = new MeshResultGeneratorBase[meshResultCount]; - var tmpList = new List(mainBufferTypes.Count); - m_VertexBufferGenerators = new Dictionary( - mainBufferTypes.Count, - s_MeshPrimitiveComparer - ); -#if DEBUG - foreach (var perAttributeMeshes in perAttributeMeshCollection) { - if(perAttributeMeshes.Value.Count>1) { - m_Logger?.Warning(LogCode.AccessorsShared); - break; - } + m_Meshes = new List(); + m_MeshAssignments = new FlatArray(meshAssignmentIndices); } -#endif + var tmpList = new List(); Profiler.EndSample(); var success = true; - foreach (var mainBufferTypePair in mainBufferTypes) - { - var primitive = mainBufferTypePair.Key; - var mainBufferType = mainBufferTypePair.Value; - - Profiler.BeginSample("LoadAccessorData.ScheduleVertexJob"); - - var att = primitive.attributes; - - bool hasNormals = att.NORMAL >= 0; - bool hasTangents = att.TANGENT >= 0; - - int[] uvInputs = null; - if (att.TEXCOORD_0 >= 0) - { - int uvCount = 1; - if (att.TEXCOORD_1 >= 0) uvCount++; - if (att.TEXCOORD_2 >= 0) uvCount++; - if (att.TEXCOORD_3 >= 0) uvCount++; - if (att.TEXCOORD_4 >= 0) uvCount++; - if (att.TEXCOORD_5 >= 0) uvCount++; - if (att.TEXCOORD_6 >= 0) uvCount++; - if (att.TEXCOORD_7 >= 0) uvCount++; - uvInputs = new int[uvCount]; - uvInputs[0] = att.TEXCOORD_0; - if (att.TEXCOORD_1 >= 0) - { - uvInputs[1] = att.TEXCOORD_1; - } - if (att.TEXCOORD_2 >= 0) - { - uvInputs[2] = att.TEXCOORD_2; - } - if (att.TEXCOORD_3 >= 0) - { - uvInputs[3] = att.TEXCOORD_3; - } - if (att.TEXCOORD_4 >= 0) - { - uvInputs[4] = att.TEXCOORD_4; - } - if (att.TEXCOORD_5 >= 0) - { - uvInputs[5] = att.TEXCOORD_5; - } - if (att.TEXCOORD_6 >= 0) - { - uvInputs[6] = att.TEXCOORD_6; - } - if (att.TEXCOORD_7 >= 0) - { - uvInputs[7] = att.TEXCOORD_7; - } - if (att.TEXCOORD_8 >= 0) - { - m_Logger?.Warning(LogCode.UVLimit); - } - } - - VertexBufferGeneratorBase generator; - switch (mainBufferType) - { - case MainBufferType.Position: - generator = new VertexBufferGenerator(m_Logger); - break; - case MainBufferType.PosNorm: - generator = new VertexBufferGenerator(m_Logger); - break; - case MainBufferType.PosNormTan: - generator = new VertexBufferGenerator(m_Logger); - break; - default: - m_Logger?.Error(LogCode.BufferMainInvalidType, mainBufferType.ToString()); - return false; - } - generator.calculateNormals = !hasNormals && (mainBufferType & MainBufferType.Normal) > 0; - generator.calculateTangents = !hasTangents && (mainBufferType & MainBufferType.Tangent) > 0; - m_VertexBufferGenerators[primitive] = generator; - - var jh = generator.ScheduleVertexJobs( - this, - att.POSITION, - att.NORMAL, - att.TANGENT, - uvInputs, - att.COLOR_0, - att.WEIGHTS_0, - att.JOINTS_0 - ); - - if (jh.HasValue) - { - tmpList.Add(jh.Value); - } - else - { - success = false; - break; - } - - Profiler.EndSample(); - - await m_DeferAgent.BreakPoint(); - } - if (!success) { return false; } - if (morphTargetsGenerators != null) - { - foreach (var morphTargetsGenerator in morphTargetsGenerators.Values) - { - var jobHandle = morphTargetsGenerator.GetJobHandle(); - tmpList.Add(jobHandle); - } - } - #if UNITY_ANIMATION - if (gltf.HasAnimation) { - for (int i = 0; i < gltf.Animations.Count; i++) { - var animation = gltf.Animations[i]; + if (Root.HasAnimation) { + for (int i = 0; i < Root.Animations.Count; i++) { + var animation = Root.Animations[i]; foreach (var sampler in animation.Samplers) { SetAccessorUsage(sampler.input,AccessorUsage.AnimationTimes); } @@ -3386,12 +3381,12 @@ async Task LoadAccessorData(RootBase gltf) #endif // Retrieve indices data jobified - m_AccessorData = new IDisposable[gltf.Accessors.Count]; + m_AccessorData = new IDisposable[Root.Accessors.Count]; for (int i = 0; i < m_AccessorData.Length; i++) { Profiler.BeginSample("LoadAccessorData.IndicesMatrixJob"); - var acc = gltf.Accessors[i]; + var acc = Root.Accessors[i]; if (acc.bufferView < 0) { // Not actual accessor to data @@ -3401,39 +3396,31 @@ async Task LoadAccessorData(RootBase gltf) } switch (acc.GetAttributeType()) { - case GltfAccessorAttributeType.SCALAR when m_AccessorUsage[i] == AccessorUsage.IndexFlipped || - m_AccessorUsage[i] == AccessorUsage.Index: - { - GetIndicesJob(gltf, i, out var indices, out var jh, m_AccessorUsage[i] == AccessorUsage.IndexFlipped); - tmpList.Add(jh.Value); - m_AccessorData[i] = indices; - break; - } case GltfAccessorAttributeType.MAT4 when m_AccessorUsage[i] == AccessorUsage.InverseBindMatrix: { // TODO: Maybe use Matrix4x4[], since Mesh.bindposes only accepts C# arrays. - GetMatricesJob(gltf, i, out var matrices, out var jh); + GetMatricesJob(i, out var matrices, out var jh); tmpList.Add(jh.Value); m_AccessorData[i] = matrices; break; } case GltfAccessorAttributeType.VEC3 when (m_AccessorUsage[i] & AccessorUsage.Translation) != 0: { - GetVector3Job(gltf, i, out var data, out var jh, true); + GetVector3Job(i, out var data, out var jh, true); tmpList.Add(jh.Value); m_AccessorData[i] = data; break; } case GltfAccessorAttributeType.VEC4 when (m_AccessorUsage[i] & AccessorUsage.Rotation) != 0: { - GetVector4Job(gltf, i, out var data, out var jh); + GetVector4Job(i, out var data, out var jh); tmpList.Add(jh.Value); m_AccessorData[i] = data; break; } case GltfAccessorAttributeType.VEC3 when (m_AccessorUsage[i] & AccessorUsage.Scale) != 0: { - GetVector3Job(gltf, i, out var data, out var jh, false); + GetVector3Job(i, out var data, out var jh, false); tmpList.Add(jh.Value); m_AccessorData[i] = data; break; @@ -3441,7 +3428,7 @@ async Task LoadAccessorData(RootBase gltf) #if UNITY_ANIMATION case GltfAccessorAttributeType.SCALAR when m_AccessorUsage[i]==AccessorUsage.AnimationTimes || m_AccessorUsage[i]==AccessorUsage.Weight: { - GetScalarJob(gltf, i, out var times, out var jh); + GetScalarJob(i, out var times, out var jh); if (times.HasValue) { m_AccessorData[i] = times.Value; } @@ -3453,81 +3440,9 @@ async Task LoadAccessorData(RootBase gltf) #endif } Profiler.EndSample(); - await m_DeferAgent.BreakPoint(); + await DeferAgent.BreakPoint(); } - Profiler.BeginSample("LoadAccessorData.MeshResultGenerators"); - int primitiveIndex = 0; - for (int meshIndex = 0; meshIndex < meshCount; meshIndex++) - { - var mesh = gltf.Meshes[meshIndex]; - foreach (var cluster in m_MeshPrimitiveCluster[meshIndex].Values) - { - - MeshResultGeneratorBase meshResultGenerator = null; - - for (int primIndex = 0; primIndex < cluster.Count; primIndex++) - { - var (gltfPrimitiveIndex, primitive) = cluster[primIndex]; -#if DRACO_UNITY - if (primitive.IsDracoCompressed) { - Bounds? bounds = null; - var posAccessorIndex = primitive?.attributes.POSITION ?? -1; - if (posAccessorIndex >= 0 && posAccessorIndex < gltf.Accessors.Count) { - var posAccessor = gltf.Accessors[posAccessorIndex]; - bounds = posAccessor.TryGetBounds(); - } - - if (!bounds.HasValue) { - m_Logger?.Error(LogCode.MeshBoundsMissing, meshIndex.ToString()); - } - var dracoMeshResultGenerator = new DracoMeshResultGenerator( - meshIndex, - primitiveIndex, - 1, - primitive.material<0 || gltf.Materials[primitive.material].RequiresNormals, - primitive.material>=0 && gltf.Materials[primitive.material].RequiresTangents, - mesh.name, - bounds - ); - meshResultGenerator = dracoMeshResultGenerator; - } - else -#endif - { - MeshResultGenerator c; - if (meshResultGenerator == null) - { - c = new MeshResultGenerator( - meshIndex, - primitiveIndex, - cluster.Count, - mesh.name - ); - } - else - { - c = meshResultGenerator as MeshResultGenerator; - } - // PreparePrimitiveIndices(gltf,primitive,ref c,primIndex); - c.SetPrimitiveIndex(primIndex, gltfPrimitiveIndex); - meshResultGenerator = c; - } - - if (primitive.targets != null) - { - meshResultGenerator.morphTargetsGenerator = morphTargetsGenerators[primitive]; - } - - meshResultGenerator.SetMaterial(primIndex, primitive.material); - } - - m_MeshResultGenerators[primitiveIndex] = meshResultGenerator; - primitiveIndex++; - } - } - Profiler.EndSample(); - Profiler.BeginSample("LoadAccessorData.Schedule"); NativeArray jobHandles = new NativeArray(tmpList.ToArray(), Allocator.Persistent); m_AccessorJobsHandle = JobHandle.CombineDependencies(jobHandles); @@ -3538,384 +3453,131 @@ async Task LoadAccessorData(RootBase gltf) return success; } - MorphTargetsGenerator CreateMorphTargetsGenerator(MeshPrimitiveBase primitive, string[] meshTargetNames) +#if DEBUG + bool CheckVertexBufferUsage( + Dictionary, int[]> perAttributeMeshCollection, + PrimitiveSingle primitiveSingle + ) { - var morphTargetsGenerator = new MorphTargetsGenerator(primitive.targets.Length, meshTargetNames, m_DeferAgent); - foreach (var morphTarget in primitive.targets) - { - var success = morphTargetsGenerator.AddMorphTarget( - this, - morphTarget.POSITION, - morphTarget.NORMAL, - morphTarget.TANGENT, - m_Logger - ); - if (!success) - { - m_Logger?.Error(LogCode.MorphTargetContextFail); - break; - } - } - - return morphTargetsGenerator; + return CheckVertexBufferUsage(perAttributeMeshCollection, new []{primitiveSingle.Primitive}); } - void SetAccessorUsage(int index, AccessorUsage newUsage) + bool CheckVertexBufferUsage( + Dictionary, int[]> perAttributeMeshCollection, + PrimitiveSet primitiveSet + ) { -#if DEBUG - if(m_AccessorUsage[index]!=AccessorUsage.Unknown && newUsage!=m_AccessorUsage[index]) { - m_Logger?.Error(LogCode.AccessorInconsistentUsage, m_AccessorUsage[index].ToString(), newUsage.ToString()); - } -#endif - m_AccessorUsage[index] = newUsage; + return CheckVertexBufferUsage(perAttributeMeshCollection, primitiveSet.Primitives); } - async Task CreateMeshResultGenerators(RootBase gltf) + bool CheckVertexBufferUsage( + Dictionary, int[]> perAttributeMeshCollection, + IReadOnlyList primitives + ) { - int i = 0; - bool schedule = false; - for (int meshIndex = 0; meshIndex < gltf.Meshes.Count; meshIndex++) + if(perAttributeMeshCollection.TryGetValue(primitives, out var indicesAccessors)) { - foreach (var kvp in m_MeshPrimitiveCluster[meshIndex]) + Assert.AreEqual(primitives.Count, indicesAccessors.Length); + var conflict = false; + for (var index = 0; index < indicesAccessors.Length; index++) { - var cluster = kvp.Value; - - var generator = m_MeshResultGenerators[i]; - - if (MeshResultAssigned != null) + if (indicesAccessors[index] != primitives[index].indices) { - var primitiveIndices = new int[cluster.Count]; - for (var subMeshIndex = 0; subMeshIndex < cluster.Count; subMeshIndex++) - { - var subMesh = cluster[subMeshIndex]; - primitiveIndices[subMeshIndex] = subMesh.Item1; - - MeshResultAssigned?.Invoke( - m_MeshResultIndex[meshIndex], // MeshResult index - meshIndex, // glTF mesh index - primitiveIndices - ); - } + conflict = true; + break; } + } - for (int primIndex = 0; primIndex < cluster.Count; primIndex++) - { - var primitiveTuple = cluster[primIndex]; - var primitive = primitiveTuple.Item2; -#if DRACO_UNITY - if( primitive.IsDracoCompressed ) { - var c = (DracoMeshResultGenerator) generator; - await m_DeferAgent.BreakPoint(); - PreparePrimitiveDraco(gltf,primitive,ref c); - schedule = true; - } else -#endif - { - var c = (MeshResultGenerator)generator; - c.vertexData = m_VertexBufferGenerators[kvp.Key]; - PreparePrimitiveIndices(gltf, primitive, ref c, primIndex); - } - } - await m_DeferAgent.BreakPoint(); - i++; + if (conflict) + { + Logger?.Warning(LogCode.AccessorsShared); + return true; } } - // TODO: not necessary with ECS - // https://docs.unity3d.com/Manual/JobSystemTroubleshooting.html - if (schedule) - { - JobHandle.ScheduleBatchedJobs(); - } - } - - async Task AssignAllAccessorData(RootBase gltf) - { - if (gltf.Skins != null) + else { - for (int s = 0; s < gltf.Skins.Count; s++) + indicesAccessors = new int[primitives.Count]; + // Original will be disposed, so make a copy. + var primitiveArray = new MeshPrimitiveBase[primitives.Count]; + for (var i = 0; i < primitives.Count; i++) { - Profiler.BeginSample("AssignAllAccessorData.Skin"); - var skin = gltf.Skins[s]; - if (skin.inverseBindMatrices >= 0) - { - m_SkinsInverseBindMatrices[s] = ((NativeArray)m_AccessorData[skin.inverseBindMatrices]).ToArray(); - } - Profiler.EndSample(); - await m_DeferAgent.BreakPoint(); + indicesAccessors[i] = primitives[i].indices; + primitiveArray[i] = primitives[i]; } + perAttributeMeshCollection[primitiveArray] = indicesAccessors; } + + return false; } +#endif - void PreparePrimitiveIndices( - RootBase gltf, - MeshPrimitiveBase primitive, - ref MeshResultGenerator meshResultGenerator, - int subMesh = 0 + MeshOrder CreateMeshOrder( + IPrimitiveSet primitiveSet, + MeshBase mesh, + int meshIndex, + int meshNumeration, + out int[] primIndexArray, + out MeshPrimitiveBase[] primitives ) { - Profiler.BeginSample("PreparePrimitiveIndices"); - switch (primitive.mode) - { - case DrawMode.Triangles: - case DrawMode.TriangleStrip: - case DrawMode.TriangleFan: - meshResultGenerator.topology = MeshTopology.Triangles; - break; - case DrawMode.Points: - meshResultGenerator.topology = MeshTopology.Points; - break; - case DrawMode.Lines: - meshResultGenerator.topology = MeshTopology.Lines; - break; - case DrawMode.LineLoop: - meshResultGenerator.topology = MeshTopology.LineStrip; - break; - case DrawMode.LineStrip: - meshResultGenerator.topology = MeshTopology.LineStrip; - break; - default: - m_Logger?.Error(LogCode.PrimitiveModeUnsupported, primitive.mode.ToString()); - meshResultGenerator.topology = MeshTopology.Triangles; - break; - } + var morphTargetNames = primitiveSet.HasMorphTargets + ? mesh.Extras?.targetNames + : null; - NativeArray indices; - if (primitive.indices >= 0) + MeshGeneratorBase generator; + primitiveSet.BuildAndDispose(out primIndexArray, out primitives, out var subMeshes); + var meshSubset = new MeshSubset(meshIndex, meshNumeration, primIndexArray); +#if DRACO_UNITY + if (primitives[0].IsDracoCompressed) { - indices = (NativeArray)m_AccessorData[primitive.indices]; - RecalculateIndicesJob(primitive, ref indices, out meshResultGenerator.jobHandle); + generator = new DracoMeshGenerator(primitives, subMeshes, morphTargetNames, mesh.name, this); } else +#endif { - var vertexCount = gltf.Accessors[primitive.attributes.POSITION].count; - CalculateIndicesJob(primitive, vertexCount, out indices, out meshResultGenerator.jobHandle); + generator = new MeshGenerator(primitives, subMeshes, morphTargetNames, mesh.name, this); } - meshResultGenerator.SetIndices(subMesh, indices); - Profiler.EndSample(); - } + var meshOrder = new MeshOrder(generator); + meshOrder.AddRecipient(meshSubset); -#if DRACO_UNITY - void PreparePrimitiveDraco( RootBase gltf, MeshPrimitiveBase primitive, ref DracoMeshResultGenerator meshResultGenerator ) { - Profiler.BeginSample( "PreparePrimitiveDraco"); - var dracoExt = primitive.Extensions.KHR_draco_mesh_compression; - - var bufferView = gltf.BufferViews[dracoExt.bufferView]; - var buffer = GetBufferViewSlice(bufferView); - - meshResultGenerator.StartDecode(buffer, dracoExt.attributes); - Profiler.EndSample(); - } -#endif - - static void RecalculateIndicesJob( - MeshPrimitiveBase primitive, - ref NativeArray indices, - out JobHandle jobHandle - ) - { - switch (primitive.mode) - { - case DrawMode.LineLoop: - { - var newIndices = new NativeArray(indices.Length + 1, Allocator.Persistent); - NativeArray.Copy(indices, newIndices, indices.Length); - newIndices[indices.Length] = indices[0]; - jobHandle = default; - break; - } - case DrawMode.TriangleStrip: - { - var triangleStripTriangleCount = indices.Length - 2; - var newIndices = new NativeArray(triangleStripTriangleCount * 3, Allocator.Persistent); - var triangleStripJob = new RecalculateIndicesForTriangleStripJob - { - input = indices, - result = newIndices - }; - jobHandle = triangleStripJob.Schedule(triangleStripTriangleCount, DefaultBatchCount); - break; - } - case DrawMode.TriangleFan: - { - var triangleFanTriangleCount = indices.Length - 2; - var newIndices = new NativeArray(triangleFanTriangleCount * 3, Allocator.Persistent); - var triangleFanJob = new RecalculateIndicesForTriangleFanJob - { - input = indices, - result = newIndices - }; - jobHandle = triangleFanJob.Schedule(triangleFanTriangleCount, DefaultBatchCount); - break; - } - default: - jobHandle = default; - break; - } + return meshOrder; } - static void CalculateIndicesJob( - MeshPrimitiveBase primitive, - int vertexCount, - out NativeArray indices, - out JobHandle jobHandle - ) + void SetAccessorUsage(int index, AccessorUsage newUsage) { - Profiler.BeginSample("CalculateIndicesJob"); - // No indices: calculate them - switch (primitive.mode) - { - case DrawMode.LineLoop: - { - // extra index (first vertex again) for closing line loop - indices = new NativeArray(vertexCount + 1, Allocator.Persistent); - // Set the last index to the first vertex - indices[vertexCount] = 0; - var job = new CreateIndicesInt32Job() - { - result = indices - }; - jobHandle = job.Schedule(vertexCount, DefaultBatchCount); - break; - } - case DrawMode.Triangles: - { - indices = new NativeArray(vertexCount, Allocator.Persistent); - var job = new CreateIndicesInt32FlippedJob - { - result = indices - }; - jobHandle = job.Schedule(indices.Length, DefaultBatchCount); - break; - } - case DrawMode.TriangleStrip: - { - indices = new NativeArray((vertexCount - 2) * 3, Allocator.Persistent); - var job = new CreateIndicesForTriangleStripJob - { - result = indices - }; - jobHandle = job.Schedule(indices.Length, DefaultBatchCount); - break; - } - case DrawMode.TriangleFan: - indices = new NativeArray((vertexCount - 2) * 3, Allocator.Persistent); - var triangleFanJob = new CreateIndicesForTriangleFanJob - { - result = indices - }; - jobHandle = triangleFanJob.Schedule(indices.Length, DefaultBatchCount); - break; - default: - { - indices = new NativeArray(vertexCount, Allocator.Persistent); - var job = new CreateIndicesInt32Job - { - result = indices - }; - jobHandle = job.Schedule(vertexCount, DefaultBatchCount); - break; - } +#if DEBUG + if(m_AccessorUsage[index]!=AccessorUsage.Unknown && newUsage!=m_AccessorUsage[index]) { + Logger?.Error(LogCode.AccessorInconsistentUsage, m_AccessorUsage[index].ToString(), newUsage.ToString()); } - Profiler.EndSample(); +#endif + m_AccessorUsage[index] = newUsage; } - unsafe void GetIndicesJob(RootBase gltf, int accessorIndex, out NativeArray indices, out JobHandle? jobHandle, bool flip) + async Task AssignAllAccessorData() { - Profiler.BeginSample("PrepareGetIndicesJob"); - // index - var accessor = gltf.Accessors[accessorIndex]; - var bufferView = GetBufferView(accessor.bufferView, accessor.byteOffset); - - Profiler.BeginSample("Alloc"); - indices = new NativeArray(accessor.count, Allocator.Persistent); - Profiler.EndSample(); - - Assert.AreEqual(accessor.GetAttributeType(), GltfAccessorAttributeType.SCALAR); - //Assert.AreEqual(accessor.count * GetLength(accessor.typeEnum) * 4 , (int) chunk.length); - if (accessor.IsSparse) + if (Root.Skins != null) { - m_Logger?.Error(LogCode.SparseAccessor, "indices"); - } - - Profiler.BeginSample("CreateJob"); - switch (accessor.componentType) - { - case GltfComponentType.UnsignedByte: - if (flip) - { - var job8 = new ConvertIndicesUInt8ToInt32FlippedJob - { - input = (byte*)bufferView.GetUnsafeReadOnlyPtr(), - result = indices.Reinterpret(sizeof(int)) - }; - jobHandle = job8.Schedule(accessor.count / 3, DefaultBatchCount); - } - else - { - var job8 = new ConvertIndicesUInt8ToInt32Job - { - input = (byte*)bufferView.GetUnsafeReadOnlyPtr(), - result = indices - }; - jobHandle = job8.Schedule(accessor.count, DefaultBatchCount); - } - break; - case GltfComponentType.UnsignedShort: - if (flip) - { - var job16 = new ConvertIndicesUInt16ToInt32FlippedJob - { - input = (ushort*)bufferView.GetUnsafeReadOnlyPtr(), - result = indices.Reinterpret(sizeof(int)) - }; - jobHandle = job16.Schedule(accessor.count / 3, DefaultBatchCount); - } - else - { - var job16 = new ConvertIndicesUInt16ToInt32Job - { - input = (ushort*)bufferView.GetUnsafeReadOnlyPtr(), - result = indices - }; - jobHandle = job16.Schedule(accessor.count, DefaultBatchCount); - } - break; - case GltfComponentType.UnsignedInt: - if (flip) - { - var job32 = new ConvertIndicesUInt32ToInt32FlippedJob - { - input = (uint*)bufferView.GetUnsafeReadOnlyPtr(), - result = indices.Reinterpret(sizeof(int)) - }; - jobHandle = job32.Schedule(accessor.count / 3, DefaultBatchCount); - } - else + for (int s = 0; s < Root.Skins.Count; s++) + { + Profiler.BeginSample("AssignAllAccessorData.Skin"); + var skin = Root.Skins[s]; + if (skin.inverseBindMatrices >= 0) { - var job32 = new ConvertIndicesUInt32ToInt32Job - { - input = (uint*)bufferView.GetUnsafeReadOnlyPtr(), - result = indices - }; - jobHandle = job32.Schedule(accessor.count, DefaultBatchCount); + m_SkinsInverseBindMatrices[s] = ((NativeArray)m_AccessorData[skin.inverseBindMatrices]).ToArray(); } - break; - default: - m_Logger?.Error(LogCode.IndexFormatInvalid, accessor.componentType.ToString()); - jobHandle = null; - break; + Profiler.EndSample(); + await DeferAgent.BreakPoint(); + } } - Profiler.EndSample(); - Profiler.EndSample(); } - unsafe void GetMatricesJob(RootBase gltf, int accessorIndex, out NativeArray matrices, out JobHandle? jobHandle) + unsafe void GetMatricesJob(int accessorIndex, out NativeArray matrices, out JobHandle? jobHandle) { Profiler.BeginSample("GetMatricesJob"); // index - var accessor = gltf.Accessors[accessorIndex]; - var bufferView = GetBufferView(accessor.bufferView, accessor.byteOffset); + var accessor = Root.Accessors[accessorIndex]; + var bufferView = ((IGltfBuffers)this).GetBufferView(accessor.bufferView, out _, accessor.byteOffset); Profiler.BeginSample("Alloc"); matrices = new NativeArray(accessor.count, Allocator.Persistent); @@ -3925,7 +3587,7 @@ unsafe void GetMatricesJob(RootBase gltf, int accessorIndex, out NativeArray vectors, out JobHandle? jobHandle, bool flip) + unsafe void GetVector3Job(int accessorIndex, out NativeArray vectors, out JobHandle? jobHandle, bool flip) { Profiler.BeginSample("GetVector3Job"); - var accessor = gltf.Accessors[accessorIndex]; - var bufferView = GetBufferView(accessor.bufferView, accessor.byteOffset); + var accessor = Root.Accessors[accessorIndex]; + var bufferView = ((IGltfBuffers)this).GetBufferView(accessor.bufferView, out _, accessor.byteOffset); Profiler.BeginSample("Alloc"); vectors = new NativeArray(accessor.count, Allocator.Persistent); @@ -3961,7 +3623,7 @@ unsafe void GetVector3Job(RootBase gltf, int accessorIndex, out NativeArray vectors, out JobHandle? jobHandle) + unsafe void GetVector4Job(int accessorIndex, out NativeArray vectors, out JobHandle? jobHandle) { Profiler.BeginSample("GetVector4Job"); // index - var accessor = gltf.Accessors[accessorIndex]; - var bufferView = GetBufferView(accessor.bufferView, accessor.byteOffset); + var accessor = Root.Accessors[accessorIndex]; + var bufferView = ((IGltfBuffers)this).GetBufferView(accessor.bufferView, out _, accessor.byteOffset); Profiler.BeginSample("Alloc"); vectors = new NativeArray(accessor.count, Allocator.Persistent); @@ -4013,7 +3675,7 @@ unsafe void GetVector4Job(RootBase gltf, int accessorIndex, out NativeArray? scalars, out JobHandle? jobHandle) { + unsafe void GetScalarJob(int accessorIndex, out NativeArray? scalars, out JobHandle? jobHandle) { Profiler.BeginSample("GetScalarJob"); scalars = null; jobHandle = null; - var accessor = gltf.Accessors[accessorIndex]; - var buffer = GetBufferView(accessor.bufferView,accessor.byteOffset); + var accessor = Root.Accessors[accessorIndex]; + var buffer = ((IGltfBuffers)this).GetBufferView(accessor.bufferView, out _,accessor.byteOffset); Assert.AreEqual(accessor.GetAttributeType(), GltfAccessorAttributeType.SCALAR); if (accessor.IsSparse) { - m_Logger?.Error(LogCode.SparseAccessor,"scalars"); + Logger?.Error(LogCode.SparseAccessor,"scalars"); } if (accessor.componentType == GltfComponentType.Float) { @@ -4119,12 +3781,12 @@ unsafe void GetScalarJob(RootBase gltf, int accessorIndex, out NativeArray= Root.Accessors.Count + ? null + : Root.Accessors[index]; } /// @@ -4269,7 +3933,7 @@ async Task ProcessKtxLoadContexts() { var forceSampleLinear = m_ImageGamma != null && !m_ImageGamma[ktx.imageIndex]; ktxTasks.Add(KtxLoadAndTranscode(startedCount, ktx, forceSampleLinear)); startedCount++; - await m_DeferAgent.BreakPoint(); + await DeferAgent.BreakPoint(); } var kTask = await Task.WhenAny(ktxTasks); @@ -4282,7 +3946,7 @@ async Task ProcessKtxLoadContexts() { m_NonFlippedYTextureIndices ??= new HashSet(); m_NonFlippedYTextureIndices.Add(ktx.imageIndex); } - await m_DeferAgent.BreakPoint(); + await DeferAgent.BreakPoint(); } ktxTasks.Remove(kTask); } diff --git a/Runtime/Scripts/IGltfBuffers.cs b/Runtime/Scripts/IGltfBuffers.cs index a5de4e022..bd81095fc 100644 --- a/Runtime/Scripts/IGltfBuffers.cs +++ b/Runtime/Scripts/IGltfBuffers.cs @@ -1,6 +1,7 @@ // SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 +using Unity.Collections; using UnityEngine; namespace GLTFast @@ -11,8 +12,10 @@ namespace GLTFast interface IGltfBuffers { AccessorBase GetAccessor(int index); + void GetAccessorDataAndByteStride(int index, out NativeSlice data, out int byteStride); unsafe void GetAccessorAndData(int index, out AccessorBase accessor, out void* data, out int byteStride); unsafe void GetAccessorSparseIndices(AccessorSparseIndices sparseIndices, out void* data); unsafe void GetAccessorSparseValues(AccessorSparseValues sparseValues, out void* data); + NativeSlice GetBufferView(int bufferViewIndex, out int byteStride, int offset = 0, int length = 0); } } diff --git a/Runtime/Scripts/IGltfReadable.cs b/Runtime/Scripts/IGltfReadable.cs index 148543433..ab9e17297 100644 --- a/Runtime/Scripts/IGltfReadable.cs +++ b/Runtime/Scripts/IGltfReadable.cs @@ -1,6 +1,7 @@ // SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 +using System; using GLTFast.Schema; using Unity.Collections; using UnityEngine; @@ -94,6 +95,13 @@ public interface IGltfReadable : IMaterialProvider /// De-serialized glTF material MaterialBase GetSourceMaterial(int index = 0); + /// + /// Get source (de-serialized glTF) mesh. + /// + /// glTF mesh index. + /// De-serialized glTF mesh. + MeshBase GetSourceMesh(int meshIndex); + /// /// Get source (de-serialized glTF) mesh primitive /// @@ -153,6 +161,16 @@ public interface IGltfReadable : IMaterialProvider /// glTF accessor index /// Valid byte-slice view into accessor's data if parameter was correct and buffers are available. /// Zero-length slice otherwise. + [Obsolete("Use GetAccessorData instead.")] NativeSlice GetAccessor(int accessorIndex); + + /// + /// Creates a generic byte-array view into an accessor. + /// Only available during loading phase as underlying buffers are disposed right afterwards. + /// + /// glTF accessor index + /// Valid byte-slice view into accessor's data if parameter was correct and buffers are available. + /// Zero-length slice otherwise. + NativeSlice GetAccessorData(int accessorIndex); } } diff --git a/Runtime/Scripts/IInstantiator.cs b/Runtime/Scripts/IInstantiator.cs index f36aa2d75..595d78d34 100644 --- a/Runtime/Scripts/IInstantiator.cs +++ b/Runtime/Scripts/IInstantiator.cs @@ -64,7 +64,7 @@ Vector3 scale void SetNodeName(uint nodeIndex, string name); /// - /// Called for adding a Primitive/Mesh to a Node. + /// Adds a Mesh/MeshResult to a Node for rendering purpose. /// /// Index of the node /// Mesh's name @@ -72,7 +72,9 @@ Vector3 scale /// If a skin was attached, the joint indices. Null otherwise /// Root joint node index, if present /// Morph target weights, if present - /// Primitives are numerated per Node, starting with 0 + /// Per glTF mesh numeration. A glTF mesh is converted + /// into one or more MeshResults which are numbered consecutively. is called once + /// for each of those MeshResults. void AddPrimitive( uint nodeIndex, string meshName, @@ -80,13 +82,14 @@ void AddPrimitive( uint[] joints = null, uint? rootJoint = null, float[] morphTargetWeights = null, - int primitiveNumeration = 0 + int meshNumeration = 0 ); /// - /// Called for adding a Primitive/Mesh to a Node that uses - /// GPU instancing (EXT_mesh_gpu_instancing) to render the same mesh/material combination many times. - /// Similar to/called instead of , without joints/skin support. + /// Adds a Mesh/MeshResult to a Node with the purpose of rendering multiple instances of this MeshResult and + /// material combination (through glTF extension + /// EXT_mesh_gpu_instancing). + /// In contrast to it lacks joints/skin support. /// /// Index of the node /// Mesh's name @@ -95,7 +98,9 @@ void AddPrimitive( /// Instance positions /// Instance rotations /// Instance scales - /// Primitives are numerated per Node, starting with 0 + /// Per glTF mesh numeration. A glTF mesh is converted + /// into one or more MeshResults which are numbered consecutively. is called once + /// for each of those MeshResults. void AddPrimitiveInstanced( uint nodeIndex, string meshName, @@ -104,7 +109,7 @@ void AddPrimitiveInstanced( NativeArray? positions, NativeArray? rotations, NativeArray? scales, - int primitiveNumeration = 0 + int meshNumeration = 0 ); /// diff --git a/Runtime/Scripts/IMaterialProvider.cs b/Runtime/Scripts/IMaterialProvider.cs index 85ddc07a4..c32b86f05 100644 --- a/Runtime/Scripts/IMaterialProvider.cs +++ b/Runtime/Scripts/IMaterialProvider.cs @@ -31,10 +31,11 @@ public interface IMaterialProvider : IMaterialsVariantsProvider /// Returns the material slots that correspond to the given MeshResult's sub-meshes. /// /// glTF mesh index. - /// Mesh result offset. + /// Per glTF mesh numeration. A glTF mesh is converted + /// into one or more MeshResults which are numbered consecutively. /// Corresponding materials variants slots. /// /// - IMaterialsVariantsSlot[] GetMaterialsVariantsSlots(int meshIndex, int meshResultOffset); + IMaterialsVariantsSlot[] GetMaterialsVariantsSlots(int meshIndex, int meshNumeration); } } diff --git a/Runtime/Scripts/Jobs.cs b/Runtime/Scripts/Jobs.cs index 3c39ce0ee..6166a60eb 100644 --- a/Runtime/Scripts/Jobs.cs +++ b/Runtime/Scripts/Jobs.cs @@ -937,7 +937,7 @@ unsafe struct ConvertColorsRgbUInt8ToRGBAFloatJob : IJobParallelFor public byte* input; [WriteOnly] - public NativeArray result; + public NativeSlice result; public void Execute(int i) { @@ -961,7 +961,7 @@ unsafe struct ConvertColorsRgbUInt16ToRGBAFloatJob : IJobParallelFor public ushort* input; [WriteOnly] - public NativeArray result; + public NativeSlice result; public void Execute(int i) { @@ -1044,7 +1044,7 @@ unsafe struct ConvertColorsRgbaUInt8ToRGBAFloatJob : IJobParallelFor public byte* input; [WriteOnly] - public NativeArray result; + public NativeSlice result; public void Execute(int i) { diff --git a/Runtime/Scripts/Logging/LogMessages.cs b/Runtime/Scripts/Logging/LogMessages.cs index 00fed93b2..ede03d9a8 100644 --- a/Runtime/Scripts/Logging/LogMessages.cs +++ b/Runtime/Scripts/Logging/LogMessages.cs @@ -292,7 +292,7 @@ This may result in low performance and high memory usage. Try optimizing the glT { LogCode.MaterialTransmissionApprox, "Chance of incorrect materials! glTF transmission is approximated when using built-in render pipeline!" }, { LogCode.MaterialTransmissionApproxUrp, @"Chance of incorrect materials! glTF transmission is approximated. Enable Opaque Texture access in Universal Render Pipeline!" }, - { LogCode.MeshBoundsMissing, "No bounds for mesh {0} => calculating them." }, + { LogCode.MeshBoundsMissing, "No bounds on position accessor {0} => calculating them." }, { LogCode.MeshNotReadable, "Skipping non-readable mesh {0}" }, { LogCode.MissingImageURL, "Image URL missing" }, { LogCode.MorphTargetContextFail, "Retrieving morph target failed" }, diff --git a/Runtime/Scripts/MeshAssignment.cs b/Runtime/Scripts/MeshAssignment.cs new file mode 100644 index 000000000..d0379808c --- /dev/null +++ b/Runtime/Scripts/MeshAssignment.cs @@ -0,0 +1,25 @@ +// SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +using UnityEngine; + +namespace GLTFast +{ + readonly struct MeshAssignment + { + public readonly Mesh mesh; + + /// + /// Key: sub-mesh index + /// Value: primitive index + /// + public readonly int[] primitives; + + public MeshAssignment(Mesh mesh, int[] primitives) + { + this.mesh = mesh; + this.primitives = primitives; + } + } +} diff --git a/Runtime/Scripts/MeshAssignment.cs.meta b/Runtime/Scripts/MeshAssignment.cs.meta new file mode 100644 index 000000000..6859eb308 --- /dev/null +++ b/Runtime/Scripts/MeshAssignment.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 99e55c66c9cd4fed964a811628daabae +timeCreated: 1732043027 \ No newline at end of file diff --git a/Runtime/Scripts/MeshComparer.cs b/Runtime/Scripts/MeshComparer.cs new file mode 100644 index 000000000..e4da077d5 --- /dev/null +++ b/Runtime/Scripts/MeshComparer.cs @@ -0,0 +1,198 @@ +// SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +using System.Collections.Generic; +using System.Runtime.CompilerServices; +using GLTFast.Schema; + +namespace GLTFast +{ + class MeshComparer + : IEqualityComparer + , IEqualityComparer> + { + public bool Equals(IReadOnlyList x, IReadOnlyList y) + { + if (ReferenceEquals(x, y)) return true; + if (x is null) return false; + if (y is null) return false; + if (x.Count != y.Count) return false; + for (var index = 0; index < x.Count; index++) + { + if (!Equals(x[index], y[index])) + return false; + } + return true; + } + + public int GetHashCode(IReadOnlyList obj) + { +#if NET_STANDARD + var hashCode = new HashCode(); + foreach (var primitive in obj) + { + hashCode.Add(GetHashCode(primitive)); + } + return hashCode.ToHashCode(); +#else + var hash = 17; + foreach (var primitive in obj) + { + hash = hash * 31 + GetHashCode(primitive); + } + return hash; +#endif + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public bool Equals(MeshPrimitiveBase x, MeshPrimitiveBase y) + { + if (ReferenceEquals(x, y)) return true; + if (x is null) return false; + if (y is null) return false; + if (x.GetType() != y.GetType()) return false; + return x.indices == y.indices + && Equals(x.attributes, y.attributes) + && Equals(x.targets, y.targets); + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public int GetHashCode(MeshPrimitiveBase primitive) + { +#if NET_STANDARD + return HashCode.Combine( + primitive.indices, + GetHashCode(primitive.attributes), + GetHashCode(primitive.targets) + ); +#else + var hash = 17; + hash = hash * 31 + primitive.indices; + hash = hash * 31 + GetHashCode(primitive.attributes); + hash = hash * 31 + GetHashCode(primitive.targets); + return hash; +#endif + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + static int GetHashCode(Attributes x) + { + if (x == null) return 0; +#if NET_STANDARD + HashCode hash = new(); + hash.Add(x.POSITION); + hash.Add(x.NORMAL); + hash.Add(x.TANGENT); + hash.Add(x.TEXCOORD_0); + hash.Add(x.TEXCOORD_1); + hash.Add(x.TEXCOORD_2); + hash.Add(x.TEXCOORD_3); + hash.Add(x.TEXCOORD_4); + hash.Add(x.TEXCOORD_5); + hash.Add(x.TEXCOORD_6); + hash.Add(x.TEXCOORD_7); + hash.Add(x.COLOR_0); + hash.Add(x.JOINTS_0); + hash.Add(x.WEIGHTS_0); + return hash.ToHashCode(); +#else + var hash = 17; + hash = hash * 31 + x.POSITION; + hash = hash * 31 + x.NORMAL; + hash = hash * 31 + x.TANGENT; + hash = hash * 31 + x.TEXCOORD_0; + hash = hash * 31 + x.TEXCOORD_1; + hash = hash * 31 + x.TEXCOORD_2; + hash = hash * 31 + x.TEXCOORD_3; + hash = hash * 31 + x.TEXCOORD_4; + hash = hash * 31 + x.TEXCOORD_5; + hash = hash * 31 + x.TEXCOORD_6; + hash = hash * 31 + x.TEXCOORD_7; + hash = hash * 31 + x.COLOR_0; + hash = hash * 31 + x.JOINTS_0; + hash = hash * 31 + x.WEIGHTS_0; + return hash; +#endif + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + static int GetHashCode(MorphTarget[] x) + { + if (x == null) return 0; +#if NET_STANDARD + HashCode hash = new(); + hash.Add(x.Length); + foreach (var target in x) + { + if (target == null) + { + hash.Add(0); + continue; + } + hash.Add(target.POSITION); + hash.Add(target.NORMAL); + hash.Add(target.TANGENT); + } + return hash.ToHashCode(); +#else + var hash = 17; + hash = hash * 31 + x.Length; + foreach (var target in x) + { + if (target == null) + continue; + hash = hash * 31 + target.POSITION; + hash = hash * 31 + target.NORMAL; + hash = hash * 31 + target.TANGENT; + } + return hash; +#endif + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + static bool Equals(MorphTarget[] x, MorphTarget[] y) + { + if (ReferenceEquals(x, y)) return true; + if (x == null || y == null) return false; + if (x.Length != y.Length) return false; + for (var i = 0; i < x.Length; i++) + { + if (!Equals(x[i], y[i])) + return false; + } + return true; + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + static bool Equals(MorphTarget x, MorphTarget y) + { + if (ReferenceEquals(x, y)) return true; + if (x == null || y == null) return false; + return x.POSITION == y.POSITION + && x.NORMAL == y.NORMAL + && x.TANGENT == y.TANGENT; + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + static bool Equals(Attributes x, Attributes y) + { + if (ReferenceEquals(x, y)) return true; + if (x == null || y == null) return false; + return x.POSITION == y.POSITION + && x.NORMAL == y.NORMAL + && x.TANGENT == y.TANGENT + && x.TEXCOORD_0 == y.TEXCOORD_0 + && x.TEXCOORD_1 == y.TEXCOORD_1 + && x.TEXCOORD_2 == y.TEXCOORD_2 + && x.TEXCOORD_3 == y.TEXCOORD_3 + && x.TEXCOORD_4 == y.TEXCOORD_4 + && x.TEXCOORD_5 == y.TEXCOORD_5 + && x.TEXCOORD_6 == y.TEXCOORD_6 + && x.TEXCOORD_7 == y.TEXCOORD_7 + && x.COLOR_0 == y.COLOR_0 + && x.JOINTS_0 == y.JOINTS_0 + && x.WEIGHTS_0 == y.WEIGHTS_0; + } + } +} diff --git a/Runtime/Scripts/MeshComparer.cs.meta b/Runtime/Scripts/MeshComparer.cs.meta new file mode 100644 index 000000000..6274ec4b1 --- /dev/null +++ b/Runtime/Scripts/MeshComparer.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 59dec57cc42d45c7b5b43b1e1b5b11a3 +timeCreated: 1732308974 \ No newline at end of file diff --git a/Runtime/Scripts/MeshGenerator.cs b/Runtime/Scripts/MeshGenerator.cs new file mode 100644 index 000000000..474d54826 --- /dev/null +++ b/Runtime/Scripts/MeshGenerator.cs @@ -0,0 +1,637 @@ +// SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +using System.Collections.Generic; +using System.Threading.Tasks; +using GLTFast.Jobs; +using GLTFast.Logging; +using GLTFast.Schema; +using Unity.Collections; +using Unity.Collections.LowLevel.Unsafe; +using Unity.Jobs; +using Unity.Mathematics; +using UnityEngine.Profiling; +using UnityEngine.Rendering; +using UnityEngine; +using UnityEngine.Assertions; +using Mesh = UnityEngine.Mesh; + +namespace GLTFast +{ + class MeshGenerator : MeshGeneratorBase + { + VertexBufferGeneratorBase m_VertexData; + + NativeArray[] m_Indices; + List m_Disposables; + readonly SubMeshAssignment[] m_SubMeshAssignments; + readonly IReadOnlyList m_Primitives; + + MeshTopology m_Topology; + + int SubMeshCount => m_SubMeshAssignments?.Length ?? m_Primitives.Count; + + public MeshGenerator( + IReadOnlyList primitives, + SubMeshAssignment[] subMeshAssignments, + string[] morphTargetNames, + string meshName, + GltfImportBase gltfImport + ) + : base(meshName) + { + m_Primitives = primitives; + m_SubMeshAssignments = subMeshAssignments; + if (CreateVertexGenerator(gltfImport, out var hasNormals, out var hasTangents)) + { + CreateMorphTargetGenerator(morphTargetNames, hasNormals, hasTangents, gltfImport); + m_CreationTask = GenerateMesh(gltfImport); + } + } + + bool CreateVertexGenerator( + GltfImportBase gltfImport, + out bool hasNormals, + out bool hasTangents + ) + { + var drawMode = m_Primitives[0].mode; + if (!SetTopology(drawMode)) + { + gltfImport.Logger?.Error(LogCode.PrimitiveModeUnsupported, drawMode.ToString()); + } + + var mainBufferType = GetMainBufferType(gltfImport, out hasNormals, out hasTangents); + + switch (mainBufferType) + { + case MainBufferType.Position: + m_VertexData = new VertexBufferGenerator(m_Primitives.Count, gltfImport); + break; + case MainBufferType.PosNorm: + m_VertexData = new VertexBufferGenerator(m_Primitives.Count, gltfImport); + break; + case MainBufferType.PosNormTan: + m_VertexData = new VertexBufferGenerator(m_Primitives.Count, gltfImport); + break; + default: + gltfImport.Logger?.Error(LogCode.BufferMainInvalidType, mainBufferType.ToString()); + return false; + } + m_VertexData.calculateNormals = !hasNormals && (mainBufferType & MainBufferType.Normal) > 0; + m_VertexData.calculateTangents = !hasTangents && (mainBufferType & MainBufferType.Tangent) > 0; + + foreach (var primitive in m_Primitives) + { + m_VertexData.AddPrimitive(primitive.attributes); + } + + m_VertexData.Initialize(); + return true; + } + + MainBufferType GetMainBufferType( + GltfImportBase gltfImport, + out bool hasNormals, + out bool hasTangents + ) + { + var mainBufferType = MainBufferType.Position; + var firstAttributes = m_Primitives[0].attributes; + hasNormals = firstAttributes.NORMAL >= 0; + hasTangents = firstAttributes.TANGENT >= 0; + + if (hasTangents) + mainBufferType = MainBufferType.PosNormTan; + else if (hasNormals) + mainBufferType = MainBufferType.PosNorm; + + Profiler.BeginSample("LoadAccessorData.ScheduleVertexJob"); + foreach (var primitive in IterateSubMeshes()) + { + if (primitive.mode == DrawMode.Triangles + || primitive.mode == DrawMode.TriangleFan + || primitive.mode == DrawMode.TriangleStrip) + { + if (primitive.material < 0) + { + mainBufferType |= MainBufferType.Normal; + } + else + { + var material = gltfImport.GetSourceMaterial(primitive.material); + if (material.RequiresTangents) + { + mainBufferType |= MainBufferType.Tangent; + } + else if (material.RequiresNormals) + { + mainBufferType |= MainBufferType.Normal; + } + } + } + } + + return mainBufferType; + } + + bool SetTopology(DrawMode drawMode) + { + switch (drawMode) + { + case DrawMode.Triangles: + case DrawMode.TriangleStrip: + case DrawMode.TriangleFan: + m_Topology = MeshTopology.Triangles; + break; + case DrawMode.Points: + m_Topology = MeshTopology.Points; + break; + case DrawMode.Lines: + m_Topology = MeshTopology.Lines; + break; + case DrawMode.LineLoop: + case DrawMode.LineStrip: + m_Topology = MeshTopology.LineStrip; + break; + default: + m_Topology = MeshTopology.Triangles; + return false; + } + return true; + } + + void CreateMorphTargetGenerator( + string[] morphTargetNames, + bool hasNormals, + bool hasTangents, + GltfImportBase gltfImport + ) + { + var morphTargets = m_Primitives[0].targets; + if (morphTargets != null) + { + m_MorphTargetsGenerator = new MorphTargetsGenerator( + m_VertexData.VertexCount, + m_VertexData.VertexIntervals, + morphTargets.Length, + morphTargetNames, + hasNormals, + hasTangents, + gltfImport + ); + } + } + + async Task GenerateMesh(GltfImportBase gltfImport) + { + var jh = m_VertexData.CreateVertexBuffer(); + if (!jh.HasValue) + return null; + + while (!jh.Value.IsCompleted) + { + await Task.Yield(); + } + jh.Value.Complete(); + + m_Indices = new NativeArray[SubMeshCount]; + + var tmpList = new List(SubMeshCount); + foreach (var subMesh in IterateSubMeshesIndexed()) + { + var subMeshIndex = subMesh.index; + var primitive = subMesh.primitive; + if (primitive.indices >= 0) + { + var flip = primitive.mode == DrawMode.Triangles; + GetIndicesJob(gltfImport, primitive.indices, out var indices, out var getIndicesJob, flip); + if (!getIndicesJob.HasValue) + return null; + + switch (primitive.mode) + { + case DrawMode.LineLoop: + { + m_Indices[subMeshIndex] = new NativeArray(indices.Length + 1, Allocator.Persistent); + + // TODO: Allocate larger index buffer right away and only set last index here + // Wait for indices to be ready. + while (!getIndicesJob.Value.IsCompleted) + { + await Task.Yield(); + } + + getIndicesJob.Value.Complete(); + + NativeArray.Copy(indices, m_Indices[subMeshIndex], indices.Length); + m_Indices[subMeshIndex][indices.Length] = indices[0]; + indices.Dispose(); + break; + } + case DrawMode.TriangleStrip: + { + // TODO: Allocate larger index buffer right away and recalculate indices in-place. + var triangleStripTriangleCount = indices.Length - 2; + m_Indices[subMeshIndex] = new NativeArray(triangleStripTriangleCount * 3, Allocator.Persistent); + var triangleStripJob = new RecalculateIndicesForTriangleStripJob + { + input = indices, + result = m_Indices[subMeshIndex] + }; + var job = triangleStripJob.Schedule( + triangleStripTriangleCount, + GltfImportBase.DefaultBatchCount, + getIndicesJob.Value + ); + tmpList.Add(job); + m_Disposables ??= new List(); + m_Disposables.Add(indices); + break; + } + case DrawMode.TriangleFan: + { + // TODO: Allocate larger index buffer right away and recalculate indices in-place. + var triangleFanTriangleCount = indices.Length - 2; + m_Indices[subMeshIndex] = new NativeArray(triangleFanTriangleCount * 3, Allocator.Persistent); + var triangleFanJob = new RecalculateIndicesForTriangleFanJob + { + input = indices, + result = m_Indices[subMeshIndex] + }; + var job = triangleFanJob.Schedule(triangleFanTriangleCount, GltfImportBase.DefaultBatchCount, getIndicesJob.Value); + m_Disposables ??= new List(); + m_Disposables.Add(indices); + tmpList.Add(job); + break; + } + default: + m_Indices[subMeshIndex] = indices; + tmpList.Add(getIndicesJob.Value); + break; + } + } + else + { + var vertexCount = ((IGltfBuffers)gltfImport).GetAccessor(primitive.attributes.POSITION).count; + CalculateIndicesJob(primitive, vertexCount, out m_Indices[subMeshIndex], out var job); + tmpList.Add(job); + } + + AddMorphTargets(subMeshIndex, primitive, gltfImport.Logger); + } + + if (m_MorphTargetsGenerator != null) + { + tmpList.Add(m_MorphTargetsGenerator.GetJobHandle()); + } + + await AwaitJobs(tmpList); + + return await CreateMeshResultAsync(); + } + + void AddMorphTargets(int subMesh, MeshPrimitiveBase primitive, ICodeLogger logger) + { + if (m_MorphTargetsGenerator == null) + return; + for (var morphTargetIndex = 0; morphTargetIndex < primitive.targets.Length; morphTargetIndex++) + { + var morphTarget = primitive.targets[morphTargetIndex]; + var success = m_MorphTargetsGenerator.AddMorphTarget( + subMesh, + morphTargetIndex, + morphTarget + ); + if (!success) + { + logger?.Error(LogCode.MorphTargetContextFail); + } + } + } + + async Task CreateMeshResultAsync() + { + Profiler.BeginSample("CreateMesh"); + var msh = new Mesh + { + name = m_MeshName + }; + + m_VertexData.ApplyOnMesh(msh); + + Profiler.BeginSample("SetIndices"); + var indexCount = 0; + for (var i = 0; i < m_Indices.Length; i++) + { + indexCount += m_Indices[i].Length; + } + Profiler.BeginSample("SetIndexBufferParams"); + msh.SetIndexBufferParams(indexCount, IndexFormat.UInt32); //TODO: UInt16 maybe? + Profiler.EndSample(); + msh.subMeshCount = m_Indices.Length; + indexCount = 0; + var boundsAreValid = true; + for (var i = 0; i < m_Indices.Length; i++) + { + Profiler.BeginSample("SetIndexBufferData"); + msh.SetIndexBufferData(m_Indices[i], 0, indexCount, m_Indices[i].Length, defaultMeshUpdateFlags); + Profiler.EndSample(); + + Profiler.BeginSample("SetSubMesh"); + var vertexBufferIndex = m_SubMeshAssignments != null ? m_SubMeshAssignments[i].VertexBufferIndex : i; + m_VertexData.GetVertexRange(vertexBufferIndex, out var baseVertex, out var vertexCount); + boundsAreValid &= m_VertexData.TryGetBounds(vertexBufferIndex, out var bounds); + var subMeshDescriptor = new SubMeshDescriptor + { + indexStart = indexCount, + indexCount = m_Indices[i].Length, + topology = m_Topology, + baseVertex = baseVertex, + firstVertex = baseVertex, + vertexCount = vertexCount, + bounds = bounds + }; + msh.SetSubMesh(i, subMeshDescriptor, defaultMeshUpdateFlags); + Profiler.EndSample(); + indexCount += m_Indices[i].Length; + } + Profiler.EndSample(); + + if (m_Topology == MeshTopology.Triangles || m_Topology == MeshTopology.Quads) + { + if (m_VertexData.calculateNormals) + { + Profiler.BeginSample("RecalculateNormals"); + msh.RecalculateNormals(); + Profiler.EndSample(); + } + if (m_VertexData.calculateTangents) + { + Profiler.BeginSample("RecalculateTangents"); + msh.RecalculateTangents(); + Profiler.EndSample(); + } + } + + if (!boundsAreValid) + { + Profiler.BeginSample("RecalculateBounds"); +#if DEBUG + Debug.LogError("Bounds have to be recalculated (slow operation). Check if position accessors have proper min/max values"); +#endif + msh.RecalculateBounds(); + Profiler.EndSample(); + } + + if (m_MorphTargetsGenerator != null) + { + await m_MorphTargetsGenerator.ApplyOnMeshAndDispose(msh); + } + +#if GLTFAST_KEEP_MESH_DATA + Profiler.BeginSample("UploadMeshData"); + msh.UploadMeshData(false); + Profiler.EndSample(); +#endif + + Profiler.EndSample(); + + return msh; + } + + IEnumerable<(int index, MeshPrimitiveBase primitive)> IterateSubMeshesIndexed() + { + if (m_SubMeshAssignments == null) + { + for (var index = 0; index < m_Primitives.Count; index++) + { + var primitive = m_Primitives[index]; + yield return (index, primitive); + } + } + else + { + for (var index = 0; index < m_SubMeshAssignments.Length; index++) + { + var subMesh = m_SubMeshAssignments[index]; + yield return (index, subMesh.Primitive); + } + } + } + + IEnumerable IterateSubMeshes() + { + if (m_SubMeshAssignments == null) + { + foreach (var primitive in m_Primitives) + yield return primitive; + } + else + { + foreach (var subMesh in m_SubMeshAssignments) + yield return subMesh.Primitive; + } + } + + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + if (disposing) + { + m_VertexData?.Dispose(); + if (m_Indices != null) + { + for (var index = 0; index < m_Indices.Length; index++) + { + var indices = m_Indices[index]; + if (indices.IsCreated) + indices.Dispose(); + } + + m_Indices = null; + } + } + + if (m_Disposables != null) + { + foreach (var disposable in m_Disposables) + { + disposable.Dispose(); + } + + m_Disposables = null; + } + } + + static unsafe void GetIndicesJob(GltfImportBase gltfImport, int accessorIndex, out NativeArray indices, out JobHandle? jobHandle, bool flip) + { + Profiler.BeginSample("PrepareGetIndicesJob"); + var accessor = ((IGltfBuffers)gltfImport).GetAccessor(accessorIndex); + var bufferView = ((IGltfBuffers)gltfImport).GetBufferView(accessor.bufferView, out _, accessor.byteOffset); + + Profiler.BeginSample("Alloc"); + indices = new NativeArray(accessor.count, Allocator.Persistent); + Profiler.EndSample(); + + Assert.AreEqual(accessor.GetAttributeType(), GltfAccessorAttributeType.SCALAR); + if (accessor.IsSparse) + { + gltfImport.Logger?.Error(LogCode.SparseAccessor, "indices"); + } + + Profiler.BeginSample("CreateJob"); + switch (accessor.componentType) + { + case GltfComponentType.UnsignedByte: + if (flip) + { + var job8 = new ConvertIndicesUInt8ToInt32FlippedJob + { + input = (byte*)bufferView.GetUnsafeReadOnlyPtr(), + result = indices.Reinterpret(sizeof(int)) + }; + jobHandle = job8.Schedule(accessor.count / 3, GltfImportBase.DefaultBatchCount); + } + else + { + var job8 = new ConvertIndicesUInt8ToInt32Job + { + input = (byte*)bufferView.GetUnsafeReadOnlyPtr(), + result = indices + }; + jobHandle = job8.Schedule(accessor.count, GltfImportBase.DefaultBatchCount); + } + break; + case GltfComponentType.UnsignedShort: + if (flip) + { + var job16 = new ConvertIndicesUInt16ToInt32FlippedJob + { + input = (ushort*)bufferView.GetUnsafeReadOnlyPtr(), + result = indices.Reinterpret(sizeof(int)) + }; + jobHandle = job16.Schedule(accessor.count / 3, GltfImportBase.DefaultBatchCount); + } + else + { + var job16 = new ConvertIndicesUInt16ToInt32Job + { + input = (ushort*)bufferView.GetUnsafeReadOnlyPtr(), + result = indices + }; + jobHandle = job16.Schedule(accessor.count, GltfImportBase.DefaultBatchCount); + } + break; + case GltfComponentType.UnsignedInt: + if (flip) + { + var job32 = new ConvertIndicesUInt32ToInt32FlippedJob + { + input = (uint*)bufferView.GetUnsafeReadOnlyPtr(), + result = indices.Reinterpret(sizeof(int)) + }; + jobHandle = job32.Schedule(accessor.count / 3, GltfImportBase.DefaultBatchCount); + } + else + { + var job32 = new ConvertIndicesUInt32ToInt32Job + { + input = (uint*)bufferView.GetUnsafeReadOnlyPtr(), + result = indices + }; + jobHandle = job32.Schedule(accessor.count, GltfImportBase.DefaultBatchCount); + } + break; + default: + gltfImport.Logger?.Error(LogCode.IndexFormatInvalid, accessor.componentType.ToString()); + jobHandle = null; + break; + } + Profiler.EndSample(); + Profiler.EndSample(); + } + + static void CalculateIndicesJob( + MeshPrimitiveBase primitive, + int vertexCount, + out NativeArray indices, + out JobHandle jobHandle + ) + { + Profiler.BeginSample("CalculateIndicesJob"); + // No indices: calculate them + switch (primitive.mode) + { + case DrawMode.LineLoop: + { + // extra index (first vertex again) for closing line loop + indices = new NativeArray(vertexCount + 1, Allocator.Persistent); + // Set the last index to the first vertex + indices[vertexCount] = 0; + var job = new CreateIndicesInt32Job() + { + result = indices + }; + jobHandle = job.Schedule(vertexCount, GltfImportBase.DefaultBatchCount); + break; + } + case DrawMode.Triangles: + { + indices = new NativeArray(vertexCount, Allocator.Persistent); + var job = new CreateIndicesInt32FlippedJob + { + result = indices + }; + jobHandle = job.Schedule(indices.Length, GltfImportBase.DefaultBatchCount); + break; + } + case DrawMode.TriangleStrip: + { + indices = new NativeArray((vertexCount - 2) * 3, Allocator.Persistent); + var job = new CreateIndicesForTriangleStripJob + { + result = indices + }; + jobHandle = job.Schedule(indices.Length, GltfImportBase.DefaultBatchCount); + break; + } + case DrawMode.TriangleFan: + indices = new NativeArray((vertexCount - 2) * 3, Allocator.Persistent); + var triangleFanJob = new CreateIndicesForTriangleFanJob + { + result = indices + }; + jobHandle = triangleFanJob.Schedule(indices.Length, GltfImportBase.DefaultBatchCount); + break; + default: + { + indices = new NativeArray(vertexCount, Allocator.Persistent); + var job = new CreateIndicesInt32Job() + { + result = indices + }; + jobHandle = job.Schedule(vertexCount, GltfImportBase.DefaultBatchCount); + break; + } + } + Profiler.EndSample(); + } + + static async Task AwaitJobs(List tmpList) + { + if (tmpList.Count > 0) + { + var jobHandles = new NativeArray(tmpList.ToArray(), Allocator.Persistent); + var allJobs = JobHandle.CombineDependencies(jobHandles); + jobHandles.Dispose(); + while (!allJobs.IsCompleted) + { + await Task.Yield(); + } + allJobs.Complete(); + } + } + } +} diff --git a/Runtime/Scripts/MeshResultGenerator.cs.meta b/Runtime/Scripts/MeshGenerator.cs.meta similarity index 100% rename from Runtime/Scripts/MeshResultGenerator.cs.meta rename to Runtime/Scripts/MeshGenerator.cs.meta diff --git a/Runtime/Scripts/MeshGeneratorBase.cs b/Runtime/Scripts/MeshGeneratorBase.cs new file mode 100644 index 000000000..b8c446a1b --- /dev/null +++ b/Runtime/Scripts/MeshGeneratorBase.cs @@ -0,0 +1,57 @@ +// SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +using UnityEngine.Rendering; +using System.Threading.Tasks; + +namespace GLTFast +{ + + abstract class MeshGeneratorBase : IDisposable + { + + public const MeshUpdateFlags defaultMeshUpdateFlags = + MeshUpdateFlags.DontNotifyMeshUsers + | MeshUpdateFlags.DontRecalculateBounds + | MeshUpdateFlags.DontResetBoneBounds + | MeshUpdateFlags.DontValidateIndices; + + protected Task m_CreationTask; + + public bool IsCompleted => m_CreationTask == null || m_CreationTask.IsCompleted; + + protected MorphTargetsGenerator m_MorphTargetsGenerator; + + protected string m_MeshName; + + protected MeshGeneratorBase(string meshName) + { + m_MeshName = meshName; + } + + public async Task CreateMeshResult() + { + while (!IsCompleted) + { + await Task.Yield(); + } + + return m_CreationTask?.Result; + } + + public void Dispose() + { + Dispose(true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + if (disposing) + { + m_CreationTask?.Dispose(); + } + } + } +} diff --git a/Runtime/Scripts/MeshResultGeneratorBase.cs.meta b/Runtime/Scripts/MeshGeneratorBase.cs.meta similarity index 100% rename from Runtime/Scripts/MeshResultGeneratorBase.cs.meta rename to Runtime/Scripts/MeshGeneratorBase.cs.meta diff --git a/Runtime/Scripts/MeshOrder.cs b/Runtime/Scripts/MeshOrder.cs new file mode 100644 index 000000000..312afb065 --- /dev/null +++ b/Runtime/Scripts/MeshOrder.cs @@ -0,0 +1,29 @@ +// SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +using System.Collections.Generic; + +namespace GLTFast +{ + readonly struct MeshOrder : IDisposable + { + public readonly MeshGeneratorBase generator; + readonly List m_Recipients; + + public MeshOrder(MeshGeneratorBase generator) + { + this.generator = generator; + m_Recipients = new List(); + } + + public void AddRecipient(MeshSubset subset) => m_Recipients.Add(subset); + + public IReadOnlyList Recipients => m_Recipients; + + public void Dispose() + { + generator?.Dispose(); + } + } +} diff --git a/Runtime/Scripts/MeshOrder.cs.meta b/Runtime/Scripts/MeshOrder.cs.meta new file mode 100644 index 000000000..be34eacc3 --- /dev/null +++ b/Runtime/Scripts/MeshOrder.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 8add359ea4d342299797c1087dc35b8d +timeCreated: 1732027628 \ No newline at end of file diff --git a/Runtime/Scripts/MeshResultGenerator.cs b/Runtime/Scripts/MeshResultGenerator.cs deleted file mode 100644 index feb027c19..000000000 --- a/Runtime/Scripts/MeshResultGenerator.cs +++ /dev/null @@ -1,155 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using System.Runtime.InteropServices; -using System.Threading.Tasks; -using Unity.Collections; -using Unity.Jobs; -using UnityEngine.Profiling; -using UnityEngine.Rendering; -using UnityEngine; - -namespace GLTFast -{ - - class MeshResultGenerator : MeshResultGeneratorBase - { - - public VertexBufferGeneratorBase vertexData; - - public JobHandle jobHandle; - NativeArray[] m_Indices; - int[] m_PrimitiveIndices; - - public MeshTopology topology; - - public MeshResultGenerator( - int meshIndex, - int primitiveIndex, - int subMeshCount, - string meshName - ) - : base(meshIndex, primitiveIndex, subMeshCount, meshName) - { - m_Indices = new NativeArray[subMeshCount]; - m_PrimitiveIndices = new int[subMeshCount]; - } - - public void SetIndices(int subMesh, NativeArray indices) - { - m_Indices[subMesh] = indices; - } - - public void SetPrimitiveIndex(int subMesh, int primitiveIndex) - { - m_PrimitiveIndices[subMesh] = primitiveIndex; - } - - public override bool IsCompleted => jobHandle.IsCompleted; - - public override async Task CreatePrimitive() - { - Profiler.BeginSample("CreatePrimitive"); - jobHandle.Complete(); - var msh = new Mesh - { - name = m_MeshName - }; - - vertexData.ApplyOnMesh(msh); - - Profiler.BeginSample("SetIndices"); - var indexCount = 0; - var allBounds = vertexData.Bounds; - for (var i = 0; i < m_Indices.Length; i++) - { - indexCount += m_Indices[i].Length; - } - Profiler.BeginSample("SetIndexBufferParams"); - msh.SetIndexBufferParams(indexCount, IndexFormat.UInt32); //TODO: UInt16 maybe? - Profiler.EndSample(); - msh.subMeshCount = m_Indices.Length; - indexCount = 0; - for (var i = 0; i < m_Indices.Length; i++) - { - Profiler.BeginSample("SetIndexBufferData"); - msh.SetIndexBufferData(m_Indices[i], 0, indexCount, m_Indices[i].Length, defaultMeshUpdateFlags); - Profiler.EndSample(); - Profiler.BeginSample("SetSubMesh"); - var subMeshDescriptor = new SubMeshDescriptor - { - indexStart = indexCount, - indexCount = m_Indices[i].Length, - topology = topology, - baseVertex = 0, - firstVertex = 0, - vertexCount = vertexData.VertexCount - }; - if (allBounds.HasValue) - { - // Setting the sub-meshes' bounds to the overall bounds - // Calculating the actual sub-mesh bounds (by iterating the verts referenced - // by the sub-mesh indices) would be slow. Also, hardly any glTFs re-use - // the same vertex buffer across primitives of a node (which is the - // only way a mesh can have sub-meshes) - subMeshDescriptor.bounds = allBounds.Value; - } - msh.SetSubMesh(i, subMeshDescriptor, defaultMeshUpdateFlags); - Profiler.EndSample(); - indexCount += m_Indices[i].Length; - } - Profiler.EndSample(); - - if (topology == MeshTopology.Triangles || topology == MeshTopology.Quads) - { - if (vertexData.calculateNormals) - { - Profiler.BeginSample("RecalculateNormals"); - msh.RecalculateNormals(); - Profiler.EndSample(); - } - if (vertexData.calculateTangents) - { - Profiler.BeginSample("RecalculateTangents"); - msh.RecalculateTangents(); - Profiler.EndSample(); - } - } - - if (allBounds.HasValue) - { - msh.bounds = allBounds.Value; - } - else - { - Profiler.BeginSample("RecalculateBounds"); -#if DEBUG - Debug.LogError("Bounds have to be recalculated (slow operation). Check if position accessors have proper min/max values"); -#endif - msh.RecalculateBounds(); - Profiler.EndSample(); - } - -#if GLTFAST_KEEP_MESH_DATA - Profiler.BeginSample("UploadMeshData"); - msh.UploadMeshData(false); - Profiler.EndSample(); -#else - // Don't upload explicitly. Unity takes care of upload on demand/deferred - - // Profiler.BeginSample("UploadMeshData"); - // msh.UploadMeshData(true); - // Profiler.EndSample(); -#endif - - if (morphTargetsGenerator != null) - { - await morphTargetsGenerator.ApplyOnMeshAndDispose(msh); - } - - Profiler.EndSample(); - - return new MeshResult(MeshIndex, m_PrimitiveIndices, m_Materials, msh); - } - } -} diff --git a/Runtime/Scripts/MeshResultGeneratorBase.cs b/Runtime/Scripts/MeshResultGeneratorBase.cs deleted file mode 100644 index c28fc08c6..000000000 --- a/Runtime/Scripts/MeshResultGeneratorBase.cs +++ /dev/null @@ -1,49 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using UnityEngine.Rendering; -using System.Threading.Tasks; - -namespace GLTFast -{ - - abstract class MeshResultGeneratorBase - { - - public const MeshUpdateFlags defaultMeshUpdateFlags = - MeshUpdateFlags.DontNotifyMeshUsers - | MeshUpdateFlags.DontRecalculateBounds - | MeshUpdateFlags.DontResetBoneBounds - | MeshUpdateFlags.DontValidateIndices; - - protected string m_MeshName; - protected int[] m_Materials; - - public int MeshIndex { get; } - public int PrimitiveIndex { get; } - - public abstract bool IsCompleted { get; } - - protected MeshResultGeneratorBase( - int meshIndex, - int primitiveIndex, - int subMeshCount, - string meshName - ) - { - MeshIndex = meshIndex; - PrimitiveIndex = primitiveIndex; - m_Materials = new int[subMeshCount]; - m_MeshName = meshName; - } - - public void SetMaterial(int subMesh, int materialIndex) - { - m_Materials[subMesh] = materialIndex; - } - - public MorphTargetsGenerator morphTargetsGenerator; - - public abstract Task CreatePrimitive(); - } -} diff --git a/Runtime/Scripts/MeshSubset.cs b/Runtime/Scripts/MeshSubset.cs new file mode 100644 index 000000000..43d3d5b1c --- /dev/null +++ b/Runtime/Scripts/MeshSubset.cs @@ -0,0 +1,33 @@ +// SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; + +namespace GLTFast +{ + readonly struct MeshSubset + { + /// glTF mesh index. + public readonly int meshIndex; + + /// + /// glTF mesh subset numeration. + /// glTF mesh primitives are clustered into one or more consecutively numbered MeshSubsets. + /// + public readonly int meshNumeration; + + /// + /// Connects Unity sub-mesh indices to glTF mesh primitive indices. + /// Key: Unity sub-mesh index. + /// Value: glTF primitive index. + /// + public readonly int[] primitives; + + public MeshSubset(int meshIndex, int meshNumeration, int[] primitives) + { + this.meshIndex = meshIndex; + this.meshNumeration = meshNumeration; + this.primitives = primitives; + } + } +} diff --git a/Runtime/Scripts/MeshSubset.cs.meta b/Runtime/Scripts/MeshSubset.cs.meta new file mode 100644 index 000000000..b0e7cff4a --- /dev/null +++ b/Runtime/Scripts/MeshSubset.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: d00a3798162c4232899f1d0f53e6f366 +timeCreated: 1732027667 \ No newline at end of file diff --git a/Runtime/Scripts/MorphTargetsGenerator.cs b/Runtime/Scripts/MorphTargetsGenerator.cs index ca5c429a4..c0216ca64 100644 --- a/Runtime/Scripts/MorphTargetsGenerator.cs +++ b/Runtime/Scripts/MorphTargetsGenerator.cs @@ -1,6 +1,7 @@ // SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 +using System; using System.Runtime.InteropServices; using GLTFast.Schema; using Unity.Collections; @@ -10,49 +11,59 @@ using UnityEngine.Profiling; using Mesh = UnityEngine.Mesh; using System.Threading.Tasks; -using GLTFast.Logging; namespace GLTFast { class MorphTargetsGenerator { - MorphTargetContext[] m_Contexts; + readonly int[] m_VertexIntervals; + readonly string[] m_MorphTargetNames; + readonly GltfImportBase m_GltfImport; + + MorphTargetGenerator[] m_Contexts; NativeArray m_Handles; - int m_CurrentIndex; - string[] m_MeshTargetNames; - IDeferAgent m_DeferAgent; - public MorphTargetsGenerator(int morphTargetCount, string[] meshTargetNames, IDeferAgent deferAgent) + public MorphTargetsGenerator( + int vertexCount, + int[] vertexIntervals, + int morphTargetCount, + string[] morphTargetNames, + bool hasNormals, + bool hasTangents, + GltfImportBase gltfImport + ) { - m_Contexts = new MorphTargetContext[morphTargetCount]; - m_Handles = new NativeArray(morphTargetCount, VertexBufferGeneratorBase.defaultAllocator); - m_CurrentIndex = 0; - this.m_MeshTargetNames = meshTargetNames; - this.m_DeferAgent = deferAgent; + m_VertexIntervals = vertexIntervals; + m_MorphTargetNames = morphTargetNames; + m_GltfImport = gltfImport; + + var subMeshCount = vertexIntervals.Length - 1; + m_Contexts = new MorphTargetGenerator[morphTargetCount]; + for (var i = 0; i < morphTargetCount; i++) + { + m_Contexts[i] = new MorphTargetGenerator(vertexCount, hasNormals, hasTangents); + } + m_Handles = new NativeArray(morphTargetCount * subMeshCount, VertexBufferGeneratorBase.defaultAllocator); } public bool AddMorphTarget( - IGltfBuffers buffers, - int positionAccessorIndex, - int normalAccessorIndex, - int tangentAccessorIndex, - ICodeLogger logger + int subMesh, + int morphTargetIndex, + MorphTarget morphTarget ) { - var newMorphTarget = new MorphTargetContext(); - var jobHandle = newMorphTarget.ScheduleMorphTargetJobs( - buffers, - positionAccessorIndex, - normalAccessorIndex, - tangentAccessorIndex, - logger + var morphTargetGenerator = m_Contexts[morphTargetIndex]; + var offset = m_VertexIntervals[subMesh]; + var jobHandle = morphTargetGenerator.ScheduleMorphTargetJobs( + morphTarget, + offset, + m_GltfImport ); if (jobHandle.HasValue) { - m_Handles[m_CurrentIndex] = jobHandle.Value; - m_Contexts[m_CurrentIndex] = newMorphTarget; - m_CurrentIndex++; + m_Handles[morphTargetIndex] = jobHandle.Value; + m_Contexts[morphTargetIndex] = morphTargetGenerator; } else { @@ -63,7 +74,7 @@ ICodeLogger logger public JobHandle GetJobHandle() { - var handle = (m_Contexts.Length > 1) ? JobHandle.CombineDependencies(m_Handles) : m_Handles[0]; + var handle = m_Contexts.Length > 1 ? JobHandle.CombineDependencies(m_Handles) : m_Handles[0]; m_Handles.Dispose(); return handle; } @@ -73,17 +84,16 @@ public async Task ApplyOnMeshAndDispose(Mesh mesh) for (var index = 0; index < m_Contexts.Length; index++) { var context = m_Contexts[index]; - context.AddToMesh(mesh, m_MeshTargetNames?[index] ?? index.ToString()); + context.AddToMesh(mesh, m_MorphTargetNames?[index] ?? index.ToString()); context.Dispose(); - await m_DeferAgent.BreakPoint(); + await m_GltfImport.DeferAgent.BreakPoint(); } m_Contexts = null; } } - class MorphTargetContext + sealed class MorphTargetGenerator : IDisposable { - Vector3[] m_Positions; Vector3[] m_Normals; Vector3[] m_Tangents; @@ -92,69 +102,105 @@ class MorphTargetContext GCHandle m_NormalsHandle; GCHandle m_TangentsHandle; + public MorphTargetGenerator(int vertexCount, bool hasNormals, bool hasTangents) + { + m_Positions = new Vector3[vertexCount]; + m_PositionsHandle = GCHandle.Alloc(m_Positions, GCHandleType.Pinned); + + if (hasNormals) + { + m_Normals = new Vector3[vertexCount]; + m_NormalsHandle = GCHandle.Alloc(m_Normals, GCHandleType.Pinned); + } + + if (hasTangents) + { + m_Tangents = new Vector3[vertexCount]; + m_TangentsHandle = GCHandle.Alloc(m_Tangents, GCHandleType.Pinned); + } + } + public unsafe JobHandle? ScheduleMorphTargetJobs( - IGltfBuffers buffers, - int positionAccessorIndex, - int normalAccessorIndex, - int tangentAccessorIndex, - ICodeLogger logger + MorphTarget morphTarget, + int offset, + IGltfBuffers buffers ) { Profiler.BeginSample("ScheduleMorphTargetJobs"); - buffers.GetAccessorAndData(positionAccessorIndex, out var posAcc, out var posData, out var posByteStride); - - m_Positions = new Vector3[posAcc.count]; - m_PositionsHandle = GCHandle.Alloc(m_Positions, GCHandleType.Pinned); + buffers.GetAccessorAndData( + morphTarget.POSITION, + out var posAcc, + out var posData, + out var posByteStride + ); var jobCount = 1; if (posAcc.IsSparse && posAcc.bufferView >= 0) - { jobCount++; - } AccessorBase nrmAcc = null; void* nrmInput = null; - int nrmInputByteStride = 0; + var nrmInputByteStride = 0; - if (normalAccessorIndex >= 0) + if (morphTarget.NORMAL >= 0) { - m_Normals = new Vector3[posAcc.count]; - m_NormalsHandle = GCHandle.Alloc(m_Normals, GCHandleType.Pinned); - buffers.GetAccessorAndData(normalAccessorIndex, out nrmAcc, out nrmInput, out nrmInputByteStride); - if (nrmAcc.IsSparse && nrmAcc.bufferView >= 0) - { - jobCount += 2; - } - else - { - jobCount++; - } + buffers.GetAccessorAndData(morphTarget.NORMAL, out nrmAcc, out nrmInput, out nrmInputByteStride); + jobCount += nrmAcc.IsSparse && nrmAcc.bufferView >= 0 ? 2 : 1; } AccessorBase tanAcc = null; void* tanInput = null; - int tanInputByteStride = 0; + var tanInputByteStride = 0; - if (tangentAccessorIndex >= 0) + if (morphTarget.TANGENT >= 0) { - m_Tangents = new Vector3[posAcc.count]; - m_TangentsHandle = GCHandle.Alloc(m_Tangents, GCHandleType.Pinned); - buffers.GetAccessorAndData(normalAccessorIndex, out tanAcc, out tanInput, out tanInputByteStride); - if (tanAcc.IsSparse && tanAcc.bufferView >= 0) - { - jobCount += 2; - } - else - { - jobCount++; - } + buffers.GetAccessorAndData(morphTarget.TANGENT, out tanAcc, out tanInput, out tanInputByteStride); + jobCount += tanAcc.IsSparse && tanAcc.bufferView >= 0 ? 2 : 1; } - NativeArray handles = new NativeArray(jobCount, VertexBufferGeneratorBase.defaultAllocator); + var handles = new NativeArray(jobCount, VertexBufferGeneratorBase.defaultAllocator); var handleIndex = 0; - fixed (void* dest = &(m_Positions[0])) + if (!SchedulePositionsJobs(offset, buffers, posData, posAcc, posByteStride, handles, ref handleIndex)) + return null; + + if (nrmAcc != null + && !ScheduleNormalsJobs( + offset, + buffers, + nrmAcc, + nrmInput, + nrmInputByteStride, + handles, + ref handleIndex)) + { + return null; + } + + if (tanAcc != null + && !ScheduleTangentsJobs(offset, buffers, tanAcc, tanInput, tanInputByteStride, handles, handleIndex)) + { + return null; + } + + var handle = jobCount > 1 ? JobHandle.CombineDependencies(handles) : handles[0]; + handles.Dispose(); + Profiler.EndSample(); + return handle; + } + + unsafe bool SchedulePositionsJobs( + int offset, + IGltfBuffers buffers, + void* posData, + AccessorBase posAcc, + int posByteStride, + NativeArray handles, + ref int handleIndex + ) + { + fixed (void* dest = &m_Positions[offset]) { JobHandle? h = null; if (posData != null) @@ -177,7 +223,7 @@ ICodeLogger logger else { Profiler.EndSample(); - return null; + return false; } } if (posAcc.IsSparse) @@ -203,128 +249,145 @@ ICodeLogger logger else { Profiler.EndSample(); - return null; + return false; } } } - if (nrmAcc != null) + return true; + } + + unsafe bool ScheduleNormalsJobs( + int offset, + IGltfBuffers buffers, + AccessorBase nrmAcc, + void* nrmInput, + int nrmInputByteStride, + NativeArray handles, + ref int handleIndex + ) + { + fixed (void* dest = &(m_Normals[offset])) { - fixed (void* dest = &(m_Normals[0])) + JobHandle? h = null; + if (nrmAcc.bufferView >= 0) { - JobHandle? h = null; - if (nrmAcc.bufferView >= 0) + h = VertexBufferGeneratorBase.GetVector3Job( + nrmInput, + nrmAcc.count, + nrmAcc.componentType, + nrmInputByteStride, + (float3*)dest, + 12, + nrmAcc.normalized, + false // morph target normals are deltas -> don't normalize + ); + if (h.HasValue) { - h = VertexBufferGeneratorBase.GetVector3Job( - nrmInput, - nrmAcc.count, - nrmAcc.componentType, - nrmInputByteStride, - (float3*)dest, - 12, - nrmAcc.normalized, - false // morph target normals are deltas -> don't normalize - ); - if (h.HasValue) - { - handles[handleIndex] = h.Value; - handleIndex++; - } - else - { - Profiler.EndSample(); - return null; - } + handles[handleIndex] = h.Value; + handleIndex++; } - if (nrmAcc.IsSparse) + else { - buffers.GetAccessorSparseIndices(nrmAcc.Sparse.Indices, out var indexData); - buffers.GetAccessorSparseValues(nrmAcc.Sparse.Values, out var valueData); - var sparseJobHandle = VertexBufferGeneratorBase.GetVector3SparseJob( - indexData, - valueData, - nrmAcc.Sparse.count, - nrmAcc.Sparse.Indices.componentType, - nrmAcc.componentType, - (float3*)dest, - 12, - dependsOn: ref h, - nrmAcc.normalized - ); - if (sparseJobHandle.HasValue) - { - handles[handleIndex] = sparseJobHandle.Value; - handleIndex++; - } - else - { - Profiler.EndSample(); - return null; - } + Profiler.EndSample(); + return false; + } + } + if (nrmAcc.IsSparse) + { + buffers.GetAccessorSparseIndices(nrmAcc.Sparse.Indices, out var indexData); + buffers.GetAccessorSparseValues(nrmAcc.Sparse.Values, out var valueData); + var sparseJobHandle = VertexBufferGeneratorBase.GetVector3SparseJob( + indexData, + valueData, + nrmAcc.Sparse.count, + nrmAcc.Sparse.Indices.componentType, + nrmAcc.componentType, + (float3*)dest, + 12, + dependsOn: ref h, + nrmAcc.normalized + ); + if (sparseJobHandle.HasValue) + { + handles[handleIndex] = sparseJobHandle.Value; + handleIndex++; + } + else + { + Profiler.EndSample(); + return false; } } } - if (tanAcc != null) + return true; + } + + unsafe bool ScheduleTangentsJobs( + int offset, + IGltfBuffers buffers, + AccessorBase tanAcc, + void* tanInput, + int tanInputByteStride, + NativeArray handles, + int handleIndex + ) + { + fixed (void* dest = &(m_Tangents[offset])) { - fixed (void* dest = &(m_Tangents[0])) + JobHandle? h = null; + if (tanAcc.bufferView >= 0) { - JobHandle? h = null; - if (tanAcc.bufferView >= 0) + h = VertexBufferGeneratorBase.GetVector3Job( + tanInput, + tanAcc.count, + tanAcc.componentType, + tanInputByteStride, + (float3*)dest, + 12, + tanAcc.normalized, + false // morph target tangents are deltas -> don't normalize + ); + if (h.HasValue) { - h = VertexBufferGeneratorBase.GetVector3Job( - tanInput, - tanAcc.count, - tanAcc.componentType, - tanInputByteStride, - (float3*)dest, - 12, - tanAcc.normalized, - false // morph target tangents are deltas -> don't normalize - ); - if (h.HasValue) - { - handles[handleIndex] = h.Value; - handleIndex++; - } - else - { - Profiler.EndSample(); - return null; - } + handles[handleIndex] = h.Value; + handleIndex++; } - if (tanAcc.IsSparse) + else { - buffers.GetAccessorSparseIndices(tanAcc.Sparse.Indices, out var indexData); - buffers.GetAccessorSparseValues(tanAcc.Sparse.Values, out var valueData); - var sparseJobHandle = VertexBufferGeneratorBase.GetVector3SparseJob( - indexData, - valueData, - tanAcc.Sparse.count, - tanAcc.Sparse.Indices.componentType, - tanAcc.componentType, - (float3*)dest, - 12, - dependsOn: ref h, - tanAcc.normalized - ); - if (sparseJobHandle.HasValue) - { - handles[handleIndex] = sparseJobHandle.Value; - } - else - { - Profiler.EndSample(); - return null; - } + Profiler.EndSample(); + return false; + } + } + if (tanAcc.IsSparse) + { + buffers.GetAccessorSparseIndices(tanAcc.Sparse.Indices, out var indexData); + buffers.GetAccessorSparseValues(tanAcc.Sparse.Values, out var valueData); + var sparseJobHandle = VertexBufferGeneratorBase.GetVector3SparseJob( + indexData, + valueData, + tanAcc.Sparse.count, + tanAcc.Sparse.Indices.componentType, + tanAcc.componentType, + (float3*)dest, + 12, + dependsOn: ref h, + tanAcc.normalized + ); + if (sparseJobHandle.HasValue) + { + handles[handleIndex] = sparseJobHandle.Value; + } + else + { + Profiler.EndSample(); + return false; } } } - var handle = (jobCount > 1) ? JobHandle.CombineDependencies(handles) : handles[0]; - handles.Dispose(); - Profiler.EndSample(); - return handle; + return true; } public void AddToMesh(Mesh mesh, string name) diff --git a/Runtime/Scripts/MeshPrimitiveComparer.cs b/Runtime/Scripts/PrimitiveComparer.cs similarity index 80% rename from Runtime/Scripts/MeshPrimitiveComparer.cs rename to Runtime/Scripts/PrimitiveComparer.cs index 33c6a0db8..ea3926e61 100644 --- a/Runtime/Scripts/MeshPrimitiveComparer.cs +++ b/Runtime/Scripts/PrimitiveComparer.cs @@ -2,52 +2,90 @@ // SPDX-License-Identifier: Apache-2.0 using System; -using System.Collections.Generic; +using System.Runtime.CompilerServices; using GLTFast.Schema; -using UnityEngine; namespace GLTFast { - /// - /// Compares Mesh Primitives based on their attributes and morph targets only. - /// This is practical when clustering primitives of a mesh together, - /// that end up in a single Unity Mesh. - /// - class MeshPrimitiveComparer : IEqualityComparer + static class PrimitiveComparer { - public bool Equals(MeshPrimitiveBase x, MeshPrimitiveBase y) + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static bool HaveEqualVertexBuffers(MeshPrimitiveBase x, MeshPrimitiveBase y) { if (ReferenceEquals(x, y)) return true; if (x is null) return false; if (y is null) return false; - - return x.mode == y.mode - && Equals(x.attributes, y.attributes) + return Equals(x.attributes, y.attributes) && Equals(x.targets, y.targets); } - public int GetHashCode(MeshPrimitiveBase obj) + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public static int CalculateHashCode(MeshPrimitiveBase primitive) { #if NET_STANDARD return HashCode.Combine( - (int)obj.mode, - GetHashCode(obj.attributes), - GetHashCode(obj.targets) + GetHashCode(primitive.attributes), + GetHashCode(primitive.targets) ); #else - var hash = 13; - hash = hash * 31 + (int)obj.mode; - hash = hash * 31 + GetHashCode(obj.attributes); - hash = hash * 31 + GetHashCode(obj.targets); + var hash = 17; + hash = hash * 31 + GetHashCode(primitive.attributes); + hash = hash * 31 + GetHashCode(primitive.targets); return hash; #endif } + [MethodImpl(MethodImplOptions.AggressiveInlining)] + static bool Equals(Attributes x, Attributes y) + { + if (ReferenceEquals(x, y)) return true; + if (x == null || y == null) return false; + return x.POSITION == y.POSITION + && x.NORMAL == y.NORMAL + && x.TANGENT == y.TANGENT + && x.TEXCOORD_0 == y.TEXCOORD_0 + && x.TEXCOORD_1 == y.TEXCOORD_1 + && x.TEXCOORD_2 == y.TEXCOORD_2 + && x.TEXCOORD_3 == y.TEXCOORD_3 + && x.TEXCOORD_4 == y.TEXCOORD_4 + && x.TEXCOORD_5 == y.TEXCOORD_5 + && x.TEXCOORD_6 == y.TEXCOORD_6 + && x.TEXCOORD_7 == y.TEXCOORD_7 + && x.COLOR_0 == y.COLOR_0 + && x.JOINTS_0 == y.JOINTS_0 + && x.WEIGHTS_0 == y.WEIGHTS_0; + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + static bool Equals(MorphTarget[] x, MorphTarget[] y) + { + if (ReferenceEquals(x, y)) return true; + if (x == null || y == null) return false; + if (x.Length != y.Length) return false; + for (var i = 0; i < x.Length; i++) + { + if (!Equals(x[i], y[i])) + return false; + } + return true; + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + static bool Equals(MorphTarget x, MorphTarget y) + { + if (ReferenceEquals(x, y)) return true; + if (x == null || y == null) return false; + return x.POSITION == y.POSITION + && x.NORMAL == y.NORMAL + && x.TANGENT == y.TANGENT; + } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] static int GetHashCode(Attributes x) { if (x == null) return 0; #if NET_STANDARD - HashCode hash = new(); + var hash = new HashCode(); hash.Add(x.POSITION); hash.Add(x.NORMAL); hash.Add(x.TANGENT); @@ -64,6 +102,7 @@ static int GetHashCode(Attributes x) hash.Add(x.WEIGHTS_0); return hash.ToHashCode(); #else + if (x == null) return 0; var hash = 17; hash = hash * 31 + x.POSITION; hash = hash * 31 + x.NORMAL; @@ -83,6 +122,7 @@ static int GetHashCode(Attributes x) #endif } + [MethodImpl(MethodImplOptions.AggressiveInlining)] static int GetHashCode(MorphTarget[] x) { if (x == null) return 0; @@ -115,47 +155,5 @@ static int GetHashCode(MorphTarget[] x) return hash; #endif } - - static bool Equals(MorphTarget[] x, MorphTarget[] y) - { - if (ReferenceEquals(x, y)) return true; - if (x == null || y == null) return false; - if (x.Length != y.Length) return false; - for (var i = 0; i < x.Length; i++) - { - if (!Equals(x[i], y[i])) - return false; - } - return true; - } - - static bool Equals(MorphTarget x, MorphTarget y) - { - if (ReferenceEquals(x, y)) return true; - if (x == null || y == null) return false; - return x.POSITION == y.POSITION - && x.NORMAL == y.NORMAL - && x.TANGENT == y.TANGENT; - } - - static bool Equals(Attributes x, Attributes y) - { - if (ReferenceEquals(x, y)) return true; - if (x == null || y == null) return false; - return x.POSITION == y.POSITION - && x.NORMAL == y.NORMAL - && x.TANGENT == y.TANGENT - && x.TEXCOORD_0 == y.TEXCOORD_0 - && x.TEXCOORD_1 == y.TEXCOORD_1 - && x.TEXCOORD_2 == y.TEXCOORD_2 - && x.TEXCOORD_3 == y.TEXCOORD_3 - && x.TEXCOORD_4 == y.TEXCOORD_4 - && x.TEXCOORD_5 == y.TEXCOORD_5 - && x.TEXCOORD_6 == y.TEXCOORD_6 - && x.TEXCOORD_7 == y.TEXCOORD_7 - && x.COLOR_0 == y.COLOR_0 - && x.JOINTS_0 == y.JOINTS_0 - && x.WEIGHTS_0 == y.WEIGHTS_0; - } } } diff --git a/Runtime/Scripts/PrimitiveComparer.cs.meta b/Runtime/Scripts/PrimitiveComparer.cs.meta new file mode 100644 index 000000000..c02f98ceb --- /dev/null +++ b/Runtime/Scripts/PrimitiveComparer.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: cec4d33f62854a75b4b8810dc6f1317d +timeCreated: 1732785405 \ No newline at end of file diff --git a/Runtime/Scripts/PrimitiveSet.cs b/Runtime/Scripts/PrimitiveSet.cs new file mode 100644 index 000000000..b63b40c03 --- /dev/null +++ b/Runtime/Scripts/PrimitiveSet.cs @@ -0,0 +1,112 @@ +// SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +using System.Collections.Generic; +using GLTFast.Schema; +using UnityEngine.Assertions; + +namespace GLTFast +{ + interface IPrimitiveSet + { + bool HasMorphTargets { get; } + void BuildAndDispose(out int[] indices, out MeshPrimitiveBase[] primitives, out SubMeshAssignment[] subMeshAssignments); + } + + class PrimitiveSet : IPrimitiveSet + { + readonly List m_Indices = new List(); + readonly List m_Primitives = new List(); + List m_SubMeshAssignments; + + public IReadOnlyList Primitives => m_Primitives; + + public void Add(int index, MeshPrimitiveBase primitive) + { + if (m_Primitives.Count > 0) + { + for (var bufferIndex = 0; bufferIndex < m_Primitives.Count; bufferIndex++) + { + var existingPrimitive = m_Primitives[bufferIndex]; + if (PrimitiveComparer.HaveEqualVertexBuffers(existingPrimitive, primitive)) + { + if (m_SubMeshAssignments == null) + { + m_SubMeshAssignments = new List(m_Indices.Count + 1); + for (var i = 0; i < m_Indices.Count; ++i) + { + m_SubMeshAssignments.Add(new SubMeshAssignment(m_Primitives[i], i)); + } + } + + m_Indices.Add(index); + m_SubMeshAssignments.Add(new SubMeshAssignment(primitive, bufferIndex)); + return; + } + } + } + + m_SubMeshAssignments?.Add(new SubMeshAssignment(primitive, m_Primitives.Count)); + m_Indices.Add(index); + m_Primitives.Add(primitive); + } + + public bool HasMorphTargets + { + get + { + Assert.IsTrue(m_Primitives.Count > 0); + return m_Primitives[0].targets != null && m_Primitives[0].targets.Length > 0; + } + } + + public void BuildAndDispose(out int[] indices, out SubMeshAssignment[] subMeshAssignments) + { + indices = m_Indices.ToArray(); + subMeshAssignments = m_SubMeshAssignments?.ToArray(); + m_Indices.Clear(); + m_Primitives.Clear(); + m_SubMeshAssignments?.Clear(); + m_SubMeshAssignments = null; + } + + public void BuildAndDispose(out int[] indices, out MeshPrimitiveBase[] primitives, out SubMeshAssignment[] subMeshAssignments) + { + indices = m_Indices.ToArray(); + primitives = m_Primitives.ToArray(); + subMeshAssignments = m_SubMeshAssignments?.ToArray(); + m_Indices.Clear(); + m_Primitives.Clear(); + m_SubMeshAssignments?.Clear(); + m_SubMeshAssignments = null; + } + } + + class PrimitiveSingle : IPrimitiveSet + { + readonly int m_Index; + public MeshPrimitiveBase Primitive { get; } + + public PrimitiveSingle(int index, MeshPrimitiveBase primitive) + { + m_Index = index; + Primitive = primitive; + } + + public bool HasMorphTargets => Primitive.targets != null && Primitive.targets.Length > 0; + + public void BuildAndDispose(out int[] indices, out SubMeshAssignment[] subMeshAssignments) + { + indices = new[] { m_Index }; + subMeshAssignments = null; + } + + public void BuildAndDispose(out int[] indices, out MeshPrimitiveBase[] primitives, out SubMeshAssignment[] subMeshAssignments) + { + indices = new[] { m_Index }; + primitives = new[] { Primitive }; + subMeshAssignments = null; + } + } +} diff --git a/Runtime/Scripts/PrimitiveSet.cs.meta b/Runtime/Scripts/PrimitiveSet.cs.meta new file mode 100644 index 000000000..161864b4d --- /dev/null +++ b/Runtime/Scripts/PrimitiveSet.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 4598a20fef9b43169b6978b2d2a28224 +timeCreated: 1732525863 \ No newline at end of file diff --git a/Runtime/Scripts/PrimitivesComparer.cs b/Runtime/Scripts/PrimitivesComparer.cs new file mode 100644 index 000000000..37b073530 --- /dev/null +++ b/Runtime/Scripts/PrimitivesComparer.cs @@ -0,0 +1,53 @@ +// SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +#if DEBUG + +using System; +using System.Collections.Generic; +using GLTFast.Schema; + +namespace GLTFast +{ + /// + /// This is similar to , except it does not take the indices into account. + /// That's useful to detect meshes that share large vertex buffers, but have different indices, which is + /// inefficient (in Unity) and discouraged. + /// + class PrimitivesComparer : IEqualityComparer> + { + public bool Equals(IReadOnlyList x, IReadOnlyList y) + { + if (ReferenceEquals(x, y)) return true; + if (x is null) return false; + if (y is null) return false; + if (x.Count != y.Count) return false; + for (var index = 0; index < x.Count; index++) + { + if (!PrimitiveComparer.HaveEqualVertexBuffers(x[index], y[index])) + return false; + } + return true; + } + + public int GetHashCode(IReadOnlyList obj) + { +#if NET_STANDARD + var hashCode = new HashCode(); + foreach (var primitive in obj) + { + hashCode.Add(PrimitiveComparer.CalculateHashCode(primitive)); + } + return hashCode.ToHashCode(); +#else + var hash = 17; + foreach (var primitive in obj) + { + hash = hash * 31 + PrimitiveComparer.CalculateHashCode(primitive); + } + return hash; +#endif + } + } +} +#endif diff --git a/Runtime/Scripts/PrimitivesComparer.cs.meta b/Runtime/Scripts/PrimitivesComparer.cs.meta new file mode 100644 index 000000000..84cdaf7a4 --- /dev/null +++ b/Runtime/Scripts/PrimitivesComparer.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 5c07d2a1ca5d0467185fdedf05214211 +timeCreated: 1732308974 \ No newline at end of file diff --git a/Runtime/Scripts/Schema/MeshPrimitive.cs b/Runtime/Scripts/Schema/MeshPrimitive.cs index f6cf6a06e..9b072b3e9 100644 --- a/Runtime/Scripts/Schema/MeshPrimitive.cs +++ b/Runtime/Scripts/Schema/MeshPrimitive.cs @@ -256,6 +256,73 @@ public override int GetHashCode() return base.GetHashCode(); } + /// + /// Calculates the texture coordinate set quantity. + /// + /// Texture coordinate set quantity. + public int GetTexCoordsCount() + { + if (TEXCOORD_0 < 0) return 0; + if (TEXCOORD_1 < 0) return 1; + if (TEXCOORD_2 < 0) return 2; + if (TEXCOORD_3 < 0) return 3; + if (TEXCOORD_4 < 0) return 4; + if (TEXCOORD_5 < 0) return 5; + if (TEXCOORD_6 < 0) return 6; + if (TEXCOORD_7 < 0) return 7; + return TEXCOORD_8 < 0 ? 8 : 9; + } + + /// + /// Tries to consolidate all `TEXCOORD_*` accessor fields into a single array. + /// + /// Resulting array of accessor indices. + /// If true, the glTF has more UV sets than glTFast supports. + /// True if there's one or more UV sets and the result is valid. False otherwise. + public bool TryGetAllUVAccessors(out int[] uvAccessors, out bool limitExceeded) + { + if (TEXCOORD_0 >= 0) + { + var uvCount = GetTexCoordsCount(); + uvAccessors = new int[uvCount]; + uvAccessors[0] = TEXCOORD_0; + if (TEXCOORD_1 >= 0) + { + uvAccessors[1] = TEXCOORD_1; + } + if (TEXCOORD_2 >= 0) + { + uvAccessors[2] = TEXCOORD_2; + } + if (TEXCOORD_3 >= 0) + { + uvAccessors[3] = TEXCOORD_3; + } + if (TEXCOORD_4 >= 0) + { + uvAccessors[4] = TEXCOORD_4; + } + if (TEXCOORD_5 >= 0) + { + uvAccessors[5] = TEXCOORD_5; + } + if (TEXCOORD_6 >= 0) + { + uvAccessors[6] = TEXCOORD_6; + } + if (TEXCOORD_7 >= 0) + { + uvAccessors[7] = TEXCOORD_7; + } + limitExceeded = TEXCOORD_8 >= 0; + return true; + } + + uvAccessors = null; + limitExceeded = false; + return false; + } + internal void GltfSerialize(JsonWriter writer) { writer.AddObject(); diff --git a/Runtime/Scripts/SubMeshAssignment.cs b/Runtime/Scripts/SubMeshAssignment.cs new file mode 100644 index 000000000..bccfe051b --- /dev/null +++ b/Runtime/Scripts/SubMeshAssignment.cs @@ -0,0 +1,26 @@ +// SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +using GLTFast.Schema; + +namespace GLTFast +{ + /// + /// Usually one glTF primitive relates to one Unity sub-mesh. + /// Sometimes the primitives of one mesh share the same vertex buffer accessors. To avoid duplicate import of those + /// vertex buffers this struct reassigns the vertex buffer of one primitive (at VertexBufferIndex) + /// to another (Primitive). + /// + readonly struct SubMeshAssignment + { + public MeshPrimitiveBase Primitive { get; } + public int VertexBufferIndex { get; } + + public SubMeshAssignment(MeshPrimitiveBase primitive, int vertexBufferIndex) + { + Primitive = primitive; + VertexBufferIndex = vertexBufferIndex; + } + } +} diff --git a/Runtime/Scripts/SubMeshAssignment.cs.meta b/Runtime/Scripts/SubMeshAssignment.cs.meta new file mode 100644 index 000000000..182ff2377 --- /dev/null +++ b/Runtime/Scripts/SubMeshAssignment.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 542752c956014a6b8dd2f622a2fb5968 +timeCreated: 1732784521 \ No newline at end of file diff --git a/Runtime/Scripts/VertexBufferBones.cs b/Runtime/Scripts/VertexBufferBones.cs index 6e8c04cc1..fe740b566 100644 --- a/Runtime/Scripts/VertexBufferBones.cs +++ b/Runtime/Scripts/VertexBufferBones.cs @@ -3,6 +3,9 @@ using System; using GLTFast.Jobs; +using GLTFast.Logging; +using GLTFast.Schema; +using GLTFast.Vertex; using Unity.Collections; using Unity.Collections.LowLevel.Unsafe; using Unity.Jobs; @@ -13,54 +16,35 @@ namespace GLTFast { - - using Logging; - using Schema; - using Vertex; - - abstract class VertexBufferBonesBase + sealed class VertexBufferBones : IDisposable { + readonly ICodeLogger m_Logger; - protected ICodeLogger m_Logger; + NativeArray m_Data; - protected VertexBufferBonesBase(ICodeLogger logger) + public VertexBufferBones(int vertexCount, ICodeLogger logger) { m_Logger = logger; + Profiler.BeginSample("AllocateNativeArray"); + m_Data = new NativeArray(vertexCount, VertexBufferGeneratorBase.defaultAllocator); + Profiler.EndSample(); } - public abstract JobHandle? ScheduleVertexBonesJob( - IGltfBuffers buffers, + public unsafe JobHandle? ScheduleVertexBonesJob( int weightsAccessorIndex, - int jointsAccessorIndex - ); - public abstract void AddDescriptors(VertexAttributeDescriptor[] dst, int offset, int stream); - public abstract void ApplyOnMesh(UnityEngine.Mesh msh, int stream, MeshUpdateFlags flags = MeshResultGeneratorBase.defaultMeshUpdateFlags); - public abstract void Dispose(); - } - - class VertexBufferBones : VertexBufferBonesBase - { - NativeArray m_Data; - - public VertexBufferBones(ICodeLogger logger) : base(logger) { } - - public override unsafe JobHandle? ScheduleVertexBonesJob( - IGltfBuffers buffers, - int weightsAccessorIndex, - int jointsAccessorIndex + int jointsAccessorIndex, + int offset, + IGltfBuffers buffers ) { Profiler.BeginSample("ScheduleVertexBonesJob"); - Profiler.BeginSample("AllocateNativeArray"); buffers.GetAccessorAndData(weightsAccessorIndex, out var weightsAcc, out var weightsData, out var weightsByteStride); if (weightsAcc.IsSparse) { m_Logger?.Error(LogCode.SparseAccessor, "bone weights"); } - m_Data = new NativeArray(weightsAcc.count, VertexBufferGeneratorBase.defaultAllocator); - var vDataPtr = (byte*)NativeArrayUnsafeUtility.GetUnsafeReadOnlyPtr(m_Data); - Profiler.EndSample(); + var vDataPtr = (byte*)m_Data.GetUnsafeReadOnlyPtr(); JobHandle weightsHandle; JobHandle jointsHandle; @@ -71,7 +55,7 @@ int jointsAccessorIndex weightsAcc.count, weightsAcc.componentType, weightsByteStride, - (float4*)vDataPtr, + (float4*)(vDataPtr + offset * sizeof(VBones)), 32 ); if (h.HasValue) @@ -96,7 +80,7 @@ int jointsAccessorIndex jointsAcc.count, jointsAcc.componentType, jointsByteStride, - (uint4*)(vDataPtr + 16), + (uint4*)(vDataPtr + offset * sizeof(VBones) + sizeof(float4)), 32, m_Logger ); @@ -146,20 +130,24 @@ int jointsAccessorIndex return jobHandle; } - public override void AddDescriptors(VertexAttributeDescriptor[] dst, int offset, int stream) + public void AddDescriptors(VertexAttributeDescriptor[] dst, int offset, int stream) { dst[offset] = new VertexAttributeDescriptor(VertexAttribute.BlendWeight, VertexAttributeFormat.Float32, 4, stream); dst[offset + 1] = new VertexAttributeDescriptor(VertexAttribute.BlendIndices, VertexAttributeFormat.UInt32, 4, stream); } - public override void ApplyOnMesh(UnityEngine.Mesh msh, int stream, MeshUpdateFlags flags = MeshResultGeneratorBase.defaultMeshUpdateFlags) + public void ApplyOnMesh( + UnityEngine.Mesh msh, + int stream, + MeshUpdateFlags flags = MeshGeneratorBase.defaultMeshUpdateFlags + ) { Profiler.BeginSample("ApplyBones"); msh.SetVertexBufferData(m_Data, 0, 0, m_Data.Length, stream, flags); Profiler.EndSample(); } - public override void Dispose() + public void Dispose() { if (m_Data.IsCreated) { diff --git a/Runtime/Scripts/VertexBufferColors.cs b/Runtime/Scripts/VertexBufferColors.cs index cc44f7a19..1a893d233 100644 --- a/Runtime/Scripts/VertexBufferColors.cs +++ b/Runtime/Scripts/VertexBufferColors.cs @@ -1,6 +1,7 @@ // SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 +using System; using Unity.Collections; using Unity.Collections.LowLevel.Unsafe; using Unity.Jobs; @@ -11,53 +12,43 @@ namespace GLTFast { - using Logging; using Schema; - abstract class VertexBufferColorsBase - { - public abstract bool ScheduleVertexColorJob(IGltfBuffers buffers, int colorAccessorIndex, NativeSlice handles); - public abstract void AddDescriptors(VertexAttributeDescriptor[] dst, int offset, int stream); - public abstract void ApplyOnMesh(UnityEngine.Mesh msh, int stream, MeshUpdateFlags flags = MeshResultGeneratorBase.defaultMeshUpdateFlags); - public abstract void Dispose(); - - protected ICodeLogger m_Logger; - - protected VertexBufferColorsBase(ICodeLogger logger) - { - m_Logger = logger; - } - } - - class VertexBufferColors : VertexBufferColorsBase + sealed class VertexBufferColors : IDisposable { + readonly ICodeLogger m_Logger; NativeArray m_Data; - public VertexBufferColors(ICodeLogger logger = null) - : base(logger) + public VertexBufferColors(int vertexCount, ICodeLogger logger) { + m_Logger = logger; + Profiler.BeginSample("VertexBufferColors.Allocate"); + m_Data = new NativeArray(vertexCount, VertexBufferGeneratorBase.defaultAllocator); + Profiler.EndSample(); } - public override unsafe bool ScheduleVertexColorJob(IGltfBuffers buffers, int colorAccessorIndex, NativeSlice handles) + public unsafe bool ScheduleVertexColorJob( + int colorAccessorIndex, + int offset, + NativeSlice handles, + IGltfBuffers buffers + ) { - Profiler.BeginSample("ScheduleVertexColorJob"); - Profiler.BeginSample("AllocateNativeArray"); + Profiler.BeginSample("VertexBufferColors.Schedule"); buffers.GetAccessorAndData(colorAccessorIndex, out var colorAcc, out var data, out var byteStride); if (colorAcc.IsSparse) { m_Logger?.Error(LogCode.SparseAccessor, "color"); } - m_Data = new NativeArray(colorAcc.count, VertexBufferGeneratorBase.defaultAllocator); - Profiler.EndSample(); var h = GetColors32Job( data, colorAcc.componentType, colorAcc.GetAttributeType(), byteStride, - m_Data + m_Data.Slice(offset, colorAcc.count) ); if (h.HasValue) { @@ -72,19 +63,23 @@ public override unsafe bool ScheduleVertexColorJob(IGltfBuffers buffers, int col return true; } - public override void AddDescriptors(VertexAttributeDescriptor[] dst, int offset, int stream) + public void AddDescriptors(VertexAttributeDescriptor[] dst, int offset, int stream) { dst[offset] = new VertexAttributeDescriptor(VertexAttribute.Color, VertexAttributeFormat.Float32, 4, stream); } - public override void ApplyOnMesh(UnityEngine.Mesh msh, int stream, MeshUpdateFlags flags = MeshResultGeneratorBase.defaultMeshUpdateFlags) + public void ApplyOnMesh( + UnityEngine.Mesh msh, + int stream, + MeshUpdateFlags flags = MeshGeneratorBase.defaultMeshUpdateFlags + ) { Profiler.BeginSample("ApplyUVs"); msh.SetVertexBufferData(m_Data, 0, 0, m_Data.Length, stream, flags); Profiler.EndSample(); } - public override void Dispose() + public void Dispose() { if (m_Data.IsCreated) { @@ -97,7 +92,7 @@ public override void Dispose() GltfComponentType inputType, GltfAccessorAttributeType attributeType, int inputByteStride, - NativeArray output + NativeSlice output ) { Profiler.BeginSample("PrepareColors32"); @@ -133,7 +128,7 @@ NativeArray output { var job = new Jobs.ConvertColorsRgbUInt16ToRGBAFloatJob { - input = (System.UInt16*)input, + input = (ushort*)input, inputByteStride = inputByteStride > 0 ? inputByteStride : 6, result = output }; @@ -188,7 +183,7 @@ NativeArray output { var job = new Jobs.ConvertColorsRgbaUInt16ToRGBAFloatJob { - input = (System.UInt16*)input, + input = (ushort*)input, inputByteStride = inputByteStride > 0 ? inputByteStride : 8, result = (float4*)output.GetUnsafePtr() }; diff --git a/Runtime/Scripts/VertexBufferDescriptor.cs b/Runtime/Scripts/VertexBufferDescriptor.cs new file mode 100644 index 000000000..ed4e58a1d --- /dev/null +++ b/Runtime/Scripts/VertexBufferDescriptor.cs @@ -0,0 +1,93 @@ +// SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +#nullable enable +using System; +using GLTFast.Schema; + +namespace GLTFast +{ + readonly struct VertexBufferDescriptor : IEquatable + { + readonly bool m_HasNormals; + readonly bool m_HasTangents; + + readonly int m_TexCoordCount; + readonly bool m_HasColors; + + readonly bool m_HasBones; + readonly int m_MorphTargetCount; + + VertexBufferDescriptor( + bool hasNormals, + bool hasTangents, + int texCoordCount, + bool hasColors, + bool hasBones, + int morphTargetCount + ) + { + m_HasNormals = hasNormals; + m_HasTangents = hasTangents; + m_TexCoordCount = texCoordCount; + m_HasColors = hasColors; + m_HasBones = hasBones; + m_MorphTargetCount = morphTargetCount; + } + + public static VertexBufferDescriptor FromPrimitive(MeshPrimitiveBase primitive) + { + return new VertexBufferDescriptor( + primitive.attributes.NORMAL >= 0, + primitive.attributes.TANGENT >= 0, + primitive.attributes.GetTexCoordsCount(), + primitive.attributes.COLOR_0 >= 0, + primitive.attributes.WEIGHTS_0 >= 0 && primitive.attributes.JOINTS_0 >= 0, + primitive.targets?.Length ?? 0 + ); + } + + public override int GetHashCode() + { +#if NET_STANDARD + return HashCode.Combine( + m_HasNormals, + m_HasTangents, + m_TexCoordCount, + m_HasColors, + m_HasBones, + m_MorphTargetCount + ); +#else + var hash = 13; + if (m_HasNormals) + hash = hash * 31 + 13; + if (m_HasTangents) + hash = hash * 31 + 14; + hash = hash * 31 + m_TexCoordCount; + if (m_HasColors) + hash = hash * 31 + 15; + if (m_HasBones) + hash = hash * 31 + 16; + hash = hash * 31 + m_MorphTargetCount; + return hash; +#endif + } + + public override bool Equals(object? obj) => obj is VertexBufferDescriptor other && Equals(other); + + public bool Equals(VertexBufferDescriptor other) + { + return m_HasNormals == other.m_HasNormals + && m_HasTangents == other.m_HasTangents + && m_TexCoordCount == other.m_TexCoordCount + && m_HasColors == other.m_HasColors + && m_HasBones == other.m_HasBones + && m_MorphTargetCount == other.m_MorphTargetCount; + } + + public static bool operator ==(VertexBufferDescriptor lhs, VertexBufferDescriptor rhs) => lhs.Equals(rhs); + + public static bool operator !=(VertexBufferDescriptor lhs, VertexBufferDescriptor rhs) => !(lhs == rhs); + } +} diff --git a/Runtime/Scripts/VertexBufferDescriptor.cs.meta b/Runtime/Scripts/VertexBufferDescriptor.cs.meta new file mode 100644 index 000000000..7d332a94d --- /dev/null +++ b/Runtime/Scripts/VertexBufferDescriptor.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 4ac1953233a64ada8a6d04633cf18a55 +timeCreated: 1732104040 \ No newline at end of file diff --git a/Runtime/Scripts/VertexBufferGenerator.cs b/Runtime/Scripts/VertexBufferGenerator.cs index 5fafa4b74..379dc71f4 100644 --- a/Runtime/Scripts/VertexBufferGenerator.cs +++ b/Runtime/Scripts/VertexBufferGenerator.cs @@ -2,6 +2,9 @@ // SPDX-License-Identifier: Apache-2.0 using System; +using System.Runtime.InteropServices; +using GLTFast.Logging; +using GLTFast.Schema; using GLTFast.Vertex; using Unity.Collections; using Unity.Collections.LowLevel.Unsafe; @@ -11,14 +14,10 @@ using UnityEngine.Assertions; using UnityEngine.Profiling; using UnityEngine.Rendering; +using Mesh = UnityEngine.Mesh; namespace GLTFast { -#if BURST - using Unity.Mathematics; -#endif - using Logging; - class VertexBufferGenerator : VertexBufferGeneratorBase where TMainBuffer : struct @@ -34,283 +33,359 @@ class VertexBufferGenerator : VertexBufferColors m_Colors; VertexBufferBones m_Bones; - public override int VertexCount + AccessorBase[] m_PositionAccessors; + + public override int VertexCount => VertexIntervals != null ? VertexIntervals[VertexIntervals.Length - 1] : 0; + + public override int[] VertexIntervals { get; protected set; } + + public override void GetVertexRange(int subMesh, out int baseVertex, out int vertexCount) { - get + Assert.IsNotNull(VertexIntervals); + Assert.IsTrue(subMesh >= 0); + Assert.IsTrue(subMesh < VertexIntervals.Length); + + baseVertex = VertexIntervals[subMesh]; + vertexCount = VertexIntervals[subMesh + 1] - baseVertex; + } + + public override bool TryGetBounds(int subMesh, out Bounds bounds) + { + Assert.IsNotNull(m_PositionAccessors); + var boundsOpt = m_PositionAccessors[subMesh].TryGetBounds(); + if (boundsOpt.HasValue) { - if (m_Data.IsCreated) - { - return m_Data.Length; - } - return 0; + bounds = boundsOpt.Value; + return true; } + bounds = default; + return false; } - public VertexBufferGenerator(ICodeLogger logger) : base(logger) { } - - public override unsafe JobHandle? ScheduleVertexJobs( - IGltfBuffers buffers, - int positionAccessorIndex, - int normalAccessorIndex, - int tangentAccessorIndex, - int[] uvAccessorIndices, - int colorAccessorIndex, - int weightsAccessorIndex, - int jointsAccessorIndex - ) + public VertexBufferGenerator(int primitiveCount, GltfImportBase gltfImport) + : base(primitiveCount, gltfImport) + { } + + public override void AddPrimitive(Attributes att) { - buffers.GetAccessorAndData(positionAccessorIndex, out var posAcc, out var posData, out var posByteStride); + m_Attributes[m_AttributeCount++] = att; + } - Profiler.BeginSample("ScheduleVertexJobs"); + public override void Initialize() + { + Assert.AreEqual(m_Attributes.Length, m_AttributeCount); + var vertexCount = 0; + m_PositionAccessors = new AccessorBase[m_Attributes.Length]; + VertexIntervals = new int[m_Attributes.Length + 1]; + for (var i = 0; i < m_Attributes.Length; i++) + { + VertexIntervals[i] = vertexCount; + m_PositionAccessors[i] = ((IGltfBuffers)m_GltfImport).GetAccessor(m_Attributes[i].POSITION); + vertexCount += m_PositionAccessors[i].count; + } + VertexIntervals[m_Attributes.Length] = vertexCount; + } + + public override unsafe JobHandle? CreateVertexBuffer() + { Profiler.BeginSample("AllocateNativeArray"); - m_Data = new NativeArray(posAcc.count, defaultAllocator); + m_Data = new NativeArray(VertexCount, defaultAllocator); var vDataPtr = (byte*)m_Data.GetUnsafeReadOnlyPtr(); Profiler.EndSample(); - Bounds = posAcc.TryGetBounds(); + var jobCount = 0; - int jobCount = 1; - int outputByteStride = 12; // sizeof Vector3 - if (posAcc.IsSparse && posAcc.bufferView >= 0) - { - jobCount++; - } - if (normalAccessorIndex >= 0) - { - jobCount++; - m_HasNormals = true; - } - m_HasNormals |= calculateNormals; - if (m_HasNormals) - { - outputByteStride += 12; - } + var firstAttributes = m_Attributes[0]; - if (tangentAccessorIndex >= 0) + var uvSetCount = firstAttributes.GetTexCoordsCount(); + if (uvSetCount > 0) { - jobCount++; - m_HasTangents = true; - } - m_HasTangents |= calculateTangents; - if (m_HasTangents) - { - outputByteStride += 16; - } - - if (uvAccessorIndices != null && uvAccessorIndices.Length > 0) - { - - // More than two UV sets are not supported yet - Assert.IsTrue(uvAccessorIndices.Length < 9); - - jobCount += uvAccessorIndices.Length; - switch (uvAccessorIndices.Length) + if (uvSetCount > 8) { - case 1: - m_TexCoords = new VertexBufferTexCoords(m_Logger); - break; - case 2: - m_TexCoords = new VertexBufferTexCoords(m_Logger); - break; - case 3: - m_TexCoords = new VertexBufferTexCoords(m_Logger); - break; - case 4: - m_TexCoords = new VertexBufferTexCoords(m_Logger); - break; - case 5: - m_TexCoords = new VertexBufferTexCoords(m_Logger); - break; - case 6: - m_TexCoords = new VertexBufferTexCoords(m_Logger); - break; - case 7: - m_TexCoords = new VertexBufferTexCoords(m_Logger); - break; - default: - m_TexCoords = new VertexBufferTexCoords(m_Logger); - break; + // More than eight UV sets are not supported yet + m_GltfImport.Logger?.Warning(LogCode.UVLimit); } + + jobCount += uvSetCount * m_Attributes.Length; + m_TexCoords = uvSetCount switch + { + 1 => new VertexBufferTexCoords(uvSetCount, VertexCount, m_GltfImport.Logger), + 2 => new VertexBufferTexCoords(uvSetCount, VertexCount, m_GltfImport.Logger), + 3 => new VertexBufferTexCoords(uvSetCount, VertexCount, m_GltfImport.Logger), + 4 => new VertexBufferTexCoords(uvSetCount, VertexCount, m_GltfImport.Logger), + 5 => new VertexBufferTexCoords(uvSetCount, VertexCount, m_GltfImport.Logger), + 6 => new VertexBufferTexCoords(uvSetCount, VertexCount, m_GltfImport.Logger), + 7 => new VertexBufferTexCoords(uvSetCount, VertexCount, m_GltfImport.Logger), + _ => new VertexBufferTexCoords(uvSetCount, VertexCount, m_GltfImport.Logger) + }; } - m_HasColors = colorAccessorIndex >= 0; + m_HasColors = firstAttributes.COLOR_0 >= 0; if (m_HasColors) { - jobCount++; - m_Colors = new VertexBufferColors(); + jobCount += m_Attributes.Length; + m_Colors = new VertexBufferColors(VertexCount, m_GltfImport.Logger); } - m_HasBones = weightsAccessorIndex >= 0 && jointsAccessorIndex >= 0; + m_HasBones = firstAttributes.WEIGHTS_0 >= 0 && firstAttributes.JOINTS_0 >= 0; if (m_HasBones) { - jobCount++; - m_Bones = new VertexBufferBones(m_Logger); + jobCount += m_Attributes.Length; + m_Bones = new VertexBufferBones(VertexCount, m_GltfImport.Logger); } - NativeArray handles = new NativeArray(jobCount, defaultAllocator); - int handleIndex = 0; - + for (var i = 0; i < m_Attributes.Length; i++) { - JobHandle? h = null; - if (posAcc.bufferView >= 0) + jobCount += 1; // Positions + + var att = m_Attributes[i]; + + if (m_PositionAccessors[i].IsSparse && m_PositionAccessors[i].bufferView >= 0) + jobCount++; + + if (att.NORMAL >= 0) { - h = GetVector3Job( - posData, - posAcc.count, - posAcc.componentType, - posByteStride, - (float3*)vDataPtr, - outputByteStride, - posAcc.normalized, - false // positional data never needs to be normalized - ); + jobCount++; + m_HasNormals = true; } - if (posAcc.IsSparse) + + m_HasNormals |= calculateNormals; + + if (att.TANGENT >= 0) { - buffers.GetAccessorSparseIndices(posAcc.Sparse.Indices, out var posIndexData); - buffers.GetAccessorSparseValues(posAcc.Sparse.Values, out var posValueData); - var sparseJobHandle = GetVector3SparseJob( - posIndexData, - posValueData, - posAcc.Sparse.count, - posAcc.Sparse.Indices.componentType, - posAcc.componentType, - (float3*)vDataPtr, - outputByteStride, - dependsOn: ref h, - posAcc.normalized - ); - if (sparseJobHandle.HasValue) - { - handles[handleIndex] = sparseJobHandle.Value; - handleIndex++; - } - else - { - Profiler.EndSample(); - return null; - } + jobCount++; + m_HasTangents = true; } - if (h.HasValue) + + m_HasTangents |= calculateTangents; + } + + var handles = new NativeArray(jobCount, defaultAllocator); + var handleIndex = 0; + var outputByteStride = Marshal.SizeOf(typeof(TMainBuffer)); + + for (var i = 0; i < m_Attributes.Length; i++) + { + var att = m_Attributes[i]; + if (!SchedulePositionsJobs(i, vDataPtr, outputByteStride, handles, ref handleIndex)) + return null; + + if (att.NORMAL >= 0 + && !ScheduleNormalsJobs(att, vDataPtr, outputByteStride, i, handles, ref handleIndex) + ) + return null; + + if (att.TANGENT >= 0 + && !ScheduleTangentsJobs(att, vDataPtr, outputByteStride, i, handles, ref handleIndex) + ) + return null; + + if (m_TexCoords != null) { - handles[handleIndex] = h.Value; - handleIndex++; + handleIndex = ScheduleTexCoordJobs(att, uvSetCount, i, handles, handleIndex); } - else - { - Profiler.EndSample(); + + if (m_HasColors && !ScheduleColorsJobs(att, i, handles, ref handleIndex)) + return null; + + if (m_HasBones && !ScheduleVertexBonesJobs(att, i, handles, handleIndex)) return null; - } } + var handle = jobCount > 1 ? JobHandle.CombineDependencies(handles) : handles[0]; + handles.Dispose(); + return handle; + } + + unsafe bool SchedulePositionsJobs(int i, byte* vDataPtr, int outputByteStride, NativeArray handles, ref int handleIndex) + { + JobHandle? h = null; - if (normalAccessorIndex >= 0) + if (m_PositionAccessors[i].bufferView >= 0) { - buffers.GetAccessorAndData(normalAccessorIndex, out var nrmAcc, out var input, out var inputByteStride); - if (nrmAcc.IsSparse) - { - m_Logger?.Error(LogCode.SparseAccessor, "normals"); - } - var h = GetVector3Job( - input, - nrmAcc.count, - nrmAcc.componentType, - inputByteStride, - (float3*)(vDataPtr + 12), + ((IGltfBuffers)m_GltfImport).GetAccessorDataAndByteStride( + m_Attributes[i].POSITION, + out var posData, + out var posByteStride + ); + h = GetVector3Job( + posData.GetUnsafeReadOnlyPtr(), + m_PositionAccessors[i].count, + m_PositionAccessors[i].componentType, + posByteStride, + (float3*)(vDataPtr + outputByteStride * VertexIntervals[i]), outputByteStride, - nrmAcc.normalized - //, normals need to be unit length + m_PositionAccessors[i].normalized, + false // positional data never needs to be normalized ); - if (h.HasValue) - { - handles[handleIndex] = h.Value; - handleIndex++; - } - else - { - Profiler.EndSample(); - return null; - } } - if (tangentAccessorIndex >= 0) + if (m_PositionAccessors[i].IsSparse) { - buffers.GetAccessorAndData(tangentAccessorIndex, out var tanAcc, out var input, out var inputByteStride); - if (tanAcc.IsSparse) - { - m_Logger?.Error(LogCode.SparseAccessor, "tangents"); - } - var h = GetTangentsJob( - input, - tanAcc.count, - tanAcc.componentType, - inputByteStride, - (float4*)(vDataPtr + 24), + m_GltfImport.GetAccessorSparseIndices(m_PositionAccessors[i].Sparse.Indices, out var posIndexData); + m_GltfImport.GetAccessorSparseValues(m_PositionAccessors[i].Sparse.Values, out var posValueData); + var sparseJobHandle = GetVector3SparseJob( + posIndexData, + posValueData, + m_PositionAccessors[i].Sparse.count, + m_PositionAccessors[i].Sparse.Indices.componentType, + m_PositionAccessors[i].componentType, + (float3*)(vDataPtr + outputByteStride * VertexIntervals[i]), outputByteStride, - tanAcc.normalized + dependsOn: ref h, + m_PositionAccessors[i].normalized ); - if (h.HasValue) + if (sparseJobHandle.HasValue) { - handles[handleIndex] = h.Value; + handles[handleIndex] = sparseJobHandle.Value; handleIndex++; } else { Profiler.EndSample(); - return null; + return false; } } - if (m_TexCoords != null) + if (h.HasValue) + { + handles[handleIndex] = h.Value; + handleIndex++; + } + else { - m_TexCoords.ScheduleVertexUVJobs( - buffers, - uvAccessorIndices, - posAcc.count, - new NativeSlice( - handles, - handleIndex, - uvAccessorIndices.Length - ) - ); - handleIndex += uvAccessorIndices.Length; + Profiler.EndSample(); + return false; } - if (m_HasColors) + return true; + } + + unsafe bool ScheduleNormalsJobs(Attributes att, byte* vDataPtr, int outputByteStride, int i, NativeArray handles, ref int handleIndex) + { + ((IGltfBuffers)m_GltfImport).GetAccessorAndData( + att.NORMAL, + out var nrmAcc, + out var input, + out var inputByteStride + ); + if (nrmAcc.IsSparse) { - m_Colors.ScheduleVertexColorJob( - buffers, - colorAccessorIndex, - new NativeSlice( - handles, - handleIndex, - 1 - ) - ); + m_GltfImport.Logger?.Error(LogCode.SparseAccessor, "normals"); + } + + var h = GetVector3Job( + input, + nrmAcc.count, + nrmAcc.componentType, + inputByteStride, + (float3*)(vDataPtr + outputByteStride * VertexIntervals[i] + 12), + outputByteStride, + nrmAcc.normalized + + //, normals need to be unit length + ); + if (h.HasValue) + { + handles[handleIndex] = h.Value; handleIndex++; } + else + { + Profiler.EndSample(); + return false; + } - if (m_HasBones) + return true; + } + + unsafe bool ScheduleTangentsJobs(Attributes att, byte* vDataPtr, int outputByteStride, int i, NativeArray handles, ref int handleIndex) + { + ((IGltfBuffers)m_GltfImport).GetAccessorAndData( + att.TANGENT, + out var tanAcc, + out var input, + out var inputByteStride + ); + if (tanAcc.IsSparse) { - var h = m_Bones.ScheduleVertexBonesJob( - buffers, - weightsAccessorIndex, - jointsAccessorIndex - ); - if (h.HasValue) - { - handles[handleIndex] = h.Value; - } - else - { - Profiler.EndSample(); - return null; - } + m_GltfImport.Logger?.Error(LogCode.SparseAccessor, "tangents"); } - var handle = (jobCount > 1) ? JobHandle.CombineDependencies(handles) : handles[0]; - handles.Dispose(); - Profiler.EndSample(); - return handle; + var h = GetTangentsJob( + input, + tanAcc.count, + tanAcc.componentType, + inputByteStride, + (float4*)(vDataPtr + outputByteStride * VertexIntervals[i] + 24), + outputByteStride, + tanAcc.normalized + ); + if (h.HasValue) + { + handles[handleIndex] = h.Value; + handleIndex++; + } + else + { + Profiler.EndSample(); + return false; + } + + return true; + } + + int ScheduleTexCoordJobs(Attributes att, int uvSetCount, int i, NativeArray handles, int handleIndex) + { + var uvSuccess = att.TryGetAllUVAccessors(out var uvAccessors, out _); + Assert.IsTrue(uvSuccess); + Assert.AreEqual(uvSetCount, uvAccessors.Length); + + m_TexCoords.ScheduleVertexUVJobs( + VertexIntervals[i], + uvAccessors, + handles.Slice(handleIndex, uvAccessors.Length), + m_GltfImport + ); + handleIndex += uvAccessors.Length; + return handleIndex; + } + + bool ScheduleColorsJobs(Attributes att, int i, NativeArray handles, ref int handleIndex) + { + var success = m_Colors.ScheduleVertexColorJob( + att.COLOR_0, + VertexIntervals[i], + handles.Slice(handleIndex, 1), + m_GltfImport + ); + if (!success) + { + Profiler.EndSample(); + return false; + } + handleIndex++; + return true; + } + + bool ScheduleVertexBonesJobs(Attributes att, int i, NativeArray handles, int handleIndex) + { + var h = m_Bones.ScheduleVertexBonesJob( + att.WEIGHTS_0, + att.JOINTS_0, + VertexIntervals[i], + m_GltfImport + ); + if (h.HasValue) + { + handles[handleIndex] = h.Value; + } + else + { + Profiler.EndSample(); + return false; + } + + return true; } void CreateDescriptors() @@ -359,7 +434,7 @@ void CreateDescriptors() } } - public override void ApplyOnMesh(Mesh msh, MeshUpdateFlags flags = MeshResultGeneratorBase.defaultMeshUpdateFlags) + public override void ApplyOnMesh(Mesh msh, MeshUpdateFlags flags = MeshGeneratorBase.defaultMeshUpdateFlags) { Profiler.BeginSample("ApplyOnMesh"); @@ -399,26 +474,18 @@ public override void ApplyOnMesh(Mesh msh, MeshUpdateFlags flags = MeshResultGen Profiler.EndSample(); } - public override void Dispose() + protected override void Dispose(bool disposing) { if (m_Data.IsCreated) { m_Data.Dispose(); } - if (m_Colors != null) - { - m_Colors.Dispose(); - } - - if (m_TexCoords != null) - { - m_TexCoords.Dispose(); - } - - if (m_Bones != null) + if (disposing) { - m_Bones.Dispose(); + m_Colors?.Dispose(); + m_TexCoords?.Dispose(); + m_Bones?.Dispose(); } } } diff --git a/Runtime/Scripts/VertexBufferGeneratorBase.cs b/Runtime/Scripts/VertexBufferGeneratorBase.cs index 6920f6621..8823f60c4 100644 --- a/Runtime/Scripts/VertexBufferGeneratorBase.cs +++ b/Runtime/Scripts/VertexBufferGeneratorBase.cs @@ -1,6 +1,7 @@ // SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 +using System; using Unity.Collections; using Unity.Jobs; using Unity.Mathematics; @@ -11,44 +12,47 @@ namespace GLTFast { -#if BURST - using Unity.Mathematics; -#endif using Jobs; using Logging; using Schema; - abstract class VertexBufferGeneratorBase + abstract class VertexBufferGeneratorBase : IDisposable { public const Allocator defaultAllocator = Allocator.Persistent; + protected Attributes[] m_Attributes; + protected int m_AttributeCount; + public bool calculateNormals = false; public bool calculateTangents = false; protected VertexAttributeDescriptor[] m_Descriptors; - protected ICodeLogger m_Logger; - - public Bounds? Bounds { get; protected set; } + protected GltfImportBase m_GltfImport; - protected VertexBufferGeneratorBase(ICodeLogger logger) + protected VertexBufferGeneratorBase(int primitiveCount, GltfImportBase gltfImport) { - m_Logger = logger; + m_Attributes = new Attributes[primitiveCount]; + m_GltfImport = gltfImport; } - public abstract JobHandle? ScheduleVertexJobs( - IGltfBuffers buffers, - int positionAccessorIndex, - int normalAccessorIndex, - int tangentAccessorIndex, - int[] uvAccessorIndices, - int colorAccessorIndex, - int weightsAccessorIndex, - int jointsAccessorIndex - ); - public abstract void ApplyOnMesh(UnityEngine.Mesh msh, MeshUpdateFlags flags = MeshResultGeneratorBase.defaultMeshUpdateFlags); + public abstract void AddPrimitive(Attributes att); + public abstract void Initialize(); + public abstract JobHandle? CreateVertexBuffer(); + + public abstract void ApplyOnMesh(UnityEngine.Mesh msh, MeshUpdateFlags flags = MeshGeneratorBase.defaultMeshUpdateFlags); public abstract int VertexCount { get; } - public abstract void Dispose(); + public abstract int[] VertexIntervals { get; protected set; } + public abstract void GetVertexRange(int subMesh, out int baseVertex, out int vertexCount); + public abstract bool TryGetBounds(int subMesh, out Bounds bounds); + + public void Dispose() + { + Dispose(true); + GC.SuppressFinalize(this); + } + + protected abstract void Dispose(bool disposing); /// /// Schedules a job that converts input data into float3 arrays. @@ -284,7 +288,7 @@ int jointsAccessorIndex break; } default: - m_Logger?.Error(LogCode.TypeUnsupported, "Tangent", inputType.ToString()); + m_GltfImport.Logger?.Error(LogCode.TypeUnsupported, "Tangent", inputType.ToString()); jobHandle = null; break; } @@ -310,7 +314,7 @@ int jointsAccessorIndex { indexBuffer = (ushort*)indexBuffer, indexConverter = CachedFunction.GetIndexConverter(indexType), - inputByteStride = 3 * Accessor.GetComponentTypeSize(valueType), + inputByteStride = 3 * AccessorBase.GetComponentTypeSize(valueType), input = valueBuffer, valueConverter = CachedFunction.GetPositionConverter(valueType, normalized), outputByteStride = outputByteStride, diff --git a/Runtime/Scripts/VertexBufferTexCoords.cs b/Runtime/Scripts/VertexBufferTexCoords.cs index 94c49b845..bbe03b32a 100644 --- a/Runtime/Scripts/VertexBufferTexCoords.cs +++ b/Runtime/Scripts/VertexBufferTexCoords.cs @@ -1,6 +1,7 @@ // SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 +using System; using Unity.Collections; using Unity.Collections.LowLevel.Unsafe; using Unity.Jobs; @@ -15,7 +16,7 @@ namespace GLTFast using Logging; using Schema; - abstract class VertexBufferTexCoordsBase + abstract class VertexBufferTexCoordsBase : IDisposable { protected ICodeLogger m_Logger; @@ -26,31 +27,59 @@ protected VertexBufferTexCoordsBase(ICodeLogger logger) } public int UVSetCount { get; protected set; } - public abstract bool ScheduleVertexUVJobs(IGltfBuffers buffers, int[] uvAccessorIndices, int vertexCount, NativeSlice handles); + public abstract bool ScheduleVertexUVJobs( + int offset, + int[] uvAccessorIndices, + NativeSlice handles, + IGltfBuffers buffers + ); public abstract void AddDescriptors(VertexAttributeDescriptor[] dst, ref int offset, int stream); - public abstract void ApplyOnMesh(UnityEngine.Mesh msh, int stream, MeshUpdateFlags flags = MeshResultGeneratorBase.defaultMeshUpdateFlags); - public abstract void Dispose(); + public abstract void ApplyOnMesh( + UnityEngine.Mesh msh, + int stream, + MeshUpdateFlags flags = MeshGeneratorBase.defaultMeshUpdateFlags + ); + + public void Dispose() + { + Dispose(true); + GC.SuppressFinalize(this); + } + + protected abstract void Dispose(bool disposing); } class VertexBufferTexCoords : VertexBufferTexCoordsBase where T : struct { NativeArray m_Data; - public VertexBufferTexCoords(ICodeLogger logger) : base(logger) { } + public VertexBufferTexCoords(int uvSetCount, int vertexCount, ICodeLogger logger) + : base(logger) + { + UVSetCount = uvSetCount; + m_Data = new NativeArray( + vertexCount, + VertexBufferGeneratorBase.defaultAllocator + ); + } - public override unsafe bool ScheduleVertexUVJobs(IGltfBuffers buffers, int[] uvAccessorIndices, int vertexCount, NativeSlice handles) + public override unsafe bool ScheduleVertexUVJobs( + int offset, + int[] uvAccessorIndices, + NativeSlice handles, + IGltfBuffers buffers + ) { Profiler.BeginSample("ScheduleVertexUVJobs"); Profiler.BeginSample("AllocateNativeArray"); - m_Data = new NativeArray(vertexCount, VertexBufferGeneratorBase.defaultAllocator); - var vDataPtr = (byte*)NativeArrayUnsafeUtility.GetUnsafeReadOnlyPtr(m_Data); + + var vDataPtr = (byte*)m_Data.GetUnsafeReadOnlyPtr(); Profiler.EndSample(); - UVSetCount = uvAccessorIndices.Length; - int outputByteStride = uvAccessorIndices.Length * 8; + var outputByteStride = UVSetCount * sizeof(float2); - for (int i = 0; i < uvAccessorIndices.Length; i++) + for (var uvSet = 0; uvSet < UVSetCount; uvSet++) { - var accIndex = uvAccessorIndices[i]; + var accIndex = uvAccessorIndices[uvSet]; buffers.GetAccessorAndData(accIndex, out var uvAcc, out var data, out var byteStride); if (uvAcc.IsSparse) { @@ -63,13 +92,13 @@ public override unsafe bool ScheduleVertexUVJobs(IGltfBuffers buffers, int[] uvA uvAcc.count, uvAcc.componentType, byteStride, - (float2*)(vDataPtr + (i * 8)), + (float2*)(vDataPtr + outputByteStride * offset + uvSet * sizeof(float2)), outputByteStride, uvAcc.normalized ); if (h.HasValue) { - handles[i] = h.Value; + handles[uvSet] = h.Value; } else { @@ -91,14 +120,18 @@ public override void AddDescriptors(VertexAttributeDescriptor[] dst, ref int off } } - public override void ApplyOnMesh(UnityEngine.Mesh msh, int stream, MeshUpdateFlags flags = MeshResultGeneratorBase.defaultMeshUpdateFlags) + public override void ApplyOnMesh( + UnityEngine.Mesh msh, + int stream, + MeshUpdateFlags flags = MeshGeneratorBase.defaultMeshUpdateFlags + ) { Profiler.BeginSample("ApplyUVs"); msh.SetVertexBufferData(m_Data, 0, 0, m_Data.Length, stream, flags); Profiler.EndSample(); } - public override void Dispose() + protected override void Dispose(bool disposing) { if (m_Data.IsCreated) { @@ -125,7 +158,7 @@ public override void Dispose() { var jobUv = new Jobs.ConvertUVsFloatToFloatInterleavedJob { - inputByteStride = (inputByteStride > 0) ? inputByteStride : 8, + inputByteStride = (inputByteStride > 0) ? inputByteStride : sizeof(float2), input = (byte*)input, outputByteStride = outputByteStride, result = output @@ -187,7 +220,7 @@ public override void Dispose() var job = new Jobs.ConvertUVsInt16ToFloatInterleavedNormalizedJob { inputByteStride = inputByteStride > 0 ? inputByteStride : 4, - input = (System.Int16*)input, + input = (short*)input, outputByteStride = outputByteStride, result = output }; @@ -198,7 +231,7 @@ public override void Dispose() var job = new Jobs.ConvertUVsInt16ToFloatInterleavedJob { inputByteStride = inputByteStride > 0 ? inputByteStride : 4, - input = (System.Int16*)input, + input = (short*)input, outputByteStride = outputByteStride, result = output }; diff --git a/package.json b/package.json index f0750085a..1a97634e5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "com.atteneder.gltfast", - "version": "6.9.1", + "version": "6.10.0", "displayName": "glTFast", "description": "Use glTFast to import and export glTF 3D files efficiently at runtime or in the Editor", "unity": "2020.3", From 55a910587027e01c42f3d061316604accb3acb85 Mon Sep 17 00:00:00 2001 From: Andreas Atteneder Date: Thu, 30 Jan 2025 12:59:52 +0100 Subject: [PATCH 06/27] com.atteneder.gltfast Release 6.10.1 --- CHANGELOG.md | 27 ++ Documentation~/ProjectSetup.md | 15 +- Documentation~/config.json | 2 +- Runtime/Scripts/Export/Constants.cs | 2 +- Runtime/Scripts/Jobs.cs | 472 ++++++++++++++++++- Runtime/Scripts/MeshGenerator.cs | 41 +- Runtime/Scripts/UvTransform.cs | 4 + Runtime/Scripts/VertexBufferBones.cs | 26 +- Runtime/Scripts/VertexBufferColors.cs | 20 +- Runtime/Scripts/VertexBufferGenerator.cs | 1 + Runtime/Scripts/VertexBufferGeneratorBase.cs | 86 +++- Runtime/Scripts/VertexBufferTexCoords.cs | 46 +- Runtime/Scripts/glTFast.asmdef | 11 + package.json | 6 +- 14 files changed, 675 insertions(+), 84 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d2867bf24..d7718b1b5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,33 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [6.10.1] - 2025-01-09 + +### Added +- Test for `ConvertBoneWeightsUInt8ToFloatInterleavedJob` +- Test for `ConvertBoneWeightsUInt16ToFloatInterleavedJob` +- *BoundsTests* which certifies correct mesh bounds. + +### Changed +- Downgraded package dependencies to version bundled with Editor. + - `com.unity.collections` to version `1.2.4` (from `1.5.1`) + - `com.unity.mathematics` to version `1.2.6` (from `1.3.1`) +- When a position accessor lacks min/max properties, the corresponding error message is communicated via the `ICodeLogger` instead of a plain console log. + +### Fixed +- Build error when used along with packages that depend on `com.unity.collections` versions older than 1.5 (e.g. Polyspatial 1.x; fixes [#730](https://github.com/atteneder/glTFast/issues/730)). +- Invalid mesh bounds on meshes with one submesh (fixes [#743](https://github.com/atteneder/glTFast/issues/743)). + +### Removed + + +### Deprecated + + +### Security + + + ## [6.10.0] - 2024-12-16 ### Added diff --git a/Documentation~/ProjectSetup.md b/Documentation~/ProjectSetup.md index e6b579304..96c5ed450 100644 --- a/Documentation~/ProjectSetup.md +++ b/Documentation~/ProjectSetup.md @@ -47,6 +47,16 @@ Built-In render pipe projects can optionally use the shader graphs instead of th For example, if you don't need PNG/Jpeg support (because you use only KTX™ 2.0 textures or no textures at all), you can disable the *Image Conversion* and *UnityWebRequestTexture* modules. +## Performance Increase via Collections Package + +> [!CAUTION] +> Don't apply this if your project or one of its packages (e.g. [Polyspatial 1.3]) has a dependency on [Collections] 1.4 or older. Unfortunately [Collections] version 1.5.0 introduced breaking changes that might lead to compiler errors otherwise. + +Projects running Editor versions 2020 or 2021 can increase the performance of certain low-level C# jobs by upgrading the [Collections] package to version 1.5.1 (or newer). *glTFast* then utilizes [IJobParallelForBatch] for increased loading speed. + +> [!NOTE] +> Performance measurements showed that in Unity 2022 and later the Burst compiler has gotten so advanced that performance is excellent out-of-the-box and adjusting the [Collections] package versions makes little to no difference. + ## Readable Mesh Data By default *Unity glTFast* discards mesh data after it was uploaded to the GPU to free up main memory (see [`markNoLongerReadable`](https://docs.unity3d.com/ScriptReference/Mesh.UploadMeshData.html)). You can disable this globally by using the scripting define `GLTFAST_KEEP_MESH_DATA`. @@ -75,9 +85,10 @@ add `GLTFAST_EDITOR_IMPORT_OFF` to the *Scripting Define Symbols* in the *Player *KTX™* and the KTX logo are trademarks of the [The Khronos Group Inc][khronos]. -[ImgConv]: https://docs.unity3d.com/2021.3/Documentation/ScriptReference/UnityEngine.ImageConversionModule.html +[Collections]: https://docs.unity3d.com/Packages/com.unity.collections@1.5/manual/index.html +[IJobParallelForBatch]: https://docs.unity3d.com/Packages/com.unity.collections@1.5/api/Unity.Jobs.IJobParallelForBatch.html?q=IJobParallelForBatch [Khronos]: https://www.khronos.org [MRTK]: https://github.com/microsoft/MixedRealityToolkit-Unity +[Polyspatial 1.3]: https://docs.unity3d.com/Packages/com.unity.polyspatial.visionos@1.3/manual/index.html [shader-variants]: https://docs.unity3d.com/Manual/shader-variants.html [Unity]: https://unity.com -[uwrt]: https://docs.unity3d.com/2021.3/Documentation/ScriptReference/UnityEngine.UnityWebRequestTextureModule.html diff --git a/Documentation~/config.json b/Documentation~/config.json index df2b0d874..b73898e2e 100644 --- a/Documentation~/config.json +++ b/Documentation~/config.json @@ -1,3 +1,3 @@ { - "DefineConstants": "DRACO_UNITY;KTX_UNITY;KTX_UNITY_1_3_OR_NEWER;KTX_UNITY_2_2_OR_NEWER;USING_URP;USING_HDRP;USING_HDRP_10_OR_NEWER;UNITY_PHYSICS;UNITY_IMAGECONVERSION;UNITY_WEBREQUEST_TEXTURE;MESHOPT;USING_URP_12_OR_NEWER;UNITY_SHADER_GRAPH;UNITY_SHADER_GRAPH_12_OR_NEWER;UNITY_ANIMATION;UNITY_ENTITIES_GRAPHICS;NEWTONSOFT_JSON" + "DefineConstants": "DRACO_UNITY;KTX_UNITY;KTX_UNITY_1_3_OR_NEWER;KTX_UNITY_2_2_OR_NEWER;USING_URP;USING_HDRP;USING_HDRP_10_OR_NEWER;UNITY_PHYSICS;UNITY_IMAGECONVERSION;UNITY_WEBREQUEST_TEXTURE;MESHOPT;USING_URP_12_OR_NEWER;UNITY_SHADER_GRAPH;UNITY_SHADER_GRAPH_12_OR_NEWER;UNITY_ANIMATION;UNITY_ENTITIES_GRAPHICS;NEWTONSOFT_JSON;UNITY_COLLECTIONS" } \ No newline at end of file diff --git a/Runtime/Scripts/Export/Constants.cs b/Runtime/Scripts/Export/Constants.cs index 46a21c888..c6d9149df 100644 --- a/Runtime/Scripts/Export/Constants.cs +++ b/Runtime/Scripts/Export/Constants.cs @@ -7,7 +7,7 @@ namespace GLTFast.Export { static class Constants { - public const string version = "6.10.0"; + public const string version = "6.10.1"; internal const string mimeTypePNG = "image/png"; internal const string mimeTypeJPG = "image/jpeg"; diff --git a/Runtime/Scripts/Jobs.cs b/Runtime/Scripts/Jobs.cs index 6166a60eb..aaba50aec 100644 --- a/Runtime/Scripts/Jobs.cs +++ b/Runtime/Scripts/Jobs.cs @@ -643,7 +643,12 @@ public void Execute(int i) // } [BurstCompile] - unsafe struct ConvertUVsUInt8ToFloatInterleavedJob : IJobParallelForBatch + unsafe struct ConvertUVsUInt8ToFloatInterleavedJob : +#if UNITY_COLLECTIONS + IJobParallelForBatch +#else + IJobParallelFor +#endif { [ReadOnly] public int inputByteStride; @@ -659,6 +664,7 @@ unsafe struct ConvertUVsUInt8ToFloatInterleavedJob : IJobParallelForBatch [NativeDisableUnsafePtrRestriction] public float2* result; +#if UNITY_COLLECTIONS public void Execute(int index, int count) { var resultV = (float2*)((byte*)result + index * outputByteStride); @@ -671,6 +677,14 @@ public void Execute(int index, int count) off += inputByteStride; } } +#else + public void Execute(int i) + { + var resultV = (float2*)(((byte*)result) + (i * outputByteStride)); + var off = input + inputByteStride * i; + *resultV = new float2(off[0], 1 - off[1]); + } +#endif } [BurstCompile] @@ -705,7 +719,12 @@ public void Execute(int i) } [BurstCompile] - unsafe struct ConvertUVsUInt16ToFloatInterleavedJob : IJobParallelForBatch + unsafe struct ConvertUVsUInt16ToFloatInterleavedJob : +#if UNITY_COLLECTIONS + IJobParallelForBatch +#else + IJobParallelFor +#endif { [ReadOnly] @@ -722,6 +741,7 @@ unsafe struct ConvertUVsUInt16ToFloatInterleavedJob : IJobParallelForBatch [NativeDisableUnsafePtrRestriction] public float2* result; +#if UNITY_COLLECTIONS public void Execute(int i, int count) { var resultV = (float2*)((byte*)result + i * outputByteStride); @@ -734,6 +754,14 @@ public void Execute(int i, int count) uv = (ushort*)((byte*)uv + inputByteStride); } } +#else + public void Execute(int i) + { + var resultV = (float2*)(((byte*)result) + (i * outputByteStride)); + var uv = (ushort*)(input + inputByteStride * i); + *resultV = new float2(uv[0], 1 - uv[1]); + } +#endif } [BurstCompile] @@ -768,7 +796,12 @@ public void Execute(int i) } [BurstCompile] - unsafe struct ConvertUVsInt16ToFloatInterleavedJob : IJobParallelForBatch + unsafe struct ConvertUVsInt16ToFloatInterleavedJob : +#if UNITY_COLLECTIONS + IJobParallelForBatch +#else + IJobParallelFor +#endif { [ReadOnly] @@ -785,6 +818,7 @@ unsafe struct ConvertUVsInt16ToFloatInterleavedJob : IJobParallelForBatch [NativeDisableUnsafePtrRestriction] public float2* result; +#if UNITY_COLLECTIONS public void Execute(int i, int count) { var resultV = (float2*)((byte*)result + i * outputByteStride); @@ -797,10 +831,23 @@ public void Execute(int i, int count) uv = (short*)((byte*)uv + inputByteStride); } } +#else + public void Execute(int i) + { + var resultV = (float2*)(((byte*)result) + (i * outputByteStride)); + var uv = (short*)((byte*)input + inputByteStride * i); + *resultV = new float2(uv[0], 1 - uv[1]); + } +#endif } [BurstCompile] - unsafe struct ConvertUVsInt16ToFloatInterleavedNormalizedJob : IJobParallelForBatch + unsafe struct ConvertUVsInt16ToFloatInterleavedNormalizedJob : +#if UNITY_COLLECTIONS + IJobParallelForBatch +#else + IJobParallelFor +#endif { [ReadOnly] @@ -817,6 +864,7 @@ unsafe struct ConvertUVsInt16ToFloatInterleavedNormalizedJob : IJobParallelForBa [NativeDisableUnsafePtrRestriction] public float2* result; +#if UNITY_COLLECTIONS public void Execute(int i, int count) { var resultV = (float2*)((byte*)result + i * outputByteStride); @@ -833,10 +881,27 @@ public void Execute(int i, int count) uv = (short*)((byte*)uv + inputByteStride); } } +#else + public void Execute(int i) + { + var resultV = (float2*)(((byte*)result) + (i * outputByteStride)); + var uv = (short*)((byte*)input + inputByteStride * i); + + var tmp = new float2(uv[0], uv[1]) / short.MaxValue; + var tmp2 = max(tmp, -1f); + tmp2.y = 1 - tmp2.y; + *resultV = tmp2; + } +#endif } [BurstCompile] - unsafe struct ConvertUVsInt8ToFloatInterleavedJob : IJobParallelForBatch + unsafe struct ConvertUVsInt8ToFloatInterleavedJob : +#if UNITY_COLLECTIONS + IJobParallelForBatch +#else + IJobParallelFor +#endif { [ReadOnly] @@ -853,6 +918,7 @@ unsafe struct ConvertUVsInt8ToFloatInterleavedJob : IJobParallelForBatch [NativeDisableUnsafePtrRestriction] public float2* result; +#if UNITY_COLLECTIONS public void Execute(int i, int count) { var resultV = (float2*)((byte*)result + i * outputByteStride); @@ -865,10 +931,23 @@ public void Execute(int i, int count) off += inputByteStride; } } +#else + public void Execute(int i) + { + var resultV = (float2*)(((byte*)result) + (i * outputByteStride)); + var off = input + inputByteStride * i; + *resultV = new float2(off[0], 1 - off[1]); + } +#endif } [BurstCompile] - unsafe struct ConvertUVsInt8ToFloatInterleavedNormalizedJob : IJobParallelForBatch + unsafe struct ConvertUVsInt8ToFloatInterleavedNormalizedJob : +#if UNITY_COLLECTIONS + IJobParallelForBatch +#else + IJobParallelFor +#endif { [ReadOnly] @@ -885,6 +964,7 @@ unsafe struct ConvertUVsInt8ToFloatInterleavedNormalizedJob : IJobParallelForBat [NativeDisableUnsafePtrRestriction] public float2* result; +#if UNITY_COLLECTIONS public void Execute(int i, int count) { var resultV = (float2*)((byte*)result + i * outputByteStride); @@ -901,6 +981,17 @@ public void Execute(int i, int count) off += inputByteStride; } } +#else + public void Execute(int i) + { + var resultV = (float2*)(((byte*)result) + (i * outputByteStride)); + var off = input + inputByteStride * i; + var tmp = new float2(off[0], off[1]) / 127f; + var tmp2 = max(tmp, -1f); + tmp2.y = 1 - tmp2.y; + *resultV = tmp2; + } +#endif } [BurstCompile] @@ -974,7 +1065,12 @@ public void Execute(int i) } [BurstCompile] - unsafe struct ConvertColorsRgbaUInt16ToRGBAFloatJob : IJobParallelForBatch + unsafe struct ConvertColorsRgbaUInt16ToRGBAFloatJob : +#if UNITY_COLLECTIONS + IJobParallelForBatch +#else + IJobParallelFor +#endif { [ReadOnly] @@ -988,6 +1084,7 @@ unsafe struct ConvertColorsRgbaUInt16ToRGBAFloatJob : IJobParallelForBatch [NativeDisableUnsafePtrRestriction] public float4* result; +#if UNITY_COLLECTIONS public void Execute(int i, int count) { var src = (ushort*)((byte*)input + i * inputByteStride); @@ -1003,10 +1100,27 @@ public void Execute(int i, int count) src = (ushort*)((byte*)src + inputByteStride); } } +#else + public void Execute(int i) + { + var src = (ushort*)(((byte*)input) + (i * inputByteStride)); + result[i] = new float4( + src[0] / (float)ushort.MaxValue, + src[1] / (float)ushort.MaxValue, + src[2] / (float)ushort.MaxValue, + src[3] / (float)ushort.MaxValue + ); + } +#endif } [BurstCompile] - unsafe struct ConvertColorsRGBAFloatToRGBAFloatJob : IJobParallelForBatch + unsafe struct ConvertColorsRGBAFloatToRGBAFloatJob : +#if UNITY_COLLECTIONS + IJobParallelForBatch +#else + IJobParallelFor +#endif { [ReadOnly] @@ -1020,6 +1134,7 @@ unsafe struct ConvertColorsRGBAFloatToRGBAFloatJob : IJobParallelForBatch [NativeDisableUnsafePtrRestriction] public float4* result; +#if UNITY_COLLECTIONS public void Execute(int i, int count) { var src = (float4*)(input + i * inputByteStride); @@ -1030,6 +1145,13 @@ public void Execute(int i, int count) src = (float4*)((byte*)src + inputByteStride); } } +#else + public void Execute(int i) + { + var src = (float4*)(input + (i * inputByteStride)); + result[i] = *src; + } +#endif } [BurstCompile] @@ -1169,7 +1291,12 @@ public void Execute(int i) } [BurstCompile] - unsafe struct ConvertUVsFloatToFloatInterleavedJob : IJobParallelForBatch + unsafe struct ConvertUVsFloatToFloatInterleavedJob : +#if UNITY_COLLECTIONS + IJobParallelForBatch +#else + IJobParallelFor +#endif { [ReadOnly] @@ -1186,6 +1313,7 @@ unsafe struct ConvertUVsFloatToFloatInterleavedJob : IJobParallelForBatch [NativeDisableUnsafePtrRestriction] public float2* result; +#if UNITY_COLLECTIONS public void Execute(int i, int count) { var resultV = (float2*)((byte*)result + i * outputByteStride); @@ -1201,13 +1329,28 @@ public void Execute(int i, int count) off = (float2*)((byte*)off + inputByteStride); } } +#else + public void Execute(int i) + { + var resultV = (float2*)(((byte*)result) + (i * outputByteStride)); + var off = (float2*)(input + (i * inputByteStride)); + var tmp = *off; + tmp.y = 1 - tmp.y; + *resultV = tmp; + } +#endif } /// /// General purpose vector 3 (position or normal) conversion /// [BurstCompile] - unsafe struct ConvertVector3FloatToFloatInterleavedJob : IJobParallelForBatch + unsafe struct ConvertVector3FloatToFloatInterleavedJob : +#if UNITY_COLLECTIONS + IJobParallelForBatch +#else + IJobParallelFor +#endif { [ReadOnly] @@ -1224,6 +1367,7 @@ unsafe struct ConvertVector3FloatToFloatInterleavedJob : IJobParallelForBatch [NativeDisableUnsafePtrRestriction] public float3* result; +#if UNITY_COLLECTIONS public void Execute(int i, int count) { var resultV = (float3*)((byte*)result + i * outputByteStride); @@ -1239,6 +1383,16 @@ public void Execute(int i, int count) off = (float3*)((byte*)off + inputByteStride); } } +#else + public void Execute(int i) + { + var resultV = (float3*)(((byte*)result) + (i * outputByteStride)); + var off = (float3*)(input + i * inputByteStride); + var tmp = *off; + tmp.x *= -1; + *resultV = tmp; + } +#endif } /// @@ -1279,7 +1433,12 @@ public void Execute(int i) } [BurstCompile] - unsafe struct ConvertTangentsFloatToFloatInterleavedJob : IJobParallelForBatch + unsafe struct ConvertTangentsFloatToFloatInterleavedJob : +#if UNITY_COLLECTIONS + IJobParallelForBatch +#else + IJobParallelFor +#endif { [ReadOnly] @@ -1296,6 +1455,7 @@ unsafe struct ConvertTangentsFloatToFloatInterleavedJob : IJobParallelForBatch [NativeDisableUnsafePtrRestriction] public float4* result; +#if UNITY_COLLECTIONS public void Execute(int i, int count) { var resultV = (float4*)((byte*)result + i * outputByteStride); @@ -1311,10 +1471,25 @@ public void Execute(int i, int count) off = (float4*)((byte*)off + inputByteStride); } } +#else + public void Execute(int i) + { + var resultV = (float4*)(((byte*)result) + (i * outputByteStride)); + var off = input + (i * inputByteStride); + var tmp = *((float4*)off); + tmp.z *= -1; + *resultV = tmp; + } +#endif } [BurstCompile] - unsafe struct ConvertBoneWeightsFloatToFloatInterleavedJob : IJobParallelForBatch + unsafe struct ConvertBoneWeightsFloatToFloatInterleavedJob : +#if UNITY_COLLECTIONS + IJobParallelForBatch +#else + IJobParallelFor +#endif { [ReadOnly] @@ -1331,6 +1506,7 @@ unsafe struct ConvertBoneWeightsFloatToFloatInterleavedJob : IJobParallelForBatc [NativeDisableUnsafePtrRestriction] public float4* result; +#if UNITY_COLLECTIONS public void Execute(int i, int count) { var resultV = (float4*)((byte*)result + i * outputByteStride); @@ -1343,10 +1519,23 @@ public void Execute(int i, int count) off = (float4*)((byte*)off + inputByteStride); } } +#else + public void Execute(int i) + { + var resultV = (float4*)(((byte*)result) + (i * outputByteStride)); + var off = input + (i * inputByteStride); + *resultV = *((float4*)off); + } +#endif } [BurstCompile] - unsafe struct ConvertBoneWeightsUInt8ToFloatInterleavedJob : IJobParallelForBatch + unsafe struct ConvertBoneWeightsUInt8ToFloatInterleavedJob : +#if UNITY_COLLECTIONS + IJobParallelForBatch +#else + IJobParallelFor +#endif { [ReadOnly] @@ -1363,6 +1552,7 @@ unsafe struct ConvertBoneWeightsUInt8ToFloatInterleavedJob : IJobParallelForBatc [NativeDisableUnsafePtrRestriction] public float4* result; +#if UNITY_COLLECTIONS public void Execute(int i, int count) { var resultV = (float4*)((byte*)result + i * outputByteStride); @@ -1380,10 +1570,28 @@ public void Execute(int i, int count) off += inputByteStride; } } +#else + public void Execute(int i) + { + var resultV = (float4*)(((byte*)result) + (i * outputByteStride)); + var off = input + (i * inputByteStride); + *resultV = new float4( + off[0] / 255f, + off[1] / 255f, + off[2] / 255f, + off[3] / 255f + ); + } +#endif } [BurstCompile] - unsafe struct ConvertBoneWeightsUInt16ToFloatInterleavedJob : IJobParallelForBatch + unsafe struct ConvertBoneWeightsUInt16ToFloatInterleavedJob : +#if UNITY_COLLECTIONS + IJobParallelForBatch +#else + IJobParallelFor +#endif { [ReadOnly] @@ -1400,6 +1608,7 @@ unsafe struct ConvertBoneWeightsUInt16ToFloatInterleavedJob : IJobParallelForBat [NativeDisableUnsafePtrRestriction] public float4* result; +#if UNITY_COLLECTIONS public void Execute(int i, int count) { var resultV = (float4*)((byte*)result + i * outputByteStride); @@ -1417,10 +1626,28 @@ public void Execute(int i, int count) off = (ushort*)((byte*)off + inputByteStride); } } +#else + public void Execute(int i) + { + var resultV = (float4*)(((byte*)result) + (i * outputByteStride)); + var off = (ushort*)(input + i * inputByteStride); + *resultV = new float4( + off[0] / (float)ushort.MaxValue, + off[1] / (float)ushort.MaxValue, + off[2] / (float)ushort.MaxValue, + off[3] / (float)ushort.MaxValue + ); + } +#endif } [BurstCompile] - unsafe struct ConvertTangentsInt16ToFloatInterleavedNormalizedJob : IJobParallelForBatch + unsafe struct ConvertTangentsInt16ToFloatInterleavedNormalizedJob : +#if UNITY_COLLECTIONS + IJobParallelForBatch +#else + IJobParallelFor +#endif { [ReadOnly] @@ -1437,6 +1664,7 @@ unsafe struct ConvertTangentsInt16ToFloatInterleavedNormalizedJob : IJobParallel [NativeDisableUnsafePtrRestriction] public float4* result; +#if UNITY_COLLECTIONS public void Execute(int i, int count) { var resultV = (float4*)((byte*)result + i * outputByteStride); @@ -1453,10 +1681,26 @@ public void Execute(int i, int count) off = (short*)((byte*)off + inputByteStride); } } +#else + public void Execute(int i) + { + var resultV = (float4*)(((byte*)result) + (i * outputByteStride)); + var off = (short*)(((byte*)input) + (i * inputByteStride)); + var tmp = new float4(off[0], off[1], off[2], off[3]) / short.MaxValue; + var tmp2 = max(tmp, -1f); + tmp2.z *= -1; + *resultV = normalize(tmp2); + } +#endif } [BurstCompile] - unsafe struct ConvertTangentsInt8ToFloatInterleavedNormalizedJob : IJobParallelForBatch + unsafe struct ConvertTangentsInt8ToFloatInterleavedNormalizedJob : +#if UNITY_COLLECTIONS + IJobParallelForBatch +#else + IJobParallelFor +#endif { [ReadOnly] @@ -1473,6 +1717,7 @@ unsafe struct ConvertTangentsInt8ToFloatInterleavedNormalizedJob : IJobParallelF [NativeDisableUnsafePtrRestriction] public float4* result; +#if UNITY_COLLECTIONS public void Execute(int i, int count) { var resultV = (float4*)((byte*)result + i * outputByteStride); @@ -1489,10 +1734,26 @@ public void Execute(int i, int count) off += inputByteStride; } } +#else + public void Execute(int i) + { + var resultV = (float4*)(((byte*)result) + (i * outputByteStride)); + var off = input + (i * inputByteStride); + var tmp = new float4(off[0], off[1], off[2], off[3]) / 127f; + var tmp2 = max(tmp, -1f); + tmp2.z *= -1; + *resultV = normalize(tmp2); + } +#endif } [BurstCompile] - unsafe struct ConvertPositionsUInt16ToFloatInterleavedJob : IJobParallelForBatch + unsafe struct ConvertPositionsUInt16ToFloatInterleavedJob : +#if UNITY_COLLECTIONS + IJobParallelForBatch +#else + IJobParallelFor +#endif { [ReadOnly] @@ -1509,6 +1770,7 @@ unsafe struct ConvertPositionsUInt16ToFloatInterleavedJob : IJobParallelForBatch [NativeDisableUnsafePtrRestriction] public float3* result; +#if UNITY_COLLECTIONS public void Execute(int i, int count) { var resultV = (float3*)((byte*)result + i * outputByteStride); @@ -1521,10 +1783,23 @@ public void Execute(int i, int count) off = (ushort*)((byte*)off + inputByteStride); } } +#else + public void Execute(int i) + { + var resultV = (float3*)(((byte*)result) + (i * outputByteStride)); + var off = (ushort*)(input + (inputByteStride * i)); + *resultV = new float3(-(float)off[0], off[1], off[2]); + } +#endif } [BurstCompile] - unsafe struct ConvertPositionsUInt16ToFloatInterleavedNormalizedJob : IJobParallelForBatch + unsafe struct ConvertPositionsUInt16ToFloatInterleavedNormalizedJob : +#if UNITY_COLLECTIONS + IJobParallelForBatch +#else + IJobParallelFor +#endif { [ReadOnly] public int inputByteStride; @@ -1540,6 +1815,7 @@ unsafe struct ConvertPositionsUInt16ToFloatInterleavedNormalizedJob : IJobParall [NativeDisableUnsafePtrRestriction] public float3* result; +#if UNITY_COLLECTIONS public void Execute(int i, int count) { var resultV = (float3*)((byte*)result + i * outputByteStride); @@ -1557,10 +1833,27 @@ public void Execute(int i, int count) off = (ushort*)((byte*)off + inputByteStride); } } +#else + public void Execute(int i) + { + var resultV = (float3*)(((byte*)result) + (i * outputByteStride)); + var off = (ushort*)(input + (inputByteStride * i)); + *resultV = new float3( + -(off[0] / (float)ushort.MaxValue), + off[1] / (float)ushort.MaxValue, + off[2] / (float)ushort.MaxValue + ); + } +#endif } [BurstCompile] - unsafe struct ConvertPositionsInt16ToFloatInterleavedJob : IJobParallelForBatch + unsafe struct ConvertPositionsInt16ToFloatInterleavedJob : +#if UNITY_COLLECTIONS + IJobParallelForBatch +#else + IJobParallelFor +#endif { [ReadOnly] @@ -1578,6 +1871,7 @@ unsafe struct ConvertPositionsInt16ToFloatInterleavedJob : IJobParallelForBatch [ReadOnly] public int outputByteStride; +#if UNITY_COLLECTIONS public void Execute(int i, int count) { var resultV = (float3*)((byte*)result + i * outputByteStride); @@ -1590,6 +1884,14 @@ public void Execute(int i, int count) off = (short*)((byte*)off + inputByteStride); } } +#else + public void Execute(int i) + { + var resultV = (float3*)(((byte*)result) + (i * outputByteStride)); + var off = (short*)(input + (i * inputByteStride)); + *resultV = new float3(-(float)off[0], off[1], off[2]); + } +#endif } /// @@ -1597,7 +1899,12 @@ public void Execute(int i, int count) /// Result is not normalized (scaled to unit length) /// [BurstCompile] - unsafe struct ConvertVector3Int16ToFloatInterleavedNormalizedJob : IJobParallelForBatch + unsafe struct ConvertVector3Int16ToFloatInterleavedNormalizedJob : +#if UNITY_COLLECTIONS + IJobParallelForBatch +#else + IJobParallelFor +#endif { [ReadOnly] @@ -1614,6 +1921,7 @@ unsafe struct ConvertVector3Int16ToFloatInterleavedNormalizedJob : IJobParallelF [NativeDisableUnsafePtrRestriction] public float3* result; +#if UNITY_COLLECTIONS public void Execute(int i, int count) { var resultV = (float3*)((byte*)result + i * outputByteStride); @@ -1630,6 +1938,18 @@ public void Execute(int i, int count) off = (short*)((byte*)off + inputByteStride); } } +#else + public void Execute(int i) + { + var resultV = (float3*)(((byte*)result) + (i * outputByteStride)); + var off = (short*)(input + (i * inputByteStride)); + + var tmp = new float3(off[0], off[1], off[2]) / short.MaxValue; + var tmp2 = max(tmp, -1f); + tmp2.x *= -1; + *resultV = tmp2; + } +#endif } /// @@ -1637,7 +1957,12 @@ public void Execute(int i, int count) /// Result is normalized (scaled to unit length) /// [BurstCompile] - unsafe struct ConvertNormalsInt16ToFloatInterleavedNormalizedJob : IJobParallelForBatch + unsafe struct ConvertNormalsInt16ToFloatInterleavedNormalizedJob : +#if UNITY_COLLECTIONS + IJobParallelForBatch +#else + IJobParallelFor +#endif { [ReadOnly] @@ -1654,6 +1979,7 @@ unsafe struct ConvertNormalsInt16ToFloatInterleavedNormalizedJob : IJobParallelF [NativeDisableUnsafePtrRestriction] public float3* result; +#if UNITY_COLLECTIONS public void Execute(int i, int count) { var resultV = (float3*)((byte*)result + i * outputByteStride); @@ -1670,10 +1996,27 @@ public void Execute(int i, int count) off = (short*)((byte*)off + inputByteStride); } } +#else + public void Execute(int i) + { + var resultV = (float3*)(((byte*)result) + (i * outputByteStride)); + var off = (short*)(input + (i * inputByteStride)); + + var tmp = new float3(off[0], off[1], off[2]) / short.MaxValue; + var tmp2 = max(tmp, -1f); + tmp2.x *= -1; + *resultV = normalize(tmp2); + } +#endif } [BurstCompile] - unsafe struct ConvertPositionsInt8ToFloatInterleavedJob : IJobParallelForBatch + unsafe struct ConvertPositionsInt8ToFloatInterleavedJob : +#if UNITY_COLLECTIONS + IJobParallelForBatch +#else + IJobParallelFor +#endif { [ReadOnly] @@ -1690,6 +2033,7 @@ unsafe struct ConvertPositionsInt8ToFloatInterleavedJob : IJobParallelForBatch [NativeDisableUnsafePtrRestriction] public float3* result; +#if UNITY_COLLECTIONS public void Execute(int i, int count) { var resultV = (float3*)((byte*)result + i * outputByteStride); @@ -1702,6 +2046,14 @@ public void Execute(int i, int count) off += inputByteStride; } } +#else + public void Execute(int i) + { + var resultV = (float3*)(((byte*)result) + (i * outputByteStride)); + var off = input + (inputByteStride * i); + *resultV = new float3(-(float)off[0], off[1], off[2]); + } +#endif } /// @@ -1709,7 +2061,12 @@ public void Execute(int i, int count) /// Result is not normalized (scaled to unit length) /// [BurstCompile] - unsafe struct ConvertVector3Int8ToFloatInterleavedNormalizedJob : IJobParallelForBatch + unsafe struct ConvertVector3Int8ToFloatInterleavedNormalizedJob : +#if UNITY_COLLECTIONS + IJobParallelForBatch +#else + IJobParallelFor +#endif { [ReadOnly] @@ -1726,6 +2083,7 @@ unsafe struct ConvertVector3Int8ToFloatInterleavedNormalizedJob : IJobParallelFo [NativeDisableUnsafePtrRestriction] public float3* result; +#if UNITY_COLLECTIONS public void Execute(int i, int count) { var resultV = (float3*)((byte*)result + i * outputByteStride); @@ -1742,6 +2100,18 @@ public void Execute(int i, int count) off += inputByteStride; } } +#else + public void Execute(int i) + { + var resultV = (float3*)(((byte*)result) + (i * outputByteStride)); + var off = input + (inputByteStride * i); + + var tmp = new float3(off[0], off[1], off[2]) / 127f; + var tmp2 = max(tmp, -1); + tmp2.x *= -1; + *resultV = tmp2; + } +#endif } /// @@ -1749,7 +2119,12 @@ public void Execute(int i, int count) /// Result is normalized (scaled to unit length) /// [BurstCompile] - unsafe struct ConvertNormalsInt8ToFloatInterleavedNormalizedJob : IJobParallelForBatch + unsafe struct ConvertNormalsInt8ToFloatInterleavedNormalizedJob : +#if UNITY_COLLECTIONS + IJobParallelForBatch +#else + IJobParallelFor +#endif { [ReadOnly] @@ -1766,6 +2141,7 @@ unsafe struct ConvertNormalsInt8ToFloatInterleavedNormalizedJob : IJobParallelFo [NativeDisableUnsafePtrRestriction] public float3* result; +#if UNITY_COLLECTIONS public void Execute(int i, int count) { var resultV = (float3*)((byte*)result + i * outputByteStride); @@ -1782,10 +2158,27 @@ public void Execute(int i, int count) off += inputByteStride; } } +#else + public void Execute(int i) + { + var resultV = (float3*)(((byte*)result) + (i * outputByteStride)); + var off = input + (inputByteStride * i); + + var tmp = new float3(off[0], off[1], off[2]) / 127f; + var tmp2 = max(tmp, -1); + tmp2.x *= -1; + *resultV = normalize(tmp2); + } +#endif } [BurstCompile] - unsafe struct ConvertPositionsUInt8ToFloatInterleavedJob : IJobParallelForBatch + unsafe struct ConvertPositionsUInt8ToFloatInterleavedJob : +#if UNITY_COLLECTIONS + IJobParallelForBatch +#else + IJobParallelFor +#endif { [ReadOnly] @@ -1802,6 +2195,7 @@ unsafe struct ConvertPositionsUInt8ToFloatInterleavedJob : IJobParallelForBatch [NativeDisableUnsafePtrRestriction] public float3* result; +#if UNITY_COLLECTIONS public void Execute(int i, int count) { var resultV = (float3*)((byte*)result + i * outputByteStride); @@ -1814,10 +2208,23 @@ public void Execute(int i, int count) off += inputByteStride; } } +#else + public void Execute(int i) + { + var off = input + (i * inputByteStride); + var resultV = (float3*)(((byte*)result) + (i * outputByteStride)); + *resultV = new float3(-(float)off[0], off[1], off[2]); + } +#endif } [BurstCompile] - unsafe struct ConvertPositionsUInt8ToFloatInterleavedNormalizedJob : IJobParallelForBatch + unsafe struct ConvertPositionsUInt8ToFloatInterleavedNormalizedJob : +#if UNITY_COLLECTIONS + IJobParallelForBatch +#else + IJobParallelFor +#endif { [ReadOnly] @@ -1834,6 +2241,7 @@ unsafe struct ConvertPositionsUInt8ToFloatInterleavedNormalizedJob : IJobParalle [NativeDisableUnsafePtrRestriction] public float3* result; +#if UNITY_COLLECTIONS public void Execute(int i, int count) { var resultV = (float3*)((byte*)result + i * outputByteStride); @@ -1850,6 +2258,18 @@ public void Execute(int i, int count) off += inputByteStride; } } +#else + public void Execute(int i) + { + var resultV = (float3*)(((byte*)result) + (i * outputByteStride)); + var off = input + (i * inputByteStride); + *resultV = new float3( + -(off[0] / 255f), + off[1] / 255f, + off[2] / 255f + ); + } +#endif } [BurstCompile] diff --git a/Runtime/Scripts/MeshGenerator.cs b/Runtime/Scripts/MeshGenerator.cs index 474d54826..201b90c6b 100644 --- a/Runtime/Scripts/MeshGenerator.cs +++ b/Runtime/Scripts/MeshGenerator.cs @@ -332,7 +332,7 @@ async Task CreateMeshResultAsync() Profiler.EndSample(); msh.subMeshCount = m_Indices.Length; indexCount = 0; - var boundsAreValid = true; + Bounds bounds = default; for (var i = 0; i < m_Indices.Length; i++) { Profiler.BeginSample("SetIndexBufferData"); @@ -342,7 +342,7 @@ async Task CreateMeshResultAsync() Profiler.BeginSample("SetSubMesh"); var vertexBufferIndex = m_SubMeshAssignments != null ? m_SubMeshAssignments[i].VertexBufferIndex : i; m_VertexData.GetVertexRange(vertexBufferIndex, out var baseVertex, out var vertexCount); - boundsAreValid &= m_VertexData.TryGetBounds(vertexBufferIndex, out var bounds); + var subMeshBoundsValid = m_VertexData.TryGetBounds(vertexBufferIndex, out var subMeshBounds); var subMeshDescriptor = new SubMeshDescriptor { indexStart = indexCount, @@ -351,12 +351,35 @@ async Task CreateMeshResultAsync() baseVertex = baseVertex, firstVertex = baseVertex, vertexCount = vertexCount, - bounds = bounds + bounds = subMeshBounds }; - msh.SetSubMesh(i, subMeshDescriptor, defaultMeshUpdateFlags); + msh.SetSubMesh( + i, + subMeshDescriptor, + subMeshBoundsValid + ? defaultMeshUpdateFlags + : defaultMeshUpdateFlags & ~MeshUpdateFlags.DontRecalculateBounds + ); + if (!subMeshBoundsValid) + { + subMeshDescriptor = msh.GetSubMesh(i); + subMeshBounds = subMeshDescriptor.bounds; + } + + if (i == 0) + { + bounds = subMeshBounds; + } + else + { + bounds.Encapsulate(subMeshBounds); + } Profiler.EndSample(); indexCount += m_Indices[i].Length; } + + msh.bounds = bounds; + Profiler.EndSample(); if (m_Topology == MeshTopology.Triangles || m_Topology == MeshTopology.Quads) @@ -375,16 +398,6 @@ async Task CreateMeshResultAsync() } } - if (!boundsAreValid) - { - Profiler.BeginSample("RecalculateBounds"); -#if DEBUG - Debug.LogError("Bounds have to be recalculated (slow operation). Check if position accessors have proper min/max values"); -#endif - msh.RecalculateBounds(); - Profiler.EndSample(); - } - if (m_MorphTargetsGenerator != null) { await m_MorphTargetsGenerator.ApplyOnMeshAndDispose(msh); diff --git a/Runtime/Scripts/UvTransform.cs b/Runtime/Scripts/UvTransform.cs index e49ace065..65c681b37 100644 --- a/Runtime/Scripts/UvTransform.cs +++ b/Runtime/Scripts/UvTransform.cs @@ -33,7 +33,11 @@ public static UvTransform FromMatrix(float2x2 scaleRotation) var acos = math.acos(r1.x); if (r2.x < 0) acos = math.PI * 2 - acos; +#if UNITY_MATH_1_3_OR_NEWER result.rotation = acos * math.TODEGREES; +#else + result.rotation = math.degrees(acos); +#endif return result; } } diff --git a/Runtime/Scripts/VertexBufferBones.cs b/Runtime/Scripts/VertexBufferBones.cs index fe740b566..24e2325ea 100644 --- a/Runtime/Scripts/VertexBufferBones.cs +++ b/Runtime/Scripts/VertexBufferBones.cs @@ -114,7 +114,7 @@ IGltfBuffers buffers bones = m_Data, skinWeights = math.max(1, skinWeights) }; - jobHandle = job.Schedule(m_Data.Length, GltfImportBase.DefaultBatchCount, jobHandle); + jobHandle = job.Schedule(m_Data.Length, GltfImport.DefaultBatchCount, jobHandle); } #if GLTFAST_SAFE else { @@ -122,7 +122,7 @@ IGltfBuffers buffers var job = new RenormalizeBoneWeightsJob { bones = m_Data, }; - jobHandle = job.Schedule(m_Data.Length, GltfImportBase.DefaultBatchCount, jobHandle); + jobHandle = job.Schedule(m_Data.Length, GltfImport.DefaultBatchCount, jobHandle); } #endif @@ -174,7 +174,11 @@ int outputByteStride jobTangentI.input = (byte*)input; jobTangentI.outputByteStride = outputByteStride; jobTangentI.result = output; - jobHandle = jobTangentI.ScheduleBatch(count, GltfImportBase.DefaultBatchCount); +#if UNITY_COLLECTIONS + jobHandle = jobTangentI.ScheduleBatch(count,GltfImport.DefaultBatchCount); +#else + jobHandle = jobTangentI.Schedule(count, GltfImport.DefaultBatchCount); +#endif break; case GltfComponentType.UnsignedShort: { @@ -185,7 +189,11 @@ int outputByteStride outputByteStride = outputByteStride, result = output }; - jobHandle = job.ScheduleBatch(count, GltfImportBase.DefaultBatchCount); +#if UNITY_COLLECTIONS + jobHandle = job.ScheduleBatch(count,GltfImport.DefaultBatchCount); +#else + jobHandle = job.Schedule(count, GltfImport.DefaultBatchCount); +#endif break; } case GltfComponentType.UnsignedByte: @@ -197,7 +205,11 @@ int outputByteStride outputByteStride = outputByteStride, result = output }; - jobHandle = job.ScheduleBatch(count, GltfImportBase.DefaultBatchCount); +#if UNITY_COLLECTIONS + jobHandle = job.ScheduleBatch(count,GltfImport.DefaultBatchCount); +#else + jobHandle = job.Schedule(count, GltfImport.DefaultBatchCount); +#endif break; } default: @@ -230,7 +242,7 @@ ICodeLogger logger jointsUInt8Job.input = (byte*)input; jointsUInt8Job.outputByteStride = outputByteStride; jointsUInt8Job.result = output; - jobHandle = jointsUInt8Job.Schedule(count, GltfImportBase.DefaultBatchCount); + jobHandle = jointsUInt8Job.Schedule(count, GltfImport.DefaultBatchCount); break; case GltfComponentType.UnsignedShort: var jointsUInt16Job = new ConvertBoneJointsUInt16ToUInt32Job(); @@ -238,7 +250,7 @@ ICodeLogger logger jointsUInt16Job.input = (byte*)input; jointsUInt16Job.outputByteStride = outputByteStride; jointsUInt16Job.result = output; - jobHandle = jointsUInt16Job.Schedule(count, GltfImportBase.DefaultBatchCount); + jobHandle = jointsUInt16Job.Schedule(count, GltfImport.DefaultBatchCount); break; default: logger?.Error(LogCode.TypeUnsupported, "Joints", inputType.ToString()); diff --git a/Runtime/Scripts/VertexBufferColors.cs b/Runtime/Scripts/VertexBufferColors.cs index 1a893d233..7ecabb04f 100644 --- a/Runtime/Scripts/VertexBufferColors.cs +++ b/Runtime/Scripts/VertexBufferColors.cs @@ -110,7 +110,7 @@ NativeSlice output inputByteStride = inputByteStride > 0 ? inputByteStride : 3, result = output }; - jobHandle = job.Schedule(output.Length, GltfImportBase.DefaultBatchCount); + jobHandle = job.Schedule(output.Length, GltfImport.DefaultBatchCount); } break; case GltfComponentType.Float: @@ -121,7 +121,7 @@ NativeSlice output inputByteStride = inputByteStride > 0 ? inputByteStride : 12, result = (float4*)output.GetUnsafePtr() }; - jobHandle = job.Schedule(output.Length, GltfImportBase.DefaultBatchCount); + jobHandle = job.Schedule(output.Length, GltfImport.DefaultBatchCount); } break; case GltfComponentType.UnsignedShort: @@ -132,7 +132,7 @@ NativeSlice output inputByteStride = inputByteStride > 0 ? inputByteStride : 6, result = output }; - jobHandle = job.Schedule(output.Length, GltfImportBase.DefaultBatchCount); + jobHandle = job.Schedule(output.Length, GltfImport.DefaultBatchCount); } break; default: @@ -152,7 +152,7 @@ NativeSlice output inputByteStride = inputByteStride > 0 ? inputByteStride : 4, result = output }; - jobHandle = job.Schedule(output.Length, GltfImportBase.DefaultBatchCount); + jobHandle = job.Schedule(output.Length, GltfImport.DefaultBatchCount); } break; case GltfComponentType.Float: @@ -175,7 +175,11 @@ NativeSlice output inputByteStride = inputByteStride, result = (float4*)output.GetUnsafePtr() }; - jobHandle = job.ScheduleBatch(output.Length, GltfImportBase.DefaultBatchCount); +#if UNITY_COLLECTIONS + jobHandle = job.ScheduleBatch(output.Length,GltfImport.DefaultBatchCount); +#else + jobHandle = job.Schedule(output.Length, GltfImport.DefaultBatchCount); +#endif } } break; @@ -187,7 +191,11 @@ NativeSlice output inputByteStride = inputByteStride > 0 ? inputByteStride : 8, result = (float4*)output.GetUnsafePtr() }; - jobHandle = job.ScheduleBatch(output.Length, GltfImportBase.DefaultBatchCount); +#if UNITY_COLLECTIONS + jobHandle = job.ScheduleBatch(output.Length,GltfImport.DefaultBatchCount); +#else + jobHandle = job.Schedule(output.Length, GltfImport.DefaultBatchCount); +#endif } break; default: diff --git a/Runtime/Scripts/VertexBufferGenerator.cs b/Runtime/Scripts/VertexBufferGenerator.cs index 379dc71f4..dc6285324 100644 --- a/Runtime/Scripts/VertexBufferGenerator.cs +++ b/Runtime/Scripts/VertexBufferGenerator.cs @@ -58,6 +58,7 @@ public override bool TryGetBounds(int subMesh, out Bounds bounds) bounds = boundsOpt.Value; return true; } + m_GltfImport.Logger?.Error(LogCode.MeshBoundsMissing, m_Attributes[subMesh].POSITION.ToString()); bounds = default; return false; } diff --git a/Runtime/Scripts/VertexBufferGeneratorBase.cs b/Runtime/Scripts/VertexBufferGeneratorBase.cs index 8823f60c4..fcca721c8 100644 --- a/Runtime/Scripts/VertexBufferGeneratorBase.cs +++ b/Runtime/Scripts/VertexBufferGeneratorBase.cs @@ -89,7 +89,11 @@ public void Dispose() outputByteStride = outputByteStride, result = output }; - jobHandle = job.ScheduleBatch(count, GltfImportBase.DefaultBatchCount); +#if UNITY_COLLECTIONS + jobHandle = job.ScheduleBatch(count,GltfImport.DefaultBatchCount); +#else + jobHandle = job.Schedule(count, GltfImport.DefaultBatchCount); +#endif } else if (inputType == GltfComponentType.UnsignedShort) @@ -103,7 +107,11 @@ public void Dispose() outputByteStride = outputByteStride, result = output }; - jobHandle = job.ScheduleBatch(count, GltfImportBase.DefaultBatchCount); +#if UNITY_COLLECTIONS + jobHandle = job.ScheduleBatch(count,GltfImport.DefaultBatchCount); +#else + jobHandle = job.Schedule(count, GltfImport.DefaultBatchCount); +#endif } else { @@ -114,7 +122,11 @@ public void Dispose() outputByteStride = outputByteStride, result = output }; - jobHandle = job.ScheduleBatch(count, GltfImportBase.DefaultBatchCount); +#if UNITY_COLLECTIONS + jobHandle = job.ScheduleBatch(count,GltfImport.DefaultBatchCount); +#else + jobHandle = job.Schedule(count, GltfImport.DefaultBatchCount); +#endif } } else @@ -132,7 +144,11 @@ public void Dispose() outputByteStride = outputByteStride, result = output }; - jobHandle = job.ScheduleBatch(count, GltfImportBase.DefaultBatchCount); +#if UNITY_COLLECTIONS + jobHandle = job.ScheduleBatch(count,GltfImport.DefaultBatchCount); +#else + jobHandle = job.Schedule(count, GltfImport.DefaultBatchCount); +#endif } else { @@ -143,7 +159,11 @@ public void Dispose() outputByteStride = outputByteStride, result = output }; - jobHandle = job.ScheduleBatch(count, GltfImportBase.DefaultBatchCount); +#if UNITY_COLLECTIONS + jobHandle = job.ScheduleBatch(count,GltfImport.DefaultBatchCount); +#else + jobHandle = job.Schedule(count, GltfImport.DefaultBatchCount); +#endif } } else @@ -155,7 +175,11 @@ public void Dispose() outputByteStride = outputByteStride, result = output }; - jobHandle = job.ScheduleBatch(count, GltfImportBase.DefaultBatchCount); +#if UNITY_COLLECTIONS + jobHandle = job.ScheduleBatch(count,GltfImport.DefaultBatchCount); +#else + jobHandle = job.Schedule(count, GltfImport.DefaultBatchCount); +#endif } } else @@ -172,7 +196,11 @@ public void Dispose() outputByteStride = outputByteStride, result = output }; - jobHandle = job.ScheduleBatch(count, GltfImportBase.DefaultBatchCount); +#if UNITY_COLLECTIONS + jobHandle = job.ScheduleBatch(count,GltfImport.DefaultBatchCount); +#else + jobHandle = job.Schedule(count, GltfImport.DefaultBatchCount); +#endif } else { @@ -183,7 +211,11 @@ public void Dispose() outputByteStride = outputByteStride, result = output }; - jobHandle = job.ScheduleBatch(count, GltfImportBase.DefaultBatchCount); +#if UNITY_COLLECTIONS + jobHandle = job.ScheduleBatch(count,GltfImport.DefaultBatchCount); +#else + jobHandle = job.Schedule(count, GltfImport.DefaultBatchCount); +#endif } } else @@ -196,7 +228,11 @@ public void Dispose() outputByteStride = outputByteStride, result = output }; - jobHandle = job.ScheduleBatch(count, GltfImportBase.DefaultBatchCount); +#if UNITY_COLLECTIONS + jobHandle = job.ScheduleBatch(count,GltfImport.DefaultBatchCount); +#else + jobHandle = job.Schedule(count, GltfImport.DefaultBatchCount); +#endif } } else @@ -212,7 +248,11 @@ public void Dispose() outputByteStride = outputByteStride, result = output }; - jobHandle = job.ScheduleBatch(count, GltfImportBase.DefaultBatchCount); +#if UNITY_COLLECTIONS + jobHandle = job.ScheduleBatch(count,GltfImport.DefaultBatchCount); +#else + jobHandle = job.Schedule(count, GltfImport.DefaultBatchCount); +#endif } else { @@ -223,7 +263,11 @@ public void Dispose() outputByteStride = outputByteStride, result = output }; - jobHandle = job.ScheduleBatch(count, GltfImportBase.DefaultBatchCount); +#if UNITY_COLLECTIONS + jobHandle = job.ScheduleBatch(count,GltfImport.DefaultBatchCount); +#else + jobHandle = job.Schedule(count, GltfImport.DefaultBatchCount); +#endif } } else @@ -258,7 +302,11 @@ public void Dispose() outputByteStride = outputByteStride, result = output }; - jobHandle = jobTangent.ScheduleBatch(count, GltfImportBase.DefaultBatchCount); +#if UNITY_COLLECTIONS + jobHandle = jobTangent.ScheduleBatch(count,GltfImport.DefaultBatchCount); +#else + jobHandle = jobTangent.Schedule(count, GltfImport.DefaultBatchCount); +#endif break; } case GltfComponentType.Short: @@ -271,7 +319,11 @@ public void Dispose() outputByteStride = outputByteStride, result = output }; - jobHandle = jobTangent.ScheduleBatch(count, GltfImportBase.DefaultBatchCount); +#if UNITY_COLLECTIONS + jobHandle = jobTangent.ScheduleBatch(count,GltfImport.DefaultBatchCount); +#else + jobHandle = jobTangent.Schedule(count, GltfImport.DefaultBatchCount); +#endif break; } case GltfComponentType.Byte: @@ -284,7 +336,11 @@ public void Dispose() outputByteStride = outputByteStride, result = output }; - jobHandle = jobTangent.ScheduleBatch(count, GltfImportBase.DefaultBatchCount); +#if UNITY_COLLECTIONS + jobHandle = jobTangent.ScheduleBatch(count,GltfImport.DefaultBatchCount); +#else + jobHandle = jobTangent.Schedule(count, GltfImport.DefaultBatchCount); +#endif break; } default: @@ -323,7 +379,7 @@ public void Dispose() JobHandle? jobHandle = job.Schedule( sparseCount, - GltfImportBase.DefaultBatchCount, + GltfImport.DefaultBatchCount, dependsOn: dependsOn ?? default(JobHandle) ); Profiler.EndSample(); diff --git a/Runtime/Scripts/VertexBufferTexCoords.cs b/Runtime/Scripts/VertexBufferTexCoords.cs index bbe03b32a..26d53a189 100644 --- a/Runtime/Scripts/VertexBufferTexCoords.cs +++ b/Runtime/Scripts/VertexBufferTexCoords.cs @@ -163,7 +163,11 @@ protected override void Dispose(bool disposing) outputByteStride = outputByteStride, result = output }; - jobHandle = jobUv.ScheduleBatch(count, GltfImportBase.DefaultBatchCount); +#if UNITY_COLLECTIONS + jobHandle = jobUv.ScheduleBatch(count,GltfImport.DefaultBatchCount); +#else + jobHandle = jobUv.Schedule(count, GltfImport.DefaultBatchCount); +#endif } break; case GltfComponentType.UnsignedByte: @@ -176,7 +180,7 @@ protected override void Dispose(bool disposing) outputByteStride = outputByteStride, result = output }; - jobHandle = jobUv.Schedule(count, GltfImportBase.DefaultBatchCount); + jobHandle = jobUv.Schedule(count, GltfImport.DefaultBatchCount); } else { @@ -187,7 +191,11 @@ protected override void Dispose(bool disposing) outputByteStride = outputByteStride, result = output }; - jobHandle = jobUv.ScheduleBatch(count, GltfImportBase.DefaultBatchCount); +#if UNITY_COLLECTIONS + jobHandle = jobUv.ScheduleBatch(count,GltfImport.DefaultBatchCount); +#else + jobHandle = jobUv.Schedule(count, GltfImport.DefaultBatchCount); +#endif } break; case GltfComponentType.UnsignedShort: @@ -200,7 +208,7 @@ protected override void Dispose(bool disposing) outputByteStride = outputByteStride, result = output }; - jobHandle = jobUv.Schedule(count, GltfImportBase.DefaultBatchCount); + jobHandle = jobUv.Schedule(count, GltfImport.DefaultBatchCount); } else { @@ -211,7 +219,11 @@ protected override void Dispose(bool disposing) outputByteStride = outputByteStride, result = output }; - jobHandle = jobUv.ScheduleBatch(count, GltfImportBase.DefaultBatchCount); +#if UNITY_COLLECTIONS + jobHandle = jobUv.ScheduleBatch(count,GltfImport.DefaultBatchCount); +#else + jobHandle = jobUv.Schedule(count, GltfImport.DefaultBatchCount); +#endif } break; case GltfComponentType.Short: @@ -224,7 +236,11 @@ protected override void Dispose(bool disposing) outputByteStride = outputByteStride, result = output }; - jobHandle = job.ScheduleBatch(count, GltfImportBase.DefaultBatchCount); +#if UNITY_COLLECTIONS + jobHandle = job.ScheduleBatch(count,GltfImport.DefaultBatchCount); +#else + jobHandle = job.Schedule(count, GltfImport.DefaultBatchCount); +#endif } else { @@ -235,7 +251,11 @@ protected override void Dispose(bool disposing) outputByteStride = outputByteStride, result = output }; - jobHandle = job.ScheduleBatch(count, GltfImportBase.DefaultBatchCount); +#if UNITY_COLLECTIONS + jobHandle = job.ScheduleBatch(count,GltfImport.DefaultBatchCount); +#else + jobHandle = job.Schedule(count, GltfImport.DefaultBatchCount); +#endif } break; case GltfComponentType.Byte: @@ -248,7 +268,11 @@ protected override void Dispose(bool disposing) outputByteStride = outputByteStride, result = output }; - jobHandle = jobInt8.ScheduleBatch(count, GltfImportBase.DefaultBatchCount); +#if UNITY_COLLECTIONS + jobHandle = jobInt8.ScheduleBatch(count,GltfImport.DefaultBatchCount); +#else + jobHandle = jobInt8.Schedule(count, GltfImport.DefaultBatchCount); +#endif } else { @@ -259,7 +283,11 @@ protected override void Dispose(bool disposing) outputByteStride = outputByteStride, result = output }; - jobHandle = jobInt8.ScheduleBatch(count, GltfImportBase.DefaultBatchCount); +#if UNITY_COLLECTIONS + jobHandle = jobInt8.ScheduleBatch(count,GltfImport.DefaultBatchCount); +#else + jobHandle = jobInt8.Schedule(count, GltfImport.DefaultBatchCount); +#endif } break; default: diff --git a/Runtime/Scripts/glTFast.asmdef b/Runtime/Scripts/glTFast.asmdef index f2c3b0f0d..d6d77ddb4 100644 --- a/Runtime/Scripts/glTFast.asmdef +++ b/Runtime/Scripts/glTFast.asmdef @@ -5,6 +5,7 @@ "Unity.Mathematics", "Unity.Burst", "Unity.Collections", + "Unity.Jobs", "Draco", "Ktx", "Unity.Meshopt.Decompress", @@ -79,6 +80,11 @@ "expression": "", "define": "UNITY_WEBREQUEST_TEXTURE" }, + { + "name": "com.unity.collections", + "expression": "1.5.0", + "define": "UNITY_COLLECTIONS" + }, { "name": "com.unity.meshopt.decompress", "expression": "", @@ -103,6 +109,11 @@ "name": "com.unity.nuget.newtonsoft-json", "expression": "3", "define": "NEWTONSOFT_JSON" + }, + { + "name": "com.unity.mathematics", + "expression": "1.3", + "define": "UNITY_MATH_1_3_OR_NEWER" } ], "noEngineReferences": false diff --git a/package.json b/package.json index 1a97634e5..e3e78323c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "com.atteneder.gltfast", - "version": "6.10.0", + "version": "6.10.1", "displayName": "glTFast", "description": "Use glTFast to import and export glTF 3D files efficiently at runtime or in the Editor", "unity": "2020.3", @@ -23,9 +23,9 @@ "dependencies": { "com.unity.modules.jsonserialize": "1.0.0", "com.unity.modules.unitywebrequest": "1.0.0", - "com.unity.mathematics": "1.3.1", + "com.unity.mathematics": "1.2.6", "com.unity.burst": "1.8.4", - "com.unity.collections": "1.5.1" + "com.unity.collections": "1.2.4" }, "unityRelease": "48f1" } From 4dae6da5ba703bcf5d1875479047264b30f70303 Mon Sep 17 00:00:00 2001 From: Andreas Atteneder Date: Thu, 22 May 2025 13:42:34 +0200 Subject: [PATCH 07/27] com.atteneder.gltfast Release 6.10.2 --- CHANGELOG.md | 37 ++++-- Documentation~/tests.md | 13 +- Editor/Scripts/AssemblyInfo.cs | 6 + Editor/Scripts/AssemblyInfo.cs.meta | 11 ++ Editor/Scripts/Constants.cs | 13 ++ Editor/Scripts/Constants.cs.meta | 11 ++ Editor/Scripts/GltfImporter.cs | 2 - Editor/Scripts/ImportSettingsEditor.cs | 1 + Editor/Scripts/MenuEntries.cs | 125 ++++++++++++------ Runtime/Scripts/AssemblyInfo.cs | 3 +- Runtime/Scripts/Export/Constants.cs | 2 +- Runtime/Scripts/Export/GltfWriter.cs | 53 +++++--- Runtime/Scripts/GltfImport.cs | 2 + Runtime/Scripts/Jobs.cs | 2 - .../Loading/DefaultDownloadProvider.cs | 12 +- Runtime/Scripts/Logging/ICodeLogger.cs | 20 ++- Runtime/Scripts/Schema/FakeSchema/Root.cs | 2 - Runtime/Scripts/Schema/Root.cs | 2 - gltfast.patch | 0 gltfast.patch.meta | 7 + package.json | 2 +- 21 files changed, 244 insertions(+), 82 deletions(-) create mode 100644 Editor/Scripts/AssemblyInfo.cs create mode 100644 Editor/Scripts/AssemblyInfo.cs.meta create mode 100644 Editor/Scripts/Constants.cs create mode 100644 Editor/Scripts/Constants.cs.meta create mode 100644 gltfast.patch create mode 100644 gltfast.patch.meta diff --git a/CHANGELOG.md b/CHANGELOG.md index d7718b1b5..056e13e28 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,33 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [6.10.2] - 2025-02-03 + +### Added +- (Importer) *Textures Readable* checkbox in the imnporter inspector (*Textures* section). +- (Export) Error message when attempting to export with unsupported meshopt compression. +- (Tests) Runtime import performance tests. +- (Tests) Procedurally generated glTFs for testing purpose. +- (Tests) Editor export tests. + +### Changed +- (Tests) Reduced jobs performance test duration by lowering buffer sizes and switching to dynamic measurement counts. +- (Tests) Performance tests are not run, unless the `RUN_PERFORMANCE_TESTS` scripting define is set. + +### Fixed +- Performance test compilation if *Collections* package >= 1.5.0 is not installed. +- Inconsistent profiler markers. +- (Export) Unity Editor not responding anymore after export glTF with non-readable meshes. +- (Export) Missing `inverseBindMatrices`/`bindPoses` on skinned meshes when exporting with Draco compression. +- (CI) Ensuring the development documentation and the `Tools` code is checked for code formatting as well. +- Compilation for `ICodeLogger` implementors by adding a default implementation for `Log` (works for Unity 2021 LTS and newer). + +### Removed + +### Deprecated + +### Security + ## [6.10.1] - 2025-01-09 ### Added @@ -21,16 +48,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Build error when used along with packages that depend on `com.unity.collections` versions older than 1.5 (e.g. Polyspatial 1.x; fixes [#730](https://github.com/atteneder/glTFast/issues/730)). - Invalid mesh bounds on meshes with one submesh (fixes [#743](https://github.com/atteneder/glTFast/issues/743)). -### Removed - - -### Deprecated - - -### Security - - - ## [6.10.0] - 2024-12-16 ### Added diff --git a/Documentation~/tests.md b/Documentation~/tests.md index 110d1f325..db5bb34bb 100644 --- a/Documentation~/tests.md +++ b/Documentation~/tests.md @@ -7,7 +7,8 @@ Once your project is correctly setup (by either opening one of the provided [test projects](test-project-setup.md#test-projects) or following the steps to [setup your own project](test-project-setup.md#setup-a-custom-project)) you'll be able to run all tests via the *Test Runner* window (under *Window* → *General* → *Test Runner*; see [Test Framework documentation][UTFRunTests] for details about running tests). -Passing all tests is a requirement for getting a [contribution](contribute.md) accepted. +> [!NOTE] +> Passing all tests is a requirement for getting a [contribution](contribute.md) accepted. On an unmodified copy of *glTFast* all tests should pass. Once you start introducing changes it's recommended to periodically check that the tests still pass. @@ -30,6 +31,15 @@ When tests are run in a player build, `GLTFast.Editor.Tests.PreprocessBuild` cop > [!CAUTION] > If you ran the tests in a production project, you need to remove the test folders in StreamingAssets to ensure they don't end up in a production build. +## Performance Tests + +*glTFast* comes with a set of procedurally generated glTFs and tests dedicated to measure and track performance metrics. In order to run the performance tests the [Performance Testing Package for Unity Test Framework][UTFPerformance] has to be installed, otherwise they won't show up. + +The glTFs required for the tests have to be generated prior to running the tests by clicking *Tools* → *glTFast* → *Create performance test glTFs* from the main menu. + +> [!TIP] +> The performance test can be included or excluded from test runs via the *Performance* test category they've been assigned to. + ## Trademarks *Unity®* is a registered trademark of [Unity Technologies][unity]. @@ -41,4 +51,5 @@ When tests are run in a player build, `GLTFast.Editor.Tests.PreprocessBuild` cop [StreamingAssets]: https://docs.unity3d.com/Manual/StreamingAssets.html [unity]: https://unity.com [UTF]: https://docs.unity3d.com/Packages/com.unity.test-framework@latest/ +[UTFPerformance]: https://docs.unity3d.com/Packages/com.unity.test-framework.performance@latest/ [UTFRunTests]: https://docs.unity3d.com/Packages/com.unity.test-framework@1.4/manual/workflow-run-test.html diff --git a/Editor/Scripts/AssemblyInfo.cs b/Editor/Scripts/AssemblyInfo.cs new file mode 100644 index 000000000..cb86af105 --- /dev/null +++ b/Editor/Scripts/AssemblyInfo.cs @@ -0,0 +1,6 @@ +// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System.Runtime.CompilerServices; + +[assembly: InternalsVisibleTo("glTFast.Editor.Tests")] diff --git a/Editor/Scripts/AssemblyInfo.cs.meta b/Editor/Scripts/AssemblyInfo.cs.meta new file mode 100644 index 000000000..1c878d9c5 --- /dev/null +++ b/Editor/Scripts/AssemblyInfo.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0da5eda5fa95e4275ad1af63eda3dd54 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Editor/Scripts/Constants.cs b/Editor/Scripts/Constants.cs new file mode 100644 index 000000000..3ccf92991 --- /dev/null +++ b/Editor/Scripts/Constants.cs @@ -0,0 +1,13 @@ +// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using UnityEngine; + +namespace GLTFast.Editor +{ + static class Constants + { + public const string gltfExtension = "gltf"; + public const string gltfBinaryExtension = "glb"; + } +} diff --git a/Editor/Scripts/Constants.cs.meta b/Editor/Scripts/Constants.cs.meta new file mode 100644 index 000000000..43a1e7556 --- /dev/null +++ b/Editor/Scripts/Constants.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 19321ba41adf44e7b8819d4f4731b62c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Editor/Scripts/GltfImporter.cs b/Editor/Scripts/GltfImporter.cs index 26f4ce2a8..c0c6b3dc2 100644 --- a/Editor/Scripts/GltfImporter.cs +++ b/Editor/Scripts/GltfImporter.cs @@ -30,8 +30,6 @@ using UnityEngine.Rendering; using Object = UnityEngine.Object; -[assembly: InternalsVisibleTo("glTFast.Editor.Tests")] - namespace GLTFast.Editor { diff --git a/Editor/Scripts/ImportSettingsEditor.cs b/Editor/Scripts/ImportSettingsEditor.cs index 6961f5965..2a66c21c4 100644 --- a/Editor/Scripts/ImportSettingsEditor.cs +++ b/Editor/Scripts/ImportSettingsEditor.cs @@ -33,6 +33,7 @@ internal static void CreateUI(SerializedObject serializedObject, VisualElement c // Group texture related properties in a foldout var properties = new[] { serializedObject.FindProperty($"{pathPrefix}generateMipMaps"), + serializedObject.FindProperty($"{pathPrefix}texturesReadable"), serializedObject.FindProperty($"{pathPrefix}defaultMinFilterMode"), serializedObject.FindProperty($"{pathPrefix}defaultMagFilterMode"), serializedObject.FindProperty($"{pathPrefix}anisotropicFilterLevel"), diff --git a/Editor/Scripts/MenuEntries.cs b/Editor/Scripts/MenuEntries.cs index 5c79f92bc..137af1b63 100644 --- a/Editor/Scripts/MenuEntries.cs +++ b/Editor/Scripts/MenuEntries.cs @@ -1,13 +1,16 @@ // SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 +using System; using System.IO; using System.Linq; +using System.Threading.Tasks; using GLTFast.Export; -using GLTFast.Utils; using UnityEditor; using UnityEngine; using UnityEngine.SceneManagement; +// MenuItem are designed for `static void` signatures, but `async Task` is required for the async export methods. +// ReSharper disable Unity.IncorrectMethodSignature #if GLTF_VALIDATOR using UnityEditor.Formats.Gltf.Validation; @@ -20,10 +23,6 @@ namespace GLTFast.Editor static class MenuEntries { - - const string k_GltfExtension = "gltf"; - const string k_GltfBinaryExtension = "glb"; - static string SaveFolderPath { get @@ -45,9 +44,16 @@ static bool ExportSelectionValidate() } [MenuItem("Assets/Export glTF/glTF (.gltf)", false, 31)] - static void ExportSelectionMenu() + static async Task ExportSelectionMenu() { - ExportSelection(false); + try + { + await ExportSelection(false); + } + catch (Exception e) + { + Debug.LogException(e); + } } [MenuItem("Assets/Export glTF/glTF-Binary (.glb)", true)] @@ -57,9 +63,16 @@ static bool ExportSelectionBinaryValidate() } [MenuItem("Assets/Export glTF/glTF-Binary (.glb)", false, 32)] - static void ExportSelectionBinaryMenu() + static async Task ExportSelectionBinaryMenu() { - ExportSelection(true); + try + { + await ExportSelection(true); + } + catch (Exception e) + { + Debug.LogException(e); + } } [MenuItem("GameObject/Export glTF/glTF (.gltf)", true)] @@ -69,9 +82,16 @@ static bool ExportGameObjectValidate() } [MenuItem("GameObject/Export glTF/glTF (.gltf)", false, 32)] - static void ExportGameObjectMenu(MenuCommand command) + static async Task ExportGameObjectMenu(MenuCommand command) { - ExportGameObject(command, false); + try + { + await ExportGameObject(command, false); + } + catch (Exception e) + { + Debug.LogException(e); + } } [MenuItem("GameObject/Export glTF/glTF-Binary (.glb)", true)] @@ -81,29 +101,36 @@ static bool ExportGameObjectBinaryValidate() } [MenuItem("GameObject/Export glTF/glTF-Binary (.glb)", false, 31)] - static void ExportGameObjectBinaryMenu(MenuCommand command) + static async Task ExportGameObjectBinaryMenu(MenuCommand command) { - ExportGameObject(command, true); + try + { + await ExportGameObject(command, true); + } + catch (Exception e) + { + Debug.LogException(e); + } } - static void ExportGameObject(MenuCommand command, bool binary) + static async Task ExportGameObject(MenuCommand command, bool binary) { var go = command.context as GameObject; if (go != null) { - Export(binary, go.name, new[] { go }); + await Export(binary, go.name, new[] { go }); } else if (TryGetExportNameAndGameObjects(out var name, out var gameObjects)) { - Export(binary, name, gameObjects); + await Export(binary, name, gameObjects); } } - static void ExportSelection(bool binary) + static async Task ExportSelection(bool binary) { if (TryGetExportNameAndGameObjects(out var name, out var gameObjects)) { - Export(binary, name, gameObjects); + await Export(binary, name, gameObjects); } else { @@ -111,9 +138,9 @@ static void ExportSelection(bool binary) } } - static void Export(bool binary, string name, GameObject[] gameObjects) + static async Task Export(bool binary, string name, GameObject[] gameObjects) { - var extension = binary ? k_GltfBinaryExtension : k_GltfExtension; + var extension = binary ? Constants.gltfBinaryExtension : Constants.gltfExtension; var path = EditorUtility.SaveFilePanel( "glTF Export Path", SaveFolderPath, @@ -122,21 +149,29 @@ static void Export(bool binary, string name, GameObject[] gameObjects) ); if (!string.IsNullOrEmpty(path)) { - SaveFolderPath = Directory.GetParent(path)?.FullName; - var settings = GetDefaultSettings(binary); - var goSettings = new GameObjectExportSettings { OnlyActiveInHierarchy = false }; - var export = new GameObjectExport(settings, gameObjectExportSettings: goSettings, logger: new ConsoleLogger()); - export.AddScene(gameObjects, name); - var success = AsyncHelpers.RunSync(() => export.SaveToFileAndDispose(path)); + await Export(path, binary, name, gameObjects); + } + } + internal static async Task Export(string destinationPath, bool binary, string name, GameObject[] gameObjects) + { + SaveFolderPath = Directory.GetParent(destinationPath)?.FullName; + var settings = GetDefaultSettings(binary); + var goSettings = new GameObjectExportSettings { OnlyActiveInHierarchy = false }; + var export = new GameObjectExport(settings, gameObjectExportSettings: goSettings, logger: new ConsoleLogger()); + export.AddScene(gameObjects, name); #if GLTF_VALIDATOR - if (success) - { - var report = Validator.Validate(path); - report.Log(); - } + var success = #endif + await export.SaveToFileAndDispose(destinationPath); + +#if GLTF_VALIDATOR + if (success) + { + var report = Validator.Validate(destinationPath); + report.Log(); } +#endif } static ExportSettings GetDefaultSettings(bool binary) @@ -149,22 +184,36 @@ static ExportSettings GetDefaultSettings(bool binary) } [MenuItem("File/Export Scene/glTF (.gltf)", false, 173)] - static void ExportSceneMenu() + static async Task ExportSceneMenu() { - ExportScene(false); + try + { + await ExportScene(false); + } + catch (Exception e) + { + Debug.LogException(e); + } } [MenuItem("File/Export Scene/glTF-Binary (.glb)", false, 174)] - static void ExportSceneBinaryMenu() + static async Task ExportSceneBinaryMenu() { - ExportScene(true); + try + { + await ExportScene(true); + } + catch (Exception e) + { + Debug.LogException(e); + } } - static void ExportScene(bool binary) + static async Task ExportScene(bool binary) { var scene = SceneManager.GetActiveScene(); var gameObjects = scene.GetRootGameObjects(); - var extension = binary ? k_GltfBinaryExtension : k_GltfExtension; + var extension = binary ? Constants.gltfBinaryExtension : Constants.gltfExtension; var path = EditorUtility.SaveFilePanel( "glTF Export Path", @@ -178,7 +227,7 @@ static void ExportScene(bool binary) var settings = GetDefaultSettings(binary); var export = new GameObjectExport(settings, logger: new ConsoleLogger()); export.AddScene(gameObjects, scene.name); - AsyncHelpers.RunSync(() => export.SaveToFileAndDispose(path)); + await export.SaveToFileAndDispose(path); #if GLTF_VALIDATOR var report = Validator.Validate(path); report.Log(); diff --git a/Runtime/Scripts/AssemblyInfo.cs b/Runtime/Scripts/AssemblyInfo.cs index a2b9b5a52..a5ae44f01 100644 --- a/Runtime/Scripts/AssemblyInfo.cs +++ b/Runtime/Scripts/AssemblyInfo.cs @@ -3,7 +3,8 @@ using System.Runtime.CompilerServices; -[assembly: InternalsVisibleTo("glTFast.Editor")] +[assembly: InternalsVisibleTo("glTF-test-framework.Tests")] // TODO: Remove once those tests are no longer used.\ [assembly: InternalsVisibleTo("glTFast.Editor.Tests")] +[assembly: InternalsVisibleTo("glTFast.Editor")] [assembly: InternalsVisibleTo("glTFast.Export")] [assembly: InternalsVisibleTo("glTFast.Tests")] diff --git a/Runtime/Scripts/Export/Constants.cs b/Runtime/Scripts/Export/Constants.cs index c6d9149df..184225bca 100644 --- a/Runtime/Scripts/Export/Constants.cs +++ b/Runtime/Scripts/Export/Constants.cs @@ -7,7 +7,7 @@ namespace GLTFast.Export { static class Constants { - public const string version = "6.10.1"; + public const string version = "6.10.2"; internal const string mimeTypePNG = "image/png"; internal const string mimeTypeJPG = "image/jpeg"; diff --git a/Runtime/Scripts/Export/GltfWriter.cs b/Runtime/Scripts/Export/GltfWriter.cs index 8b11c09b1..1f524ee3a 100755 --- a/Runtime/Scripts/Export/GltfWriter.cs +++ b/Runtime/Scripts/Export/GltfWriter.cs @@ -902,6 +902,12 @@ async Task BakeMeshes() return false; #endif } + else if ((m_Settings.Compression & Compression.MeshOpt) != 0) + { + m_Logger?.Error("Meshopt compression is not supported yet."); + return false; + } + var tasks = m_Settings.Deterministic ? null : new List(m_Meshes.Count); var meshData = CollectMeshData(out var meshDataArray); @@ -1136,25 +1142,7 @@ async Task BakeMesh(int meshId, IMeshData meshData) } } - // Add skin - var bindposes = uMesh.bindposes; - if (bindposes != null && bindposes.Length > 0) - { - var accessor = new Accessor - { - byteOffset = 0, - componentType = GltfComponentType.Float, - count = bindposes.Length - }; - accessor.SetAttributeType(GltfAccessorAttributeType.MAT4); - - var accessorId = AddAccessor(accessor); - m_MeshBindPoses ??= new Dictionary(); - m_MeshBindPoses[meshId] = accessorId; - - var bufferViewId = await WriteBindPosesToBuffer(bindposes); - accessor.bufferView = bufferViewId; - } + await ExportBindPoses(meshId, uMesh); var streamCount = 1; for (var stream = 0; stream < outputStrides.Length; stream++) @@ -1470,6 +1458,29 @@ await ConvertGenericAttribute( } } + async Task ExportBindPoses(int meshId, UnityEngine.Mesh uMesh) + { + // Add skin + var bindposes = uMesh.bindposes; + if (bindposes != null && bindposes.Length > 0) + { + var accessor = new Accessor + { + byteOffset = 0, + componentType = GltfComponentType.Float, + count = bindposes.Length + }; + accessor.SetAttributeType(GltfAccessorAttributeType.MAT4); + + var accessorId = AddAccessor(accessor); + m_MeshBindPoses ??= new Dictionary(); + m_MeshBindPoses[meshId] = accessorId; + + var bufferViewId = await WriteBindPosesToBuffer(bindposes); + accessor.bufferView = bufferViewId; + } + } + async Task WriteBindPosesToBuffer(Matrix4x4[] bindposes) { var bufferViewId = -1; @@ -1486,7 +1497,7 @@ async Task WriteBindPosesToBuffer(Matrix4x4[] bindposes) } job.Complete(); bufferViewId = WriteBufferViewToBuffer( - matrices.Reinterpret(sizeof(float) * 4 * 4), BufferViewTarget.None + matrices.Reinterpret(sizeof(float) * 4 * 4), BufferViewTarget.None, byteAlignment: 4 ); nativeBindPoses.Dispose(); @@ -1589,6 +1600,8 @@ async Task BakeMeshDraco(int meshId) indices = indicesId }; } + + await ExportBindPoses(meshId, unityMesh); } static void SetAttributesByType( diff --git a/Runtime/Scripts/GltfImport.cs b/Runtime/Scripts/GltfImport.cs index a45cd0219..b75754df7 100755 --- a/Runtime/Scripts/GltfImport.cs +++ b/Runtime/Scripts/GltfImport.cs @@ -3383,6 +3383,8 @@ out _ // Retrieve indices data jobified m_AccessorData = new IDisposable[Root.Accessors.Count]; + Profiler.EndSample(); + for (int i = 0; i < m_AccessorData.Length; i++) { Profiler.BeginSample("LoadAccessorData.IndicesMatrixJob"); diff --git a/Runtime/Scripts/Jobs.cs b/Runtime/Scripts/Jobs.cs index aaba50aec..1f9e4e3a5 100644 --- a/Runtime/Scripts/Jobs.cs +++ b/Runtime/Scripts/Jobs.cs @@ -13,8 +13,6 @@ using Unity.Mathematics; using static Unity.Mathematics.math; -[assembly: InternalsVisibleTo("glTF-test-framework.Tests")] - namespace GLTFast.Jobs { diff --git a/Runtime/Scripts/Loading/DefaultDownloadProvider.cs b/Runtime/Scripts/Loading/DefaultDownloadProvider.cs index 28cf928f4..24ad80b55 100644 --- a/Runtime/Scripts/Loading/DefaultDownloadProvider.cs +++ b/Runtime/Scripts/Loading/DefaultDownloadProvider.cs @@ -6,6 +6,7 @@ using UnityEngine; using UnityEngine.Networking; +using UnityEngine.Profiling; namespace GLTFast.Loading { @@ -111,7 +112,16 @@ public async Task WaitAsync() /// /// Downloaded data as byte array /// - public byte[] Data => m_Request?.downloadHandler.data; + public byte[] Data + { + get + { + Profiler.BeginSample("AwaitableDownload.Data"); + var result = m_Request?.downloadHandler.data; + Profiler.EndSample(); + return result; + } + } /// /// Downloaded data as string diff --git a/Runtime/Scripts/Logging/ICodeLogger.cs b/Runtime/Scripts/Logging/ICodeLogger.cs index dd9590a56..1952e05b3 100644 --- a/Runtime/Scripts/Logging/ICodeLogger.cs +++ b/Runtime/Scripts/Logging/ICodeLogger.cs @@ -40,7 +40,25 @@ public interface ICodeLogger /// Type of message e.g. warn or error etc. /// Message's log code /// Additional, optional message parts - void Log(LogType logType, LogCode code, params string[] messages); + public void Log(LogType logType, LogCode code, params string[] messages) +#if UNITY_2021_3_OR_NEWER + { + switch (logType) + { + case LogType.Log: + Info(code, messages); + break; + case LogType.Warning: + Warning(code, messages); + break; + default: + Error(code, messages); + break; + } + } +#else + ; +#endif /// /// Dispatches a critical error message. diff --git a/Runtime/Scripts/Schema/FakeSchema/Root.cs b/Runtime/Scripts/Schema/FakeSchema/Root.cs index 390bffa6d..d4090d0d3 100644 --- a/Runtime/Scripts/Schema/FakeSchema/Root.cs +++ b/Runtime/Scripts/Schema/FakeSchema/Root.cs @@ -3,8 +3,6 @@ using System.Runtime.CompilerServices; -[assembly: InternalsVisibleTo("glTFast")] - namespace GLTFast.FakeSchema { diff --git a/Runtime/Scripts/Schema/Root.cs b/Runtime/Scripts/Schema/Root.cs index 866092e85..17fdcd351 100644 --- a/Runtime/Scripts/Schema/Root.cs +++ b/Runtime/Scripts/Schema/Root.cs @@ -8,8 +8,6 @@ using UnityEngine.Assertions; using UnityEngine.Profiling; -[assembly: InternalsVisibleTo("glTFast.Editor.Tests")] - namespace GLTFast.Schema { diff --git a/gltfast.patch b/gltfast.patch new file mode 100644 index 000000000..e69de29bb diff --git a/gltfast.patch.meta b/gltfast.patch.meta new file mode 100644 index 000000000..f3c2fdf0e --- /dev/null +++ b/gltfast.patch.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a74b70f0a34204da682aaaf7b3ec8430 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package.json b/package.json index e3e78323c..b1c9f01e7 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "com.atteneder.gltfast", - "version": "6.10.1", + "version": "6.10.2", "displayName": "glTFast", "description": "Use glTFast to import and export glTF 3D files efficiently at runtime or in the Editor", "unity": "2020.3", From c9133ffdf9cf6e39e18600ca0714b883f7c98d3d Mon Sep 17 00:00:00 2001 From: Andreas Atteneder Date: Thu, 22 May 2025 13:59:05 +0200 Subject: [PATCH 08/27] com.atteneder.gltfast Release 6.10.3 --- CHANGELOG.md | 21 +++++++++++++++------ Documentation~/features.md | 1 + Editor/Scripts/AssemblyInfo.cs.meta | 11 +---------- Runtime/Scripts/DracoMeshGenerator.cs | 4 ++-- Runtime/Scripts/Export/Constants.cs | 2 +- Runtime/Scripts/MeshGenerator.cs | 12 ++++++++---- Runtime/Scripts/MorphTargetsGenerator.cs | 8 ++------ gltfast.patch | 0 gltfast.patch.meta | 7 ------- package.json | 2 +- 10 files changed, 31 insertions(+), 37 deletions(-) delete mode 100644 gltfast.patch delete mode 100644 gltfast.patch.meta diff --git a/CHANGELOG.md b/CHANGELOG.md index 056e13e28..d3ae88211 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,21 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [6.10.3] - 2025-02-21 + +### Added + +### Changed + +### Fixed +- (Import) Morph targets on multi-primitive meshes (where primitives reference identical vertex buffers; fixes [#755](https://github.com/atteneder/glTFast/issues/755)). + +### Removed + +### Deprecated + +### Security + ## [6.10.2] - 2025-02-03 ### Added @@ -25,12 +40,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - (CI) Ensuring the development documentation and the `Tools` code is checked for code formatting as well. - Compilation for `ICodeLogger` implementors by adding a default implementation for `Log` (works for Unity 2021 LTS and newer). -### Removed - -### Deprecated - -### Security - ## [6.10.1] - 2025-01-09 ### Added diff --git a/Documentation~/features.md b/Documentation~/features.md index c8580154c..066427dfb 100644 --- a/Documentation~/features.md +++ b/Documentation~/features.md @@ -102,6 +102,7 @@ glTF defines an [extension mechanism][gltf-ext] that allows the base format to b | KHR_lights_punctual | ✅ | ✅ | KHR_materials_anisotropy | | | | KHR_materials_clearcoat | ✅ | ✅ +| KHR_materials_diffuse_transmission | | | | KHR_materials_dispersion | | | | KHR_materials_emissive_strength | | | | KHR_materials_ior | [ℹ️][IOR] | diff --git a/Editor/Scripts/AssemblyInfo.cs.meta b/Editor/Scripts/AssemblyInfo.cs.meta index 1c878d9c5..257f0eeef 100644 --- a/Editor/Scripts/AssemblyInfo.cs.meta +++ b/Editor/Scripts/AssemblyInfo.cs.meta @@ -1,11 +1,2 @@ fileFormatVersion: 2 -guid: 0da5eda5fa95e4275ad1af63eda3dd54 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: +guid: 0da5eda5fa95e4275ad1af63eda3dd54 \ No newline at end of file diff --git a/Runtime/Scripts/DracoMeshGenerator.cs b/Runtime/Scripts/DracoMeshGenerator.cs index 7e751d846..0d0234a19 100644 --- a/Runtime/Scripts/DracoMeshGenerator.cs +++ b/Runtime/Scripts/DracoMeshGenerator.cs @@ -115,7 +115,7 @@ GltfImportBase gltfImport vertexIntervals[vertexIntervals.Length-1] = vertexCount; m_MorphTargetsGenerator = new MorphTargetsGenerator( vertexCount, - vertexIntervals, + 1, morphTargets.Length, morphTargetNames, morphTargets[0].NORMAL >= 0, @@ -128,7 +128,7 @@ GltfImportBase gltfImport for (var morphTargetIndex = 0; morphTargetIndex < primitive.targets.Length; morphTargetIndex++) { var target = primitive.targets[morphTargetIndex]; - m_MorphTargetsGenerator.AddMorphTarget(subMesh, morphTargetIndex, target); + m_MorphTargetsGenerator.AddMorphTarget( 0, morphTargetIndex, target); } } } diff --git a/Runtime/Scripts/Export/Constants.cs b/Runtime/Scripts/Export/Constants.cs index 184225bca..9731a363c 100644 --- a/Runtime/Scripts/Export/Constants.cs +++ b/Runtime/Scripts/Export/Constants.cs @@ -7,7 +7,7 @@ namespace GLTFast.Export { static class Constants { - public const string version = "6.10.2"; + public const string version = "6.10.3"; internal const string mimeTypePNG = "image/png"; internal const string mimeTypeJPG = "image/jpeg"; diff --git a/Runtime/Scripts/MeshGenerator.cs b/Runtime/Scripts/MeshGenerator.cs index 201b90c6b..dd3e81ea2 100644 --- a/Runtime/Scripts/MeshGenerator.cs +++ b/Runtime/Scripts/MeshGenerator.cs @@ -174,7 +174,7 @@ GltfImportBase gltfImport { m_MorphTargetsGenerator = new MorphTargetsGenerator( m_VertexData.VertexCount, - m_VertexData.VertexIntervals, + m_Primitives.Count, morphTargets.Length, morphTargetNames, hasNormals, @@ -278,12 +278,15 @@ async Task GenerateMesh(GltfImportBase gltfImport) CalculateIndicesJob(primitive, vertexCount, out m_Indices[subMeshIndex], out var job); tmpList.Add(job); } - - AddMorphTargets(subMeshIndex, primitive, gltfImport.Logger); } if (m_MorphTargetsGenerator != null) { + for (var subMeshIndex = 0; subMeshIndex < m_Primitives.Count; subMeshIndex++) + { + var primitive = m_Primitives[subMeshIndex]; + AddMorphTargets(subMeshIndex, primitive, gltfImport.Logger); + } tmpList.Add(m_MorphTargetsGenerator.GetJobHandle()); } @@ -296,11 +299,12 @@ void AddMorphTargets(int subMesh, MeshPrimitiveBase primitive, ICodeLogger logge { if (m_MorphTargetsGenerator == null) return; + var vertexOffset = m_VertexData.VertexIntervals[subMesh]; for (var morphTargetIndex = 0; morphTargetIndex < primitive.targets.Length; morphTargetIndex++) { var morphTarget = primitive.targets[morphTargetIndex]; var success = m_MorphTargetsGenerator.AddMorphTarget( - subMesh, + vertexOffset, morphTargetIndex, morphTarget ); diff --git a/Runtime/Scripts/MorphTargetsGenerator.cs b/Runtime/Scripts/MorphTargetsGenerator.cs index c0216ca64..6ac0d4180 100644 --- a/Runtime/Scripts/MorphTargetsGenerator.cs +++ b/Runtime/Scripts/MorphTargetsGenerator.cs @@ -17,7 +17,6 @@ namespace GLTFast class MorphTargetsGenerator { - readonly int[] m_VertexIntervals; readonly string[] m_MorphTargetNames; readonly GltfImportBase m_GltfImport; @@ -26,7 +25,7 @@ class MorphTargetsGenerator public MorphTargetsGenerator( int vertexCount, - int[] vertexIntervals, + int subMeshCount, int morphTargetCount, string[] morphTargetNames, bool hasNormals, @@ -34,11 +33,9 @@ public MorphTargetsGenerator( GltfImportBase gltfImport ) { - m_VertexIntervals = vertexIntervals; m_MorphTargetNames = morphTargetNames; m_GltfImport = gltfImport; - var subMeshCount = vertexIntervals.Length - 1; m_Contexts = new MorphTargetGenerator[morphTargetCount]; for (var i = 0; i < morphTargetCount; i++) { @@ -48,13 +45,12 @@ GltfImportBase gltfImport } public bool AddMorphTarget( - int subMesh, + int offset, int morphTargetIndex, MorphTarget morphTarget ) { var morphTargetGenerator = m_Contexts[morphTargetIndex]; - var offset = m_VertexIntervals[subMesh]; var jobHandle = morphTargetGenerator.ScheduleMorphTargetJobs( morphTarget, offset, diff --git a/gltfast.patch b/gltfast.patch deleted file mode 100644 index e69de29bb..000000000 diff --git a/gltfast.patch.meta b/gltfast.patch.meta deleted file mode 100644 index f3c2fdf0e..000000000 --- a/gltfast.patch.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: a74b70f0a34204da682aaaf7b3ec8430 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/package.json b/package.json index b1c9f01e7..14e4d381e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "com.atteneder.gltfast", - "version": "6.10.2", + "version": "6.10.3", "displayName": "glTFast", "description": "Use glTFast to import and export glTF 3D files efficiently at runtime or in the Editor", "unity": "2020.3", From 1b457cbacbf880026d80c47891bce7e798a4a95b Mon Sep 17 00:00:00 2001 From: Andreas Atteneder Date: Thu, 22 May 2025 14:05:50 +0200 Subject: [PATCH 09/27] com.atteneder.gltfast Release 6.11.0 --- CHANGELOG.md | 18 +- DocExamples/LoadGltfFromMemory.cs | 61 ++++ DocExamples/LoadGltfFromMemory.cs.meta | 11 + Documentation~/ImportRuntime.md | 20 +- Editor/Scripts/AssemblyInfo.cs.meta | 11 +- Editor/Scripts/EditorDownloadProvider.cs | 36 ++- Runtime/Scripts/Export/Constants.cs | 2 +- Runtime/Scripts/Export/ManagedNativeArray.cs | 24 +- Runtime/Scripts/GltfGlobals.cs | 12 + Runtime/Scripts/GltfImport.cs | 286 ++++++++++-------- Runtime/Scripts/KtxLoadContext.cs | 25 +- .../Loading/DefaultDownloadProvider.cs | 36 ++- Runtime/Scripts/Loading/IDownload.cs | 39 +-- Runtime/Scripts/Loading/IDownloadProvider.cs | 29 ++ .../Scripts/Loading/IDownloadProvider.cs.meta | 3 + Runtime/Scripts/Loading/INativeDownload.cs | 23 ++ .../Scripts/Loading/INativeDownload.cs.meta | 3 + Runtime/Scripts/Loading/ITextureDownload.cs | 20 ++ .../Scripts/Loading/ITextureDownload.cs.meta | 3 + Runtime/Scripts/ManagedNativeArray.cs | 75 +++++ Runtime/Scripts/ManagedNativeArray.cs.meta | 11 + Runtime/Scripts/NativeArrayExtensions.cs | 53 ++++ Runtime/Scripts/NativeArrayExtensions.cs.meta | 11 + package.json | 2 +- 24 files changed, 598 insertions(+), 216 deletions(-) create mode 100644 DocExamples/LoadGltfFromMemory.cs create mode 100644 DocExamples/LoadGltfFromMemory.cs.meta create mode 100644 Runtime/Scripts/Loading/IDownloadProvider.cs create mode 100644 Runtime/Scripts/Loading/IDownloadProvider.cs.meta create mode 100644 Runtime/Scripts/Loading/INativeDownload.cs create mode 100644 Runtime/Scripts/Loading/INativeDownload.cs.meta create mode 100644 Runtime/Scripts/Loading/ITextureDownload.cs create mode 100644 Runtime/Scripts/Loading/ITextureDownload.cs.meta create mode 100644 Runtime/Scripts/ManagedNativeArray.cs create mode 100644 Runtime/Scripts/ManagedNativeArray.cs.meta create mode 100644 Runtime/Scripts/NativeArrayExtensions.cs create mode 100644 Runtime/Scripts/NativeArrayExtensions.cs.meta diff --git a/CHANGELOG.md b/CHANGELOG.md index d3ae88211..37297eb25 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,20 +4,23 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [6.10.3] - 2025-02-21 +## [6.11.0] - 2025-03-13 ### Added +- [GltfImport.Load](xref:GLTFast.GltfImportBase.Load(Unity.Collections.NativeArray{System.Byte}.ReadOnly,Uri,GLTFast.ImportSettings,CancellationToken)) overload that accept glTF data in form of [NativeArray<byte>.ReadOnly](xref:Unity.Collections.NativeArray`1.ReadOnly). +- [INativeDownload](xref:GLTFast.Loading.INativeDownload), which can be used to expand [IDownload](xref:GLTFast.Loading.IDownload) implementations to provide access to downloaded data directly without creating a copy in managed memory. +- Content-based glTF JSON vs. glTF-Binary detection (limited to Unity 2021 LTS or newer; resolves [#193](https://github.com/atteneder/glTFast/issues/193)). ### Changed - -### Fixed -- (Import) Morph targets on multi-primitive meshes (where primitives reference identical vertex buffers; fixes [#755](https://github.com/atteneder/glTFast/issues/755)). - -### Removed +- (Performance) By default glTF and KTX data is not copied to managed memory implicitly when loading glTFs (true for Unity 2021 LTS or newer). ### Deprecated +- [GltfImport.LoadGltfBinary](xref:GLTFast.GltfImportBase.LoadGltfBinary*) (in favor of the generic [GltfImport.Load](xref:GLTFast.GltfImportBase.Load*)) -### Security +## [6.10.3] - 2025-02-21 + +### Fixed +- (Import) Morph targets on multi-primitive meshes (where primitives reference identical vertex buffers; fixes [#755](https://github.com/atteneder/glTFast/issues/755)). ## [6.10.2] - 2025-02-03 @@ -364,6 +367,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Added proper root namespace to all assembly definitions - License and copyright notices - (Export) Increased performance due to concurrent buffer conversions +- Support for KTX (Khronos Texture) is now provided by [*KTX for Unity* (com.unity.cloud.ktx)][KtxForUnity], which is a fork of and replaces [*KtxUnity* (com.atteneder.ktx)][KtxUnity]. ## [5.0.4] - 2023-03-30 diff --git a/DocExamples/LoadGltfFromMemory.cs b/DocExamples/LoadGltfFromMemory.cs new file mode 100644 index 000000000..43caa89e0 --- /dev/null +++ b/DocExamples/LoadGltfFromMemory.cs @@ -0,0 +1,61 @@ +// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System.IO; +using System.Threading.Tasks; +using GLTFast.Logging; + +namespace GLTFast.Documentation.Examples +{ + + using GLTFast; + using System; + using UnityEngine; + + class LoadGltfFromMemory : MonoBehaviour + { + // Path to the gltf asset to be loaded + public string filePath; + + // ReSharper disable once Unity.IncorrectMethodSignature + // ReSharper disable once UnusedMember.Local + async Task Start() + { + await LoadGltfFile(); + } + +#if UNITY_2021_3_OR_NEWER + #region LoadGltfFromMemory + async Task LoadGltfFile() + { + var gltfDataAsByteArray = await File.ReadAllBytesAsync(filePath); + var gltf = new GltfImport(logger: new ConsoleLogger()); + var success = await gltf.Load( + gltfDataAsByteArray, + // The URI of the original data is important for resolving relative URIs within the glTF + new Uri(filePath) + ); + if (success) + { + await gltf.InstantiateMainSceneAsync(transform); + } + } + #endregion +#else + async Task LoadGltfFile() + { + var gltfDataAsByteArray = File.ReadAllBytes(filePath); + var gltf = new GltfImport(logger: new ConsoleLogger()); + var success = await gltf.Load( + gltfDataAsByteArray, + // The URI of the original data is important for resolving relative URIs within the glTF + new Uri(filePath) + ); + if (success) + { + await gltf.InstantiateMainSceneAsync(transform); + } + } +#endif + } +} diff --git a/DocExamples/LoadGltfFromMemory.cs.meta b/DocExamples/LoadGltfFromMemory.cs.meta new file mode 100644 index 000000000..255a0c92a --- /dev/null +++ b/DocExamples/LoadGltfFromMemory.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: cbdeab6fe2fc54058a70f9be966cd732 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Documentation~/ImportRuntime.md b/Documentation~/ImportRuntime.md index cec1ccb18..fb5482194 100644 --- a/Documentation~/ImportRuntime.md +++ b/Documentation~/ImportRuntime.md @@ -20,23 +20,9 @@ gltf.Url = "https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Models/ma ### Load from byte array -In case you want to handle download/file loading yourself, you can load glTF binary files directly from C# byte[] like so: +glTF data can be loaded directly from memory using [GltfImport.Load][GltfImportLoad] overloads that accept data in form of [NativeArray<byte>.ReadOnly][NativeArrayByteReadOnly] or `byte[]`. -```csharp -async void LoadGltfBinaryFromMemory() { - var filePath = "/path/to/file.glb"; - byte[] data = File.ReadAllBytes(filePath); - var gltf = new GltfImport(); - bool success = await gltf.LoadGltfBinary( - data, - // The URI of the original data is important for resolving relative URIs within the glTF - new Uri(filePath) - ); - if (success) { - success = await gltf.InstantiateMainSceneAsync(transform); - } -} -``` +[!code-cs [load-gltf-from-memory](../DocExamples/LoadGltfFromMemory.cs#LoadGltfFromMemory)] > [!TIP] > Provide the original URI of glTF-binary file as `uri` parameter to [LoadGltfBinary][GltfImportLoadGltfBinary], so that it is able to resolve relative URIs in non-self-contained glTFs. @@ -301,6 +287,7 @@ When you no longer need a loaded instance of a glTF scene you might want to remo [GltfImport]: xref:GLTFast.GltfImport [GltfImportCtor]: xref:GLTFast.GltfImport.#ctor* [GltfImportDispose]: xref:GLTFast.GltfImport.Dispose +[GltfImportLoad]: xref:GLTFast.GltfImportBase.Load* [GltfImportLoadGltfBinary]: xref:GLTFast.GltfImportBase.LoadGltfBinary* [GameObjectInstantiator]: xref:GLTFast.GameObjectInstantiator [GameObjectInstantiatorCtor]: xref:GLTFast.GameObjectInstantiator.#ctor* @@ -313,6 +300,7 @@ When you no longer need a loaded instance of a glTF scene you might want to remo [InstantiationSettings]: xref:GLTFast.InstantiationSettings [Khronos]: https://www.khronos.org [LogMessages]: xref:GLTFast.Logging.LogMessages +[NativeArrayByteReadOnly]: xref:Unity.Collections.NativeArray`1.ReadOnly [GameObjectSceneInstance]: xref:GLTFast.GameObjectSceneInstance [SceneObjectCreation]: xref:GLTFast.SceneObjectCreation [Unity]: https://unity.com diff --git a/Editor/Scripts/AssemblyInfo.cs.meta b/Editor/Scripts/AssemblyInfo.cs.meta index 257f0eeef..1c878d9c5 100644 --- a/Editor/Scripts/AssemblyInfo.cs.meta +++ b/Editor/Scripts/AssemblyInfo.cs.meta @@ -1,2 +1,11 @@ fileFormatVersion: 2 -guid: 0da5eda5fa95e4275ad1af63eda3dd54 \ No newline at end of file +guid: 0da5eda5fa95e4275ad1af63eda3dd54 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Editor/Scripts/EditorDownloadProvider.cs b/Editor/Scripts/EditorDownloadProvider.cs index 652bdea88..e6b72d5a1 100644 --- a/Editor/Scripts/EditorDownloadProvider.cs +++ b/Editor/Scripts/EditorDownloadProvider.cs @@ -5,6 +5,7 @@ using System.Collections.Generic; using System.IO; using System.Threading.Tasks; +using Unity.Collections; using UnityEditor; using UnityEngine; @@ -44,14 +45,19 @@ public async Task RequestTexture(Uri url, bool nonReadable) #pragma warning restore 1998 } - class SyncFileLoader : IDownload + class SyncFileLoader : IDownload, INativeDownload { + ManagedNativeArray m_ManagedNativeArray; + public SyncFileLoader(Uri url) { var path = url.OriginalString; if (File.Exists(path)) { Data = File.ReadAllBytes(path); + // TODO: Is there a better way to load a file into a NativeArray, like AsyncReadManager? + m_ManagedNativeArray = new ManagedNativeArray(Data); + NativeData = m_ManagedNativeArray.nativeArray.AsReadOnly(); } else { @@ -68,7 +74,9 @@ public void Reset() { } public string Error { get; protected set; } public byte[] Data { get; private set; } - public string Text => System.Text.Encoding.UTF8.GetString(Data); + public NativeArray.ReadOnly NativeData { get; private set; } + + public string Text => Data != null ? System.Text.Encoding.UTF8.GetString(Data) : null; public bool? IsBinary { @@ -76,19 +84,31 @@ public bool? IsBinary { if (Success) { - return GltfGlobals.IsGltfBinary(Data); + return GltfGlobals.IsGltfBinary(NativeData); } return null; } } - public virtual void Dispose() + public void Dispose() { - Data = null; + Dispose(true); + GC.SuppressFinalize(this); + } + + protected virtual void Dispose(bool disposing) + { + if (disposing) + { + m_ManagedNativeArray?.Dispose(); + m_ManagedNativeArray = null; + Data = null; + NativeData = default; + } } } - class SyncTextureLoader : SyncFileLoader, ITextureDownload + sealed class SyncTextureLoader : SyncFileLoader, ITextureDownload { public Texture2D Texture { get; private set; } @@ -105,9 +125,9 @@ public SyncTextureLoader(Uri url) } } - public override void Dispose() + protected override void Dispose(bool disposing) { - base.Dispose(); + base.Dispose(disposing); Texture = null; } } diff --git a/Runtime/Scripts/Export/Constants.cs b/Runtime/Scripts/Export/Constants.cs index 9731a363c..f51dcd5df 100644 --- a/Runtime/Scripts/Export/Constants.cs +++ b/Runtime/Scripts/Export/Constants.cs @@ -7,7 +7,7 @@ namespace GLTFast.Export { static class Constants { - public const string version = "6.10.3"; + public const string version = "6.11.0"; internal const string mimeTypePNG = "image/png"; internal const string mimeTypeJPG = "image/jpeg"; diff --git a/Runtime/Scripts/Export/ManagedNativeArray.cs b/Runtime/Scripts/Export/ManagedNativeArray.cs index 9b67f98ff..5ead9b4ba 100644 --- a/Runtime/Scripts/Export/ManagedNativeArray.cs +++ b/Runtime/Scripts/Export/ManagedNativeArray.cs @@ -25,12 +25,12 @@ public class ManagedNativeArray : IDisposable #if ENABLE_UNITY_COLLECTIONS_CHECKS AtomicSafetyHandle m_SafetyHandle; #endif - bool m_Pinned; + readonly bool m_Pinned; /// - /// Wraps a managed T[] in a NativeArray<T>without copying memory. + /// Wraps a managed TIn[] in a NativeArray<TOut>without copying memory. /// - /// The original T[] to convert into a NativeArray<T> + /// The original TIn[] to convert into a NativeArray<TOut> public unsafe ManagedNativeArray(TIn[] original) { if (original != null) @@ -54,17 +54,27 @@ public unsafe ManagedNativeArray(TIn[] original) } /// - /// Points to the managed NativeArray<T>. + /// Points to the managed NativeArray<TOut>. /// public NativeArray nativeArray => m_NativeArray; - /// - /// Disposes the managed NativeArray<TT>. + /// Disposes the managed NativeArray<TOut>. /// public void Dispose() { - if (m_Pinned) + Dispose(true); + GC.SuppressFinalize(this); + } + + /// + /// Disposes the managed NativeArray<TOut> and unpins the underlying managed array. + /// + /// Indicates whether the method call comes from a Dispose method (its value is true) + /// or from a finalizer (its value is false). + protected virtual void Dispose(bool disposing) + { + if (disposing && m_Pinned) { #if ENABLE_UNITY_COLLECTIONS_CHECKS AtomicSafetyHandle.Release(m_SafetyHandle); diff --git a/Runtime/Scripts/GltfGlobals.cs b/Runtime/Scripts/GltfGlobals.cs index 4f8dda1df..d03b6f5ce 100644 --- a/Runtime/Scripts/GltfGlobals.cs +++ b/Runtime/Scripts/GltfGlobals.cs @@ -2,6 +2,7 @@ // SPDX-License-Identifier: Apache-2.0 using System; +using Unity.Collections; namespace GLTFast { @@ -57,5 +58,16 @@ public static bool IsGltfBinary(byte[] data) var magic = BitConverter.ToUInt32(data, 0); return magic == GltfBinaryMagic; } + + /// + /// Figures out if a byte array contains data of a glTF-Binary + /// + /// data buffer + /// True if the data is a glTF-Binary, false otherwise + public static bool IsGltfBinary(NativeArray.ReadOnly data) + { + var magic = data[0] | (uint)data[1] << 8 | (uint)data[2] << 16 | (uint)data[3] << 24; + return magic == GltfBinaryMagic; + } } } diff --git a/Runtime/Scripts/GltfImport.cs b/Runtime/Scripts/GltfImport.cs index b75754df7..8d5e8d55f 100755 --- a/Runtime/Scripts/GltfImport.cs +++ b/Runtime/Scripts/GltfImport.cs @@ -182,17 +182,8 @@ public abstract class GltfImportBase : IGltfReadable, IGltfBuffers, IDisposable ImportSettings m_Settings; - byte[][] m_Buffers; - - /// - /// GCHandles for pinned managed arrays - /// - GCHandle?[] m_BufferHandles; - - /// - /// NativeArray views into - /// - NativeArray[] m_NativeBuffers; + NativeArray.ReadOnly[] m_Buffers; + List m_VolatileDisposables; GlbBinChunk[] m_BinChunks; @@ -428,12 +419,9 @@ public async Task Load( } /// - /// Load a glTF from a byte array. - /// If the type (JSON or glTF-Binary) is known, - /// and - /// should be preferred. + /// Loads a glTF from a byte array. /// - /// Either glTF-Binary data or a glTF JSON + /// Either glTF-Binary data or a UTF-8 encoded glTF JSON /// Base URI for relative paths of external buffers or images /// Import Settings ( for details) /// Token to submit cancellation requests. The default value is None. @@ -443,15 +431,42 @@ public async Task Load( Uri uri = null, ImportSettings importSettings = null, CancellationToken cancellationToken = default + ) + { + var managedNativeArray = new ManagedNativeArray(data); + m_VolatileDisposables ??= new List(); + m_VolatileDisposables.Add(managedNativeArray); + return await Load( + managedNativeArray.nativeArray.AsReadOnly(), + uri, + importSettings, + cancellationToken + ); + } + + /// + /// Loads a glTF from a NativeArray. + /// + /// Either glTF-Binary data or a UTF-8 encoded glTF JSON + /// Base URI for relative paths of external buffers or images + /// Import Settings ( for details) + /// Token to submit cancellation requests. The default value is None. + /// True if loading was successful, false otherwise + public async Task Load( + NativeArray.ReadOnly data, + Uri uri = null, + ImportSettings importSettings = null, + CancellationToken cancellationToken = default ) { if (GltfGlobals.IsGltfBinary(data)) { - return await LoadGltfBinary(data, uri, importSettings, cancellationToken); + return await LoadGltfBinaryInternal(data, uri, importSettings, cancellationToken); } // Fallback interpreting data as string - var json = System.Text.Encoding.UTF8.GetString(data, 0, data.Length); + // TODO: ToArray does another, slow memcpy! Find a better solution. + var json = Encoding.UTF8.GetString(data.ToArray(), 0, data.Length); return await LoadGltfJson(json, uri, importSettings, cancellationToken); } @@ -529,19 +544,18 @@ public async Task LoadStream( Logger?.Error("glb exceeds 2GB limit."); return false; } - var data = new byte[length]; - Array.Copy(firstBytes, data, firstBytes.Length); - Array.Copy(glbHeader, 0, data, firstBytes.Length, glbHeader.Length); - // The amount of bytes we've already read - var offset = firstBytes.Length + glbHeader.Length; - var pendingBytes = (int)length - offset; - - if (!await stream.ReadToArrayAsync(data, offset, pendingBytes, cancellationToken)) - { - Logger?.Error(LogCode.StreamError, "glb data"); - } - - return await LoadGltfBinary(data, uri, importSettings, cancellationToken); + using var data = new NativeArray((int)length, Allocator.Persistent); + var dataStream = data.ToUnmanagedMemoryStream(); +#if UNITY_2021_3_OR_NEWER + await dataStream.WriteAsync(firstBytes, cancellationToken); + await dataStream.WriteAsync(glbHeader, cancellationToken); +#else + await dataStream.WriteAsync(firstBytes, 0, firstBytes.Length, cancellationToken); + await dataStream.WriteAsync(glbHeader, 0, glbHeader.Length, cancellationToken); +#endif + await stream.CopyToAsync(dataStream, (int)(length - dataStream.Position), cancellationToken); + var result = await LoadGltfBinaryInternal(data.AsReadOnly(), uri, importSettings, cancellationToken); + return result; } var reader = new StreamReader(stream); string json; @@ -565,26 +579,30 @@ public async Task LoadStream( /// /// Load a glTF-binary asset from a byte array. /// + /// Obsolete! Use the generic + /// instead. /// byte array containing glTF-binary /// Base URI for relative paths of external buffers or images /// Import Settings ( for details) /// Token to submit cancellation requests. The default value is None. /// True if loading was successful, false otherwise + [Obsolete("Use the generic Load instead.")] public async Task LoadGltfBinary( byte[] bytes, Uri uri = null, ImportSettings importSettings = null, CancellationToken cancellationToken = default - ) + ) { - m_Settings = importSettings ?? new ImportSettings(); - var success = await LoadGltfBinaryBuffer(bytes, uri); - if (success) await LoadContent(); - success = success && await Prepare(); - DisposeVolatileData(); - LoadingError = !success; - LoadingDone = true; - return success; + var managedNativeArray = new ManagedNativeArray(bytes); + m_VolatileDisposables ??= new List(); + m_VolatileDisposables.Add(managedNativeArray); + return await LoadGltfBinaryInternal( + managedNativeArray.nativeArray.AsReadOnly(), + uri, + importSettings, + cancellationToken + ); } /// @@ -1160,8 +1178,19 @@ async Task LoadFromUri(Uri url, CancellationToken cancellationToken) if (gltfBinary ?? false) { - var data = download.Data; - download.Dispose(); + m_VolatileDisposables ??= new List(); + NativeArray.ReadOnly data; + if (download is INativeDownload nativeDownload) + { + data = nativeDownload.NativeData; + } + else + { + var managedNativeArray = new ManagedNativeArray(download.Data); + m_VolatileDisposables.Add(managedNativeArray); + data = managedNativeArray.nativeArray.AsReadOnly(); + } + m_VolatileDisposables.Add(download); success = await LoadGltfBinaryBuffer(data, url); } else @@ -1187,11 +1216,26 @@ async Task LoadFromUri(Uri url, CancellationToken cancellationToken) return success; } + async Task LoadGltfBinaryInternal( + NativeArray.ReadOnly bytes, + Uri uri, ImportSettings importSettings, + CancellationToken cancellationToken + ) + { + m_Settings = importSettings ?? new ImportSettings(); + var success = await LoadGltfBinaryBuffer(bytes, uri); + if (success) await LoadContent(); + success = success && await Prepare(); + DisposeVolatileData(); + LoadingError = !success; + LoadingDone = true; + return success; + } + async Task LoadContent() { var success = await WaitForBufferDownloads(); - m_DownloadTasks?.Clear(); #if MESHOPT if (success) { @@ -1259,9 +1303,7 @@ async Task ParseJsonAndLoadBuffers(string json, Uri baseUri) var bufferCount = Root.Buffers.Count; if (bufferCount > 0) { - m_Buffers = new byte[bufferCount][]; - m_BufferHandles = new GCHandle?[bufferCount]; - m_NativeBuffers = new NativeArray[bufferCount]; + m_Buffers = new NativeArray.ReadOnly[bufferCount]; m_BinChunks = new GlbBinChunk[bufferCount]; } @@ -1276,12 +1318,15 @@ async Task ParseJsonAndLoadBuffers(string json, Uri baseUri) buffer.uri, true // usually there's just one buffer and it's time-critical ); - m_Buffers[i] = decodedBuffer?.Item1; - if (m_Buffers[i] == null) + if (decodedBuffer?.Item1 == null) { Logger?.Error(LogCode.EmbedBufferLoadFailed); return false; } + var decodedNativeBuffer = new ManagedNativeArray(decodedBuffer.Item1); + m_VolatileDisposables ??= new List(); + m_VolatileDisposables.Add(decodedNativeBuffer); + m_Buffers[i] = decodedNativeBuffer.nativeArray.AsReadOnly(); } else { @@ -1594,8 +1639,22 @@ async Task WaitForBufferDownloads() if (download.Success) { Profiler.BeginSample("GetData"); - m_Buffers[downloadPair.Key] = download.Data; - download.Dispose(); + + m_VolatileDisposables ??= new List(); + NativeArray.ReadOnly data; + if (download is INativeDownload nativeDownload) + { + data = nativeDownload.NativeData; + } + else + { + var managedNativeArray = new ManagedNativeArray(download.Data); + m_VolatileDisposables.Add(managedNativeArray); + data = managedNativeArray.nativeArray.AsReadOnly(); + } + + m_VolatileDisposables.Add(download); + m_Buffers[downloadPair.Key] = data; Profiler.EndSample(); } else @@ -1617,7 +1676,7 @@ async Task WaitForBufferDownloads() continue; } var b = m_Buffers[i]; - if (b != null) + if (b.IsCreated) { m_BinChunks[i] = new GlbBinChunk(0, (uint)b.Length); } @@ -1704,8 +1763,19 @@ async Task WaitForKtxDownloads() { async Task ProcessKtxDownload(int imageIndex, Task downloadTask) { var www = await downloadTask; if(www.Success) { - var ktxContext = new KtxLoadContext(imageIndex,www.Data); - www.Dispose(); + NativeArray.ReadOnly data; + if (www is INativeDownload nativeDownload) + { + data = nativeDownload.NativeData; + } + else + { + var managedNativeArray = new ManagedNativeArray(www.Data); + m_VolatileDisposables ??= new List(); + m_VolatileDisposables.Add(managedNativeArray); + data = managedNativeArray.nativeArray.AsReadOnly(); + } + var ktxContext = new KtxLoadContext(imageIndex,data); var forceSampleLinear = m_ImageGamma!=null && !m_ImageGamma[imageIndex]; var result = await ktxContext.LoadTexture2D(forceSampleLinear); if (result.errorCode == ErrorCode.Success) { @@ -1715,12 +1785,13 @@ async Task ProcessKtxDownload(int imageIndex, Task downloadTask m_NonFlippedYTextureIndices ??= new HashSet(); m_NonFlippedYTextureIndices.Add(imageIndex); } + www.Dispose(); return true; } } else { Logger?.Error(LogCode.TextureDownloadFailed,www.Error,imageIndex.ToString()); - www.Dispose(); } + www.Dispose(); return false; } #endif // KTX_UNITY @@ -1847,7 +1918,7 @@ bool LoadImageFromBytes(int imageIndex) #endif } - async Task LoadGltfBinaryBuffer(byte[] bytes, Uri uri = null) + async Task LoadGltfBinaryBuffer(NativeArray.ReadOnly bytes, Uri uri = null) { Profiler.BeginSample("LoadGltfBinary.Phase1"); @@ -1858,8 +1929,7 @@ async Task LoadGltfBinaryBuffer(byte[] bytes, Uri uri = null) return false; } - uint version = BitConverter.ToUInt32(bytes, 4); - //uint length = BitConverter.ToUInt32( bytes, 8 ); + var version = bytes.ReadUInt32(4); if (version != 2) { @@ -1883,9 +1953,9 @@ async Task LoadGltfBinaryBuffer(byte[] bytes, Uri uri = null) return false; } - uint chLength = BitConverter.ToUInt32(bytes, index); + var chLength = bytes.ReadUInt32(index); index += 4; - uint chType = BitConverter.ToUInt32(bytes, index); + var chType = bytes.ReadUInt32(index); index += 4; if (index + chLength > bytes.Length) @@ -1904,7 +1974,9 @@ async Task LoadGltfBinaryBuffer(byte[] bytes, Uri uri = null) Assert.IsNull(Root); Profiler.BeginSample("GetJSON"); - string json = System.Text.Encoding.UTF8.GetString(bytes, index, (int)chLength); + var bytesStream = bytes.ToUnmanagedMemoryStream((uint)index, chLength); + var reader = new StreamReader(bytesStream); + var json = await reader.ReadToEndAsync(); Profiler.EndSample(); var success = await ParseJsonAndLoadBuffers(json, baseUri); @@ -1938,7 +2010,7 @@ async Task LoadGltfBinaryBuffer(byte[] bytes, Uri uri = null) return true; } - byte[] GetBuffer(int index) + NativeArray.ReadOnly GetBuffer(int index) { return m_Buffers[index]; } @@ -1965,7 +2037,7 @@ NativeSlice IGltfBuffers.GetBufferView(int bufferViewIndex, out int byteSt return GetBufferViewSlice(bufferView, offset, length); } - unsafe NativeSlice GetBufferViewSlice( + NativeSlice GetBufferViewSlice( IBufferView bufferView, int offset = 0, int length = 0 @@ -1979,31 +2051,16 @@ unsafe NativeSlice GetBufferViewSlice( Assert.IsTrue(offset + length <= bufferView.ByteLength); var bufferIndex = bufferView.Buffer; - if (!m_NativeBuffers[bufferIndex].IsCreated) - { - Profiler.BeginSample("ConvertToNativeArray"); - var buffer = GetBuffer(bufferIndex); - m_BufferHandles[bufferIndex] = GCHandle.Alloc(buffer, GCHandleType.Pinned); - fixed (void* bufferAddress = &(buffer[0])) - { - m_NativeBuffers[bufferIndex] = NativeArrayUnsafeUtility.ConvertExistingDataToNativeArray(bufferAddress, buffer.Length, Allocator.None); -#if ENABLE_UNITY_COLLECTIONS_CHECKS - var safetyHandle = AtomicSafetyHandle.Create(); - NativeArrayUnsafeUtility.SetAtomicSafetyHandle(array: ref m_NativeBuffers[bufferIndex], safetyHandle); -#endif - } - Profiler.EndSample(); - } + Assert.IsNotNull(m_Buffers); + Assert.IsTrue(bufferIndex < m_Buffers.Length); + Assert.IsTrue(m_Buffers[bufferIndex].IsCreated); + var chunk = m_BinChunks[bufferIndex]; - var nativeBuffer = m_NativeBuffers[bufferIndex]; + var nativeBuffer = m_Buffers[bufferIndex]; var totalOffset = chunk.Start + bufferView.ByteOffset + offset; Assert.IsTrue(bufferView.ByteOffset + offset <= chunk.Length); Assert.IsTrue(totalOffset + length <= nativeBuffer.Length); - return new NativeSlice( - m_NativeBuffers[bufferIndex], - totalOffset, - length - ); + return m_Buffers[bufferIndex].Slice(totalOffset, length); } #if MESHOPT @@ -2590,34 +2647,27 @@ static string GetUniqueNodeName(RootBase gltf, uint index, ICollection e /// void DisposeVolatileData() { - // Unpin managed buffer arrays - if (m_BufferHandles != null) + m_Buffers = null; + m_BinChunks = null; + + if (m_VolatileDisposables != null) { - foreach (var t in m_BufferHandles) + foreach (var disposable in m_VolatileDisposables) { - t?.Free(); + disposable.Dispose(); } + m_VolatileDisposables = null; } - m_BufferHandles = null; -#if ENABLE_UNITY_COLLECTIONS_CHECKS - if(m_NativeBuffers!=null) { - foreach (var nativeBuffer in m_NativeBuffers) + if (m_DownloadTasks != null) + { + foreach (var download in m_DownloadTasks.Values) { - if(nativeBuffer.IsCreated) { - var safetyHandle = NativeArrayUnsafeUtility.GetAtomicSafetyHandle(nativeBuffer); - AtomicSafetyHandle.Release(safetyHandle); - } + download?.Dispose(); } + m_DownloadTasks = null; } -#endif - m_NativeBuffers = null; - - m_Buffers = null; - m_BinChunks = null; - - m_DownloadTasks = null; m_TextureDownloadTasks = null; m_AccessorUsage = null; @@ -3061,16 +3111,18 @@ ICollection contexts static unsafe MemCopyJob CreateMemCopyJob( BufferViewBase bufferView, - byte[] buffer, + NativeArray.ReadOnly buffer, GlbBinChunk chunk, ImageCreateContext icc ) { - var job = new MemCopyJob(); - job.bufferSize = bufferView.byteLength; - fixed (void* src = &(buffer[bufferView.byteOffset + chunk.Start]), dst = &(icc.buffer[0])) + var job = new MemCopyJob + { + bufferSize = bufferView.byteLength, + input = (byte*)buffer.GetUnsafeReadOnlyPtr() + (bufferView.byteOffset + chunk.Start) + }; + fixed (void* dst = &(icc.buffer[0])) { - job.input = src; job.result = dst; } @@ -3383,8 +3435,6 @@ out _ // Retrieve indices data jobified m_AccessorData = new IDisposable[Root.Accessors.Count]; - Profiler.EndSample(); - for (int i = 0; i < m_AccessorData.Length; i++) { Profiler.BeginSample("LoadAccessorData.IndicesMatrixJob"); @@ -3830,10 +3880,8 @@ unsafe void IGltfBuffers.GetAccessorAndData(int index, out AccessorBase accessor byteStride = bufferView.byteStride; var bufferIndex = bufferView.buffer; var buffer = GetBuffer(bufferIndex); - fixed (void* src = &(buffer[accessor.byteOffset + bufferView.byteOffset + m_BinChunks[bufferIndex].Start])) - { - data = src; - } + data = (byte*)buffer.GetUnsafeReadOnlyPtr() + + (accessor.byteOffset + bufferView.byteOffset + m_BinChunks[bufferIndex].Start); } // // Alternative that uses NativeArray/Slice @@ -3859,10 +3907,8 @@ public unsafe void GetAccessorSparseIndices(AccessorSparseIndices sparseIndices, { var bufferIndex = bufferView.buffer; var buffer = GetBuffer(bufferIndex); - fixed (void* src = &(buffer[sparseIndices.byteOffset + bufferView.byteOffset + m_BinChunks[bufferIndex].Start])) - { - data = src; - } + data = (byte*)buffer.GetUnsafeReadOnlyPtr() + + (sparseIndices.byteOffset + bufferView.byteOffset + m_BinChunks[bufferIndex].Start); } } @@ -3884,10 +3930,8 @@ public unsafe void GetAccessorSparseValues(AccessorSparseValues sparseValues, ou { var bufferIndex = bufferView.buffer; var buffer = GetBuffer(bufferIndex); - fixed (void* src = &(buffer[sparseValues.byteOffset + bufferView.byteOffset + m_BinChunks[bufferIndex].Start])) - { - data = src; - } + data = (byte*)buffer.GetUnsafeReadOnlyPtr() + + (sparseValues.byteOffset + bufferView.byteOffset + m_BinChunks[bufferIndex].Start); } } diff --git a/Runtime/Scripts/KtxLoadContext.cs b/Runtime/Scripts/KtxLoadContext.cs index b30d21f07..cdfef8aa3 100644 --- a/Runtime/Scripts/KtxLoadContext.cs +++ b/Runtime/Scripts/KtxLoadContext.cs @@ -9,30 +9,29 @@ using System.Threading.Tasks; using KtxUnity; +using Unity.Collections; namespace GLTFast { class KtxLoadContext : KtxLoadContextBase { - byte[] m_Data; + NativeArray.ReadOnly m_Data; - public KtxLoadContext(int index,byte[] data) { + public KtxLoadContext(int index, NativeArray.ReadOnly data) { imageIndex = index; - this.m_Data = data; + m_Data = data; m_KtxTexture = new KtxTexture(); } public override async Task LoadTexture2D(bool linear) { - using (var array = new ManagedNativeArray(m_Data)) { - - var errorCode = m_KtxTexture.Open(array.nativeArray); - if (errorCode != ErrorCode.Success) { - return new TextureResult(errorCode); - } + // TODO: Wait for KTX for Unity to offer a non-slice API and avoid slice here. + var errorCode = m_KtxTexture.Open(m_Data.Slice(0, m_Data.Length)); + if (errorCode != ErrorCode.Success) { + return new TextureResult(errorCode); + } - var result = await m_KtxTexture.LoadTexture2D(linear); + var result = await m_KtxTexture.LoadTexture2D(linear); - m_KtxTexture.Dispose(); - return result; - } + m_KtxTexture.Dispose(); + return result; } } } diff --git a/Runtime/Scripts/Loading/DefaultDownloadProvider.cs b/Runtime/Scripts/Loading/DefaultDownloadProvider.cs index 24ad80b55..0cb731857 100644 --- a/Runtime/Scripts/Loading/DefaultDownloadProvider.cs +++ b/Runtime/Scripts/Loading/DefaultDownloadProvider.cs @@ -3,7 +3,7 @@ using System; using System.Threading.Tasks; - +using Unity.Collections; using UnityEngine; using UnityEngine.Networking; using UnityEngine.Profiling; @@ -52,7 +52,11 @@ public async Task RequestTexture(Uri url, bool nonReadable) /// /// Default implementation that loads URIs via /// - public class AwaitableDownload : IDownload + public class AwaitableDownload : + IDownload +#if UNITY_2021_3_OR_NEWER + ,INativeDownload +#endif { const string k_MimeTypeGltfBinary = "model/gltf-binary"; const string k_MimeTypeGltf = "model/gltf+json"; @@ -123,6 +127,11 @@ public byte[] Data } } +#if UNITY_2021_3_OR_NEWER + /// + public NativeArray.ReadOnly NativeData => m_Request?.downloadHandler.nativeData ?? default; +#endif + /// /// Downloaded data as string /// @@ -145,7 +154,12 @@ public bool? IsBinary if (contentType == k_MimeTypeGltf) return false; } + +#if UNITY_2021_3_OR_NEWER + return GltfGlobals.IsGltfBinary(NativeData); +#else return null; +#endif } } @@ -154,8 +168,22 @@ public bool? IsBinary /// public void Dispose() { - m_Request.Dispose(); - m_Request = null; + Dispose(true); + GC.SuppressFinalize(this); + } + + /// + /// Releases previously allocated resources. + /// + /// Indicates whether the method call comes from a Dispose method (its value is true) + /// or from a finalizer (its value is false). + protected virtual void Dispose(bool disposing) + { + if (disposing) + { + m_Request.Dispose(); + m_Request = null; + } } } diff --git a/Runtime/Scripts/Loading/IDownload.cs b/Runtime/Scripts/Loading/IDownload.cs index ed49e04da..3f6342aa5 100644 --- a/Runtime/Scripts/Loading/IDownload.cs +++ b/Runtime/Scripts/Loading/IDownload.cs @@ -2,34 +2,11 @@ // SPDX-License-Identifier: Apache-2.0 using System; -using System.Threading.Tasks; - +using Unity.Collections; using UnityEngine; namespace GLTFast.Loading { - - /// - /// Provides a mechanism for loading external resources from a URI - /// - public interface IDownloadProvider - { - /// - /// Sends a URI request - /// - /// URI to request - /// Object representing the request - Task Request(Uri url); - - /// - /// Sends a URI request to load a texture - /// - /// URI to request - /// If true, resulting texture is not CPU readable (uses less memory) - /// Object representing the request - Task RequestTexture(Uri url, bool nonReadable); - } - /// /// Provides a mechanism to inspect the progress and result of a download /// or file access request @@ -47,7 +24,7 @@ public interface IDownload : IDisposable string Error { get; } /// - /// Resulting data + /// Resulting data as managed byte array. /// byte[] Data { get; } @@ -62,16 +39,4 @@ public interface IDownload : IDisposable /// bool? IsBinary { get; } } - - /// - /// Provides a mechanism to inspect the progress and result of a texture download - /// or texture file access request - /// - public interface ITextureDownload : IDownload - { - /// - /// Resulting texture - /// - Texture2D Texture { get; } - } } diff --git a/Runtime/Scripts/Loading/IDownloadProvider.cs b/Runtime/Scripts/Loading/IDownloadProvider.cs new file mode 100644 index 000000000..c731bb3e7 --- /dev/null +++ b/Runtime/Scripts/Loading/IDownloadProvider.cs @@ -0,0 +1,29 @@ +// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +using System.Threading.Tasks; + +namespace GLTFast.Loading +{ + /// + /// Provides a mechanism for loading external resources from a URI + /// + public interface IDownloadProvider + { + /// + /// Sends a URI request + /// + /// URI to request + /// Object representing the request + Task Request(Uri url); + + /// + /// Sends a URI request to load a texture + /// + /// URI to request + /// If true, resulting texture is not CPU readable (uses less memory) + /// Object representing the request + Task RequestTexture(Uri url, bool nonReadable); + } +} diff --git a/Runtime/Scripts/Loading/IDownloadProvider.cs.meta b/Runtime/Scripts/Loading/IDownloadProvider.cs.meta new file mode 100644 index 000000000..248be978d --- /dev/null +++ b/Runtime/Scripts/Loading/IDownloadProvider.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 629849146ae544459bf648ecabd67f0f +timeCreated: 1736345259 \ No newline at end of file diff --git a/Runtime/Scripts/Loading/INativeDownload.cs b/Runtime/Scripts/Loading/INativeDownload.cs new file mode 100644 index 000000000..e260e4f89 --- /dev/null +++ b/Runtime/Scripts/Loading/INativeDownload.cs @@ -0,0 +1,23 @@ +// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using Unity.Collections; + +namespace GLTFast.Loading +{ + /// + /// Provides access to downloaded data without creating an implicit copy in memory. + /// + /// + /// This interface is temporary and will get merged into + /// upon the next API breaking major release! + /// + // TODO: Merge into IDownload upon next major API breaking release. + public interface INativeDownload + { + /// + /// Resulting data as NativeArray (does not allocate memory). + /// + NativeArray.ReadOnly NativeData { get; } + } +} diff --git a/Runtime/Scripts/Loading/INativeDownload.cs.meta b/Runtime/Scripts/Loading/INativeDownload.cs.meta new file mode 100644 index 000000000..306bcd839 --- /dev/null +++ b/Runtime/Scripts/Loading/INativeDownload.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 5b44e5ab65794ea2b55e3e4872bf134a +timeCreated: 1740994086 \ No newline at end of file diff --git a/Runtime/Scripts/Loading/ITextureDownload.cs b/Runtime/Scripts/Loading/ITextureDownload.cs new file mode 100644 index 000000000..06f7ad140 --- /dev/null +++ b/Runtime/Scripts/Loading/ITextureDownload.cs @@ -0,0 +1,20 @@ +// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +using UnityEngine; + +namespace GLTFast.Loading +{ + /// + /// Provides a mechanism to inspect the progress and result of a texture download + /// or texture file access request + /// + public interface ITextureDownload : IDownload + { + /// + /// Resulting texture + /// + Texture2D Texture { get; } + } +} diff --git a/Runtime/Scripts/Loading/ITextureDownload.cs.meta b/Runtime/Scripts/Loading/ITextureDownload.cs.meta new file mode 100644 index 000000000..783c79495 --- /dev/null +++ b/Runtime/Scripts/Loading/ITextureDownload.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 92567e9366c9455cb9598e07f200a467 +timeCreated: 1736345259 \ No newline at end of file diff --git a/Runtime/Scripts/ManagedNativeArray.cs b/Runtime/Scripts/ManagedNativeArray.cs new file mode 100644 index 000000000..46d1faa3a --- /dev/null +++ b/Runtime/Scripts/ManagedNativeArray.cs @@ -0,0 +1,75 @@ +// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +using System.Runtime.InteropServices; +using Unity.Collections; +using Unity.Collections.LowLevel.Unsafe; +using UnityEngine; + +namespace GLTFast +{ + + /// + /// Wraps a managed TIn[] in a NativeArray<TOut>without copying memory. + /// + /// Type of items in input array. + /// Type of items in output NativeArray (might differ from input type TIn). + public sealed class ManagedNativeArray : IDisposable + where TIn : unmanaged + where TOut : unmanaged + { + + NativeArray m_NativeArray; + GCHandle m_BufferHandle; +#if ENABLE_UNITY_COLLECTIONS_CHECKS + AtomicSafetyHandle m_SafetyHandle; +#endif + readonly bool m_Pinned; + + /// + /// Wraps a managed TIn[] in a NativeArray<TOut>without copying memory. + /// + /// The original TIn[] to convert into a NativeArray<TOut> + public unsafe ManagedNativeArray(TIn[] original) + { + if (original != null) + { + m_BufferHandle = GCHandle.Alloc(original, GCHandleType.Pinned); + fixed (void* bufferAddress = &original[0]) + { + m_NativeArray = NativeArrayUnsafeUtility.ConvertExistingDataToNativeArray(bufferAddress, original.Length, Allocator.None); +#if ENABLE_UNITY_COLLECTIONS_CHECKS + m_SafetyHandle = AtomicSafetyHandle.Create(); + NativeArrayUnsafeUtility.SetAtomicSafetyHandle(array: ref m_NativeArray, m_SafetyHandle); +#endif + } + + m_Pinned = true; + } + else + { + m_NativeArray = new NativeArray(); + } + } + + /// + /// Points to the managed NativeArray<TOut>. + /// + public NativeArray nativeArray => m_NativeArray; + + /// + /// Disposes the managed NativeArray<TOut>. + /// + public void Dispose() + { + if (m_Pinned) + { +#if ENABLE_UNITY_COLLECTIONS_CHECKS + AtomicSafetyHandle.Release(m_SafetyHandle); +#endif + m_BufferHandle.Free(); + } + } + } +} diff --git a/Runtime/Scripts/ManagedNativeArray.cs.meta b/Runtime/Scripts/ManagedNativeArray.cs.meta new file mode 100644 index 000000000..2874f3252 --- /dev/null +++ b/Runtime/Scripts/ManagedNativeArray.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ef615afcb33bd4a8794a78655228d0aa +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/NativeArrayExtensions.cs b/Runtime/Scripts/NativeArrayExtensions.cs new file mode 100644 index 000000000..113dac42c --- /dev/null +++ b/Runtime/Scripts/NativeArrayExtensions.cs @@ -0,0 +1,53 @@ +// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System.IO; +using Unity.Collections; +using Unity.Collections.LowLevel.Unsafe; +using UnityEngine; +using UnityEngine.Assertions; + +namespace GLTFast +{ + static class NativeArrayExtensions + { + internal static unsafe UnmanagedMemoryStream ToUnmanagedMemoryStream(this NativeArray data) + { + return new UnmanagedMemoryStream( + (byte*)data.GetUnsafePtr(), + data.Length, + data.Length, + FileAccess.Write + ); + } + + internal static unsafe UnmanagedMemoryStream ToUnmanagedMemoryStream(this NativeArray.ReadOnly data, uint start, uint count) + { + Assert.IsTrue(start + count <= data.Length); + return new UnmanagedMemoryStream( + (byte*)data.GetUnsafeReadOnlyPtr() + start, + count, + count, + FileAccess.Read + ); + } + + internal static unsafe uint ReadUInt32(this NativeArray.ReadOnly data, int offset) + { + var ptr = (uint*)((byte*)data.GetUnsafeReadOnlyPtr() + offset); + return *ptr; + } + + // TODO: Return NativeArray.ReadOnly + internal static unsafe NativeSlice Slice(this NativeArray.ReadOnly data, int start, int length) + { + var bufferAddress = (byte*)data.GetUnsafeReadOnlyPtr() + start; + var subArray = NativeArrayUnsafeUtility.ConvertExistingDataToNativeArray(bufferAddress, length, Allocator.None); +#if ENABLE_UNITY_COLLECTIONS_CHECKS + var safetyHandle = AtomicSafetyHandle.Create(); + NativeArrayUnsafeUtility.SetAtomicSafetyHandle(array: ref subArray, safetyHandle); +#endif + return subArray; + } + } +} diff --git a/Runtime/Scripts/NativeArrayExtensions.cs.meta b/Runtime/Scripts/NativeArrayExtensions.cs.meta new file mode 100644 index 000000000..ee893b1ab --- /dev/null +++ b/Runtime/Scripts/NativeArrayExtensions.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: f4042d2847d96474b8b5978213248a4b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/package.json b/package.json index 14e4d381e..f20698262 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "com.atteneder.gltfast", - "version": "6.10.3", + "version": "6.11.0", "displayName": "glTFast", "description": "Use glTFast to import and export glTF 3D files efficiently at runtime or in the Editor", "unity": "2020.3", From 8cfba04cdb3b561da2dd4648cf366b7a5c9baf1b Mon Sep 17 00:00:00 2001 From: Andreas Atteneder Date: Thu, 22 May 2025 14:19:44 +0200 Subject: [PATCH 10/27] com.atteneder.gltfast Release 6.12.0 --- CHANGELOG.md | 11 + Editor/Scripts/GltfImporter.cs | 8 + Runtime/Scripts/Animation.meta | 8 + .../Animation/AnimationLoopPlayable.cs | 61 ++ .../Animation/AnimationLoopPlayable.cs.meta | 11 + .../Animation/AnimationPlayableComponent.cs | 53 ++ .../AnimationPlayableComponent.cs.meta | 11 + Runtime/Scripts/Animation/AssemblyInfo.cs | 7 + .../Scripts/Animation/AssemblyInfo.cs.meta | 11 + .../Animation/glTFast.Animation.asmdef | 22 + .../Animation/glTFast.Animation.asmdef.meta | 7 + Runtime/Scripts/AnimationMethod.cs | 6 +- Runtime/Scripts/Export/Constants.cs | 2 +- Runtime/Scripts/Export/ExportJobs.cs | 83 ++- Runtime/Scripts/Export/GltfWriter.cs | 305 +++++---- Runtime/Scripts/GameObjectInstantiator.cs | 15 +- Runtime/Scripts/GameObjectSceneInstance.cs | 12 +- Runtime/Scripts/GltfAsset.cs | 9 +- Runtime/Scripts/GltfImport.cs | 55 +- Runtime/Scripts/Jobs.cs | 648 +++++++----------- Runtime/Scripts/VertexBufferColors.cs | 40 +- Runtime/Scripts/glTFast.asmdef | 3 +- package.json | 2 +- 23 files changed, 833 insertions(+), 557 deletions(-) create mode 100644 Runtime/Scripts/Animation.meta create mode 100644 Runtime/Scripts/Animation/AnimationLoopPlayable.cs create mode 100644 Runtime/Scripts/Animation/AnimationLoopPlayable.cs.meta create mode 100644 Runtime/Scripts/Animation/AnimationPlayableComponent.cs create mode 100644 Runtime/Scripts/Animation/AnimationPlayableComponent.cs.meta create mode 100644 Runtime/Scripts/Animation/AssemblyInfo.cs create mode 100644 Runtime/Scripts/Animation/AssemblyInfo.cs.meta create mode 100644 Runtime/Scripts/Animation/glTFast.Animation.asmdef create mode 100644 Runtime/Scripts/Animation/glTFast.Animation.asmdef.meta diff --git a/CHANGELOG.md b/CHANGELOG.md index 37297eb25..64e37fe15 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,17 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [6.12.0] - 2025-03-31 + +### Added +- [Playables](https://docs.unity3d.com/Manual/Playables.html) option for runtime animation imports. +- Support for accessors without a buffer view when importing animation clips. + +### Fixed +- (Import)`InvalidOperationException` on multi-primitive meshes with vertex colors thrown by the native container safety system (fixes [#30](https://github.com/Unity-Technologies/com.unity.cloud.gltfast/issues/30)). +- (Export) Sub-meshes that have a base vertex other than zero are exported with correct indices now. +- Reliability issues related to lack of certain async calls in [GltfImport](xref:GLTFast.GltfImport*) and [GltfWriter](xref:GLTFast.GltfWriter*). + ## [6.11.0] - 2025-03-13 ### Added diff --git a/Editor/Scripts/GltfImporter.cs b/Editor/Scripts/GltfImporter.cs index c0c6b3dc2..6d54dd94c 100644 --- a/Editor/Scripts/GltfImporter.cs +++ b/Editor/Scripts/GltfImporter.cs @@ -121,6 +121,14 @@ public override void OnImportAsset(AssetImportContext ctx) m_ImportedNames = new HashSet(); m_ImportedObjects = new HashSet(); + if (importSettings.AnimationMethod == AnimationMethod.Playables) + { + // Playables graph is unsupported at Editor time, overriding to Mecanim setting instead + importSettings.AnimationMethod = AnimationMethod.Mecanim; + Debug.LogWarning($"{nameof(AnimationMethod)} setting \"{nameof(AnimationMethod.Playables)}\" is not " + + $"available for Editor (design-time) imports. Falling back to {nameof(AnimationMethod.Mecanim)}.", this); + } + if (instantiationSettings.SceneObjectCreation == SceneObjectCreation.Never) { diff --git a/Runtime/Scripts/Animation.meta b/Runtime/Scripts/Animation.meta new file mode 100644 index 000000000..76235f8ab --- /dev/null +++ b/Runtime/Scripts/Animation.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f49476350a3e1784291b37831645dd57 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/Animation/AnimationLoopPlayable.cs b/Runtime/Scripts/Animation/AnimationLoopPlayable.cs new file mode 100644 index 000000000..ec4603ee1 --- /dev/null +++ b/Runtime/Scripts/Animation/AnimationLoopPlayable.cs @@ -0,0 +1,61 @@ +// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +using UnityEngine; +using UnityEngine.Animations; +using UnityEngine.Playables; + +namespace GLTFast +{ + class AnimationLoopPlayable : PlayableBehaviour + { + int m_Index; + bool m_AutoSequence; + + internal AnimationMixerPlayable Mixer { get; private set; } + internal float Time { get; set; } + + public void Init(Playable owner, PlayableGraph graph, bool autoSequence, params AnimationClip[] clips) + { + if (clips is null) + throw new ArgumentNullException(nameof(clips)); + + if (clips.Length == 0) + throw new ArgumentOutOfRangeException(nameof(clips)); + + m_AutoSequence = autoSequence; + + owner.SetInputCount(1); + owner.SetInputWeight(0, 1); + + Mixer = AnimationMixerPlayable.Create(graph, clips.Length); + graph.Connect(Mixer, 0, owner, 0); + + for (var i = 0; i < clips.Length; ++i) + { + graph.Connect(AnimationClipPlayable.Create(graph, clips[i]), 0, Mixer, i); + Mixer.SetInputWeight(i, i == 0 ? 1f : 0f); + } + } + + public override void PrepareFrame(Playable playable, FrameData info) + { + Time -= info.deltaTime; + + if (Time > 0f) + return; + + if (m_AutoSequence) + { + Mixer.SetInputWeight(m_Index, 0f); + m_Index = ++m_Index % Mixer.GetInputCount(); + Mixer.SetInputWeight(m_Index, 1f); + } + + var clip = (AnimationClipPlayable)Mixer.GetInput(m_Index); + clip.SetTime(0); + Time = clip.GetAnimationClip().length; + } + } +} diff --git a/Runtime/Scripts/Animation/AnimationLoopPlayable.cs.meta b/Runtime/Scripts/Animation/AnimationLoopPlayable.cs.meta new file mode 100644 index 000000000..b335e4ee8 --- /dev/null +++ b/Runtime/Scripts/Animation/AnimationLoopPlayable.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0f36e553393045a4981b1c85ea918225 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/Animation/AnimationPlayableComponent.cs b/Runtime/Scripts/Animation/AnimationPlayableComponent.cs new file mode 100644 index 000000000..4d7de854b --- /dev/null +++ b/Runtime/Scripts/Animation/AnimationPlayableComponent.cs @@ -0,0 +1,53 @@ +// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +using NUnit.Framework; +using UnityEngine; +using UnityEngine.Animations; +using UnityEngine.Playables; + +namespace GLTFast +{ + [RequireComponent(typeof(Animator))] + class AnimationPlayableComponent : MonoBehaviour + { + internal static readonly string k_NotInitializedMessage = $"{nameof(AnimationPlayableComponent)} was not initialized."; + internal static readonly string k_InvalidGraphMessage = $"{nameof(PlayableGraph)} must still be valid before destroying."; + + [SerializeField] + AnimationClip[] m_Clips; + + PlayableGraph m_PlayableGraph; + + public Playable? Playable { get; private set; } + + void Start() + { + Assert.IsTrue(m_PlayableGraph.IsValid(), k_NotInitializedMessage); + } + + void OnDestroy() + { + Assert.IsTrue(m_PlayableGraph.IsValid(), k_InvalidGraphMessage); + m_PlayableGraph.Destroy(); + } + + public void Init(AnimationClip[] clips, bool autoSequence) + { + m_Clips = clips; + + var animator = GetComponent(); + m_PlayableGraph = PlayableGraph.Create("GltfPlayableGraph"); + m_PlayableGraph.SetTimeUpdateMode(DirectorUpdateMode.GameTime); + + var scriptPlayable = ScriptPlayable.Create(m_PlayableGraph); + scriptPlayable.GetBehaviour().Init(scriptPlayable, m_PlayableGraph, autoSequence, m_Clips); + + var playableOutput = AnimationPlayableOutput.Create(m_PlayableGraph, "GltfAnimationPlayableOutput", animator); + playableOutput.SetSourcePlayable(scriptPlayable, 0); + + Playable = scriptPlayable; + } + } +} diff --git a/Runtime/Scripts/Animation/AnimationPlayableComponent.cs.meta b/Runtime/Scripts/Animation/AnimationPlayableComponent.cs.meta new file mode 100644 index 000000000..a76b09062 --- /dev/null +++ b/Runtime/Scripts/Animation/AnimationPlayableComponent.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e1b5b5208d65ff84aabe80df79bf2f2e +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/Animation/AssemblyInfo.cs b/Runtime/Scripts/Animation/AssemblyInfo.cs new file mode 100644 index 000000000..a8ba380be --- /dev/null +++ b/Runtime/Scripts/Animation/AssemblyInfo.cs @@ -0,0 +1,7 @@ +// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System.Runtime.CompilerServices; + +[assembly: InternalsVisibleTo("glTFast")] +[assembly: InternalsVisibleTo("glTFast.Tests.Animation")] diff --git a/Runtime/Scripts/Animation/AssemblyInfo.cs.meta b/Runtime/Scripts/Animation/AssemblyInfo.cs.meta new file mode 100644 index 000000000..8a57e1176 --- /dev/null +++ b/Runtime/Scripts/Animation/AssemblyInfo.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9ab0b6873cabad94fa1ef39ada5229e5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/Animation/glTFast.Animation.asmdef b/Runtime/Scripts/Animation/glTFast.Animation.asmdef new file mode 100644 index 000000000..9a5caefa0 --- /dev/null +++ b/Runtime/Scripts/Animation/glTFast.Animation.asmdef @@ -0,0 +1,22 @@ +{ + "name": "glTFast.Animation", + "rootNamespace": "GLTFast", + "references": [], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": false, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [ + "UNITY_ANIMATION" + ], + "versionDefines": [ + { + "name": "com.unity.modules.animation", + "expression": "1.0.0", + "define": "UNITY_ANIMATION" + } + ], + "noEngineReferences": false +} \ No newline at end of file diff --git a/Runtime/Scripts/Animation/glTFast.Animation.asmdef.meta b/Runtime/Scripts/Animation/glTFast.Animation.asmdef.meta new file mode 100644 index 000000000..23a3455cc --- /dev/null +++ b/Runtime/Scripts/Animation/glTFast.Animation.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 6f659d78ae11d7743846a9526105dbbe +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/AnimationMethod.cs b/Runtime/Scripts/AnimationMethod.cs index 8641a0f13..b88ca1a5c 100644 --- a/Runtime/Scripts/AnimationMethod.cs +++ b/Runtime/Scripts/AnimationMethod.cs @@ -21,6 +21,10 @@ public enum AnimationMethod /// /// Default Animation System (Mecanim) /// - Mecanim + Mecanim, + /// + /// Playables Animation System + /// + Playables } } diff --git a/Runtime/Scripts/Export/Constants.cs b/Runtime/Scripts/Export/Constants.cs index f51dcd5df..e6b4645ba 100644 --- a/Runtime/Scripts/Export/Constants.cs +++ b/Runtime/Scripts/Export/Constants.cs @@ -7,7 +7,7 @@ namespace GLTFast.Export { static class Constants { - public const string version = "6.11.0"; + public const string version = "6.12.0"; internal const string mimeTypePNG = "image/png"; internal const string mimeTypeJPG = "image/jpeg"; diff --git a/Runtime/Scripts/Export/ExportJobs.cs b/Runtime/Scripts/Export/ExportJobs.cs index a43730b86..c3bab232f 100644 --- a/Runtime/Scripts/Export/ExportJobs.cs +++ b/Runtime/Scripts/Export/ExportJobs.cs @@ -1,7 +1,7 @@ // SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 -using GLTFast.Jobs; +using System; using Unity.Burst; using Unity.Collections; using Unity.Collections.LowLevel.Unsafe; @@ -17,43 +17,92 @@ static class ExportJobs { [BurstCompile] - public struct ConvertIndicesFlippedJob : IJobParallelFor where T : struct + public struct ConvertIndicesFlippedJobUInt16 : IJobParallelFor { - [ReadOnly] - public NativeArray input; + public NativeArray input; [WriteOnly] [NativeDisableParallelForRestriction] - public NativeArray result; + public NativeArray result; + + public int indexStart; + public ushort baseVertexOffset; public void Execute(int i) { - result[i * 3 + 0] = input[i * 3 + 0]; - result[i * 3 + 1] = input[i * 3 + 2]; - result[i * 3 + 2] = input[i * 3 + 1]; + result[i * 3 + 0] = (ushort)(input[i * 3 + 0] + baseVertexOffset); + result[i * 3 + 1] = (ushort)(input[i * 3 + 2] + baseVertexOffset); + result[i * 3 + 2] = (ushort)(input[i * 3 + 1] + baseVertexOffset); + } + } + + + [BurstCompile] + public struct ConvertIndicesFlippedJobUInt32 : IJobParallelFor + { + [ReadOnly] + public NativeArray input; + + [WriteOnly] + [NativeDisableParallelForRestriction] + public NativeArray result; + + public uint baseVertexOffset; + + public void Execute(int index) + { + result[index * 3 + 0] = input[index * 3 + 0] + baseVertexOffset; + result[index * 3 + 1] = input[index * 3 + 2] + baseVertexOffset; + result[index * 3 + 2] = input[index * 3 + 1] + baseVertexOffset; } } [BurstCompile] - public struct ConvertIndicesQuadFlippedJob : IJobParallelFor where T : struct + public struct ConvertIndicesQuadFlippedJobUInt16 : IJobParallelFor { [ReadOnly] - public NativeArray input; + public NativeArray input; [WriteOnly] [NativeDisableParallelForRestriction] - public NativeArray result; + public NativeArray result; + + public ushort baseVertexOffset; public void Execute(int i) { - result[i * 6 + 0] = input[i * 4 + 0]; - result[i * 6 + 1] = input[i * 4 + 2]; - result[i * 6 + 2] = input[i * 4 + 1]; - result[i * 6 + 3] = input[i * 4 + 2]; - result[i * 6 + 4] = input[i * 4 + 0]; - result[i * 6 + 5] = input[i * 4 + 3]; + result[i * 6 + 0] = (ushort)(input[i * 4 + 0] + baseVertexOffset); + result[i * 6 + 1] = (ushort)(input[i * 4 + 2] + baseVertexOffset); + result[i * 6 + 2] = (ushort)(input[i * 4 + 1] + baseVertexOffset); + result[i * 6 + 3] = (ushort)(input[i * 4 + 2] + baseVertexOffset); + result[i * 6 + 4] = (ushort)(input[i * 4 + 0] + baseVertexOffset); + result[i * 6 + 5] = (ushort)(input[i * 4 + 3] + baseVertexOffset); + } + } + + [BurstCompile] + public struct ConvertIndicesQuadFlippedJobUInt32 : IJobParallelFor + { + + [ReadOnly] + public NativeArray input; + + [WriteOnly] + [NativeDisableParallelForRestriction] + public NativeArray result; + + public uint baseVertexOffset; + + public void Execute(int index) + { + result[index * 6 + 0] = input[index * 4 + 0] + baseVertexOffset; + result[index * 6 + 1] = input[index * 4 + 2] + baseVertexOffset; + result[index * 6 + 2] = input[index * 4 + 1] + baseVertexOffset; + result[index * 6 + 3] = input[index * 4 + 2] + baseVertexOffset; + result[index * 6 + 4] = input[index * 4 + 0] + baseVertexOffset; + result[index * 6 + 5] = input[index * 4 + 3] + baseVertexOffset; } } diff --git a/Runtime/Scripts/Export/GltfWriter.cs b/Runtime/Scripts/Export/GltfWriter.cs index 1f524ee3a..363d247d5 100755 --- a/Runtime/Scripts/Export/GltfWriter.cs +++ b/Runtime/Scripts/Export/GltfWriter.cs @@ -560,8 +560,8 @@ async Task SaveAndDispose(Stream outStream, string bufferPath = null, stri const uint chunkOverhead = 8; // 4 bytes chunk length + 4 bytes chunk type (uint each) if (isBinary) { - outStream.Write(BitConverter.GetBytes(GltfGlobals.GltfBinaryMagic)); - outStream.Write(BitConverter.GetBytes((uint)2)); + await WriteBytesToStream(outStream, BitConverter.GetBytes(GltfGlobals.GltfBinaryMagic)); + await WriteBytesToStream(outStream, BitConverter.GetBytes((uint)2)); MemoryStream jsonStream = null; uint jsonLength; @@ -602,10 +602,10 @@ async Task SaveAndDispose(Stream outStream, string bufferPath = null, stri outStream.Seek(8, SeekOrigin.Begin); } - outStream.Write(BitConverter.GetBytes(totalLength)); + await WriteBytesToStream(outStream, BitConverter.GetBytes(totalLength)); - outStream.Write(BitConverter.GetBytes((uint)(jsonLength + jsonPad))); - outStream.Write(BitConverter.GetBytes((uint)ChunkFormat.Json)); + await WriteBytesToStream(outStream, BitConverter.GetBytes((uint)(jsonLength + jsonPad))); + await WriteBytesToStream(outStream, BitConverter.GetBytes((uint)ChunkFormat.Json)); if (outStreamCanSeek) { @@ -624,8 +624,8 @@ async Task SaveAndDispose(Stream outStream, string bufferPath = null, stri if (hasBufferContent) { - outStream.Write(BitConverter.GetBytes((uint)(m_BufferStream.Length + binPad))); - outStream.Write(BitConverter.GetBytes((uint)ChunkFormat.Binary)); + await WriteBytesToStream(outStream, BitConverter.GetBytes((uint)(m_BufferStream.Length + binPad))); + await WriteBytesToStream(outStream, BitConverter.GetBytes((uint)ChunkFormat.Binary)); var ms = (MemoryStream)m_BufferStream; ms.WriteTo(outStream); #if UNITY_WEBGL && !UNITY_EDITOR @@ -655,6 +655,20 @@ async Task SaveAndDispose(Stream outStream, string bufferPath = null, stri return true; } + static +#if UNITY_2021_3_OR_NEWER + async +#endif + Task WriteBytesToStream(Stream outStream, byte[] bytes) + { +#if UNITY_2021_3_OR_NEWER + await outStream.WriteAsync(bytes); +#else + outStream.Write(bytes); + return Task.CompletedTask; +#endif + } + async Task WriteJsonToStream(Stream outStream) { var writer = new StreamWriter(outStream); @@ -1212,126 +1226,7 @@ async Task BakeMesh(int meshId, IMeshData meshData) return; } - int indexBufferViewId; - if (uMesh.indexFormat == IndexFormat.UInt16) - { - var indexData16 = -#if ASYNC_MESH_DATA - await -#endif - ((IMeshData)meshData).GetIndexData(); - if (topology.Value == MeshTopology.Quads) - { - Profiler.BeginSample("IndexJobUInt16QuadsSchedule"); - var quadCount = indexData16.Length / 4; - var destIndices = new NativeArray(quadCount * 6, Allocator.TempJob); - var job = new ExportJobs.ConvertIndicesQuadFlippedJob - { - input = indexData16, - result = destIndices - }.Schedule(quadCount, k_DefaultInnerLoopBatchCount); - Profiler.EndSample(); - while (!job.IsCompleted) - { - await Task.Yield(); - } - Profiler.BeginSample("IndexJobUInt16QuadsPostWork"); - job.Complete(); - indexBufferViewId = WriteBufferViewToBuffer( - destIndices.Reinterpret(sizeof(ushort)), - BufferViewTarget.ElementArrayBuffer, - byteAlignment: sizeof(ushort) - ); - destIndices.Dispose(); - Profiler.EndSample(); - } - else - { - Profiler.BeginSample("IndexJobUInt16TrisSchedule"); - var triangleCount = indexData16.Length / 3; - var destIndices = new NativeArray(triangleCount * 3, Allocator.TempJob); - var job = new ExportJobs.ConvertIndicesFlippedJob - { - input = indexData16, - result = destIndices - }.Schedule(triangleCount, k_DefaultInnerLoopBatchCount); - Profiler.EndSample(); - while (!job.IsCompleted) - { - await Task.Yield(); - } - Profiler.BeginSample("IndexJobUInt16TrisPostWork"); - job.Complete(); - indexBufferViewId = WriteBufferViewToBuffer( - destIndices.Reinterpret(sizeof(ushort)), - BufferViewTarget.ElementArrayBuffer, - byteAlignment: sizeof(ushort) - ); - destIndices.Dispose(); - Profiler.EndSample(); - } - indexData16.Dispose(); - } - else - { - var indexData32 = -#if ASYNC_MESH_DATA - await -#endif - ((IMeshData)meshData).GetIndexData(); - if (topology.Value == MeshTopology.Quads) - { - Profiler.BeginSample("IndexJobUInt32QuadsSchedule"); - var quadCount = indexData32.Length / 4; - var destIndices = new NativeArray(quadCount * 6, Allocator.TempJob); - var job = new ExportJobs.ConvertIndicesQuadFlippedJob - { - input = indexData32, - result = destIndices - }.Schedule(quadCount, k_DefaultInnerLoopBatchCount); - Profiler.EndSample(); - while (!job.IsCompleted) - { - await Task.Yield(); - } - Profiler.BeginSample("IndexJobUInt32QuadsPostWork"); - job.Complete(); - indexBufferViewId = WriteBufferViewToBuffer( - destIndices.Reinterpret(sizeof(uint)), - BufferViewTarget.ElementArrayBuffer, - byteAlignment: sizeof(uint) - ); - destIndices.Dispose(); - Profiler.EndSample(); - } - else - { - Profiler.BeginSample("IndexJobUInt32TrisSchedule"); - var triangleCount = indexData32.Length / 3; - var destIndices = new NativeArray(indexData32.Length, Allocator.TempJob); - var job = new ExportJobs.ConvertIndicesFlippedJob - { - input = indexData32, - result = destIndices - }.Schedule(triangleCount, k_DefaultInnerLoopBatchCount); - Profiler.EndSample(); - while (!job.IsCompleted) - { - await Task.Yield(); - } - Profiler.BeginSample("IndexJobUInt32TrisPostWork"); - job.Complete(); - indexBufferViewId = WriteBufferViewToBuffer( - destIndices.Reinterpret(sizeof(uint)), - BufferViewTarget.ElementArrayBuffer, - byteAlignment: sizeof(uint) - ); - destIndices.Dispose(); - Profiler.EndSample(); - } - - indexData32.Dispose(); - } + var indexBufferViewId = await BakeMeshIndices(meshData, uMesh, topology); foreach (var accessor in indexAccessors) { @@ -1458,6 +1353,162 @@ await ConvertGenericAttribute( } } + async Task BakeMeshIndices(IMeshData meshData, UnityEngine.Mesh uMesh, MeshTopology? topology) + { + NativeArray indices; + if (uMesh.indexFormat == IndexFormat.UInt16) + { + using var indexData16 = +#if ASYNC_MESH_DATA + await +#endif + ((IMeshData)meshData).GetIndexData(); + NativeArray destIndices; + JobHandle job = default; + if (topology.Value == MeshTopology.Quads) + { + Profiler.BeginSample("IndexJobUInt16QuadsSchedule"); + var quadCount = indexData16.Length / 4; + destIndices = new NativeArray(quadCount * 6, Allocator.TempJob); + JobHandle ConvertSubmeshIndices(int submeshIndex, JobHandle dependency) + { + var submesh = uMesh.GetSubMesh(submeshIndex); + Assert.AreEqual(0, submesh.indexStart % 4); + Assert.AreEqual(0, submesh.indexCount % 4); + var dstStart = submesh.indexStart / 4 * 6; + var dstLength = submesh.indexCount / 4 * 6; + job = new ExportJobs.ConvertIndicesQuadFlippedJobUInt16 + { + input = indexData16.GetSubArray(submesh.indexStart, submesh.indexCount), + result = destIndices.GetSubArray(dstStart, dstLength), + baseVertexOffset = (ushort)submesh.baseVertex + }.Schedule(submesh.indexCount / 4, k_DefaultInnerLoopBatchCount, dependency); + return job; + } + + job = ConvertSubmeshIndices(0, job); + for (var i = 1; i < uMesh.subMeshCount; i++) + { + job = ConvertSubmeshIndices(i, job); + } + Profiler.EndSample(); + } + else + { + Profiler.BeginSample("IndexJobUInt16TrisSchedule"); + destIndices = new NativeArray(indexData16.Length, Allocator.TempJob); + JobHandle ConvertSubmeshIndices(int submeshIndex, JobHandle dependency) + { + var submesh = uMesh.GetSubMesh(submeshIndex); + Assert.AreEqual(0, submesh.indexStart % 3); + Assert.AreEqual(0, submesh.indexCount % 3); + job = new ExportJobs.ConvertIndicesFlippedJobUInt16 + { + input = indexData16.GetSubArray(submesh.indexStart, submesh.indexCount), + result = destIndices.GetSubArray(submesh.indexStart, submesh.indexCount), + baseVertexOffset = (ushort)submesh.baseVertex + }.Schedule(submesh.indexCount / 3, k_DefaultInnerLoopBatchCount, dependency); + return job; + } + + job = ConvertSubmeshIndices(0, job); + for (var i = 1; i < uMesh.subMeshCount; i++) + { + job = ConvertSubmeshIndices(i, job); + } + Profiler.EndSample(); + } + while (!job.IsCompleted) + { + await Task.Yield(); + } + job.Complete(); + indices = destIndices.Reinterpret(sizeof(ushort)); + } + else + { + using var indexData32 = +#if ASYNC_MESH_DATA + await +#endif + ((IMeshData)meshData).GetIndexData(); + NativeArray destIndices; + JobHandle job = default; + if (topology.Value == MeshTopology.Quads) + { + Profiler.BeginSample("IndexJobUInt32QuadsSchedule"); + var quadCount = indexData32.Length / 4; + destIndices = new NativeArray(quadCount * 6, Allocator.TempJob); + + JobHandle ConvertSubmeshIndices(int submeshIndex, JobHandle dependency) + { + var submesh = uMesh.GetSubMesh(submeshIndex); + Assert.AreEqual(0, submesh.indexStart % 4); + Assert.AreEqual(0, submesh.indexCount % 4); + var dstStart = submesh.indexStart / 4 * 6; + var dstLength = submesh.indexCount / 4 * 6; + job = new ExportJobs.ConvertIndicesQuadFlippedJobUInt32 + { + input = indexData32.GetSubArray(submesh.indexStart, submesh.indexCount), + result = destIndices.GetSubArray(dstStart, dstLength), + baseVertexOffset = (ushort)submesh.baseVertex + }.Schedule(submesh.indexCount / 4, k_DefaultInnerLoopBatchCount, dependency); + return job; + } + + job = ConvertSubmeshIndices(0, job); + for (var i = 1; i < uMesh.subMeshCount; i++) + { + job = ConvertSubmeshIndices(i, job); + } + Profiler.EndSample(); + } + else + { + Profiler.BeginSample("IndexJobUInt32TrisSchedule"); + destIndices = new NativeArray(indexData32.Length, Allocator.TempJob); + + JobHandle ConvertSubmeshIndices(int submeshIndex, JobHandle dependency) + { + var submesh = uMesh.GetSubMesh(submeshIndex); + Assert.AreEqual(0, submesh.indexStart % 3); + Assert.AreEqual(0, submesh.indexCount % 3); + job = new ExportJobs.ConvertIndicesFlippedJobUInt32 + { + input = indexData32.GetSubArray(submesh.indexStart, submesh.indexCount), + result = destIndices.GetSubArray(submesh.indexStart, submesh.indexCount), + baseVertexOffset = (uint)submesh.baseVertex + }.Schedule(submesh.indexCount / 3, k_DefaultInnerLoopBatchCount, dependency); + return job; + } + + job = ConvertSubmeshIndices(0, job); + for (var i = 1; i < uMesh.subMeshCount; i++) + { + job = ConvertSubmeshIndices(i, job); + } + Profiler.EndSample(); + } + while (!job.IsCompleted) + { + await Task.Yield(); + } + job.Complete(); + + indices = destIndices.Reinterpret(sizeof(uint)); + } + + Profiler.BeginSample("IndexJobPostWork"); + var indexBufferViewId = WriteBufferViewToBuffer( + indices, + BufferViewTarget.ElementArrayBuffer, + byteAlignment: sizeof(ushort) + ); + indices.Dispose(); + Profiler.EndSample(); + return indexBufferViewId; + } + async Task ExportBindPoses(int meshId, UnityEngine.Mesh uMesh) { // Add skin diff --git a/Runtime/Scripts/GameObjectInstantiator.cs b/Runtime/Scripts/GameObjectInstantiator.cs index 9ce9a1d16..c2285a4d2 100644 --- a/Runtime/Scripts/GameObjectInstantiator.cs +++ b/Runtime/Scripts/GameObjectInstantiator.cs @@ -8,6 +8,7 @@ using UnityEngine; using UnityEngine.Profiling; #if UNITY_ANIMATION +using UnityEngine.Playables; using Animation = UnityEngine.Animation; #endif using Camera = UnityEngine.Camera; @@ -70,6 +71,8 @@ public class GameObjectInstantiator : IInstantiator /// public GameObjectSceneInstance SceneInstance { get; protected set; } + internal ImportSettings ImportSettings { get; set; } + // ReSharper restore MemberCanBePrivate.Global /// @@ -121,7 +124,7 @@ uint[] rootNodeIndices #if UNITY_ANIMATION /// - public void AddAnimation(AnimationClip[] animationClips) { + public virtual void AddAnimation(AnimationClip[] animationClips) { if ((m_Settings.Mask & ComponentType.Animation) != 0 && animationClips != null) { // we want to create an Animator for non-legacy clips, and an Animation component for legacy clips. var isLegacyAnimation = animationClips.Length > 0 && animationClips[0].legacy; @@ -177,6 +180,16 @@ public void AddAnimation(AnimationClip[] animationClips) { } else { SceneTransform.gameObject.AddComponent(); + if (ImportSettings.AnimationMethod == AnimationMethod.Playables) + { + var animationPlayableComponent = SceneTransform.gameObject.AddComponent(); + animationPlayableComponent.Init(animationClips, false); + + // this is always null for Editor imports + // Playables currently not supported in Editor workflow + if (animationPlayableComponent.Playable.HasValue) + SceneInstance.Playable = animationPlayableComponent.Playable.Value; + } } } } diff --git a/Runtime/Scripts/GameObjectSceneInstance.cs b/Runtime/Scripts/GameObjectSceneInstance.cs index 7c397761d..d03460f38 100644 --- a/Runtime/Scripts/GameObjectSceneInstance.cs +++ b/Runtime/Scripts/GameObjectSceneInstance.cs @@ -4,6 +4,9 @@ using System; using System.Collections.Generic; using UnityEngine; +#if UNITY_ANIMATION +using UnityEngine.Playables; +#endif namespace GLTFast { @@ -30,10 +33,17 @@ public class GameObjectSceneInstance #if UNITY_ANIMATION /// /// component. Is null if scene has no - /// animation clips. + /// legacy animation clips. /// Only available if the built-in Animation module is enabled. /// public Animation LegacyAnimation { get; private set; } + + /// + /// instance. Is null if scene has no + /// Playables animation clips. + /// Only available if the built-in Animation module is enabled. + /// + public Playable? Playable { get; internal set; } #endif List m_Cameras; diff --git a/Runtime/Scripts/GltfAsset.cs b/Runtime/Scripts/GltfAsset.cs index 5a0029570..8a27e8252 100644 --- a/Runtime/Scripts/GltfAsset.cs +++ b/Runtime/Scripts/GltfAsset.cs @@ -4,6 +4,9 @@ using System.IO; using System.Threading.Tasks; using UnityEngine; +#if UNITY_ANIMATION +using UnityEngine.Playables; +#endif namespace GLTFast { @@ -149,10 +152,8 @@ protected override void PostInstantiation(IInstantiator instantiator, bool succe #if UNITY_ANIMATION if (SceneInstance != null) { if (playAutomatically) { - var legacyAnimation = SceneInstance.LegacyAnimation; - if (legacyAnimation != null) { - SceneInstance.LegacyAnimation.Play(); - } + SceneInstance.LegacyAnimation?.Play(); + SceneInstance.Playable?.GetGraph().Play(); } } #endif diff --git a/Runtime/Scripts/GltfImport.cs b/Runtime/Scripts/GltfImport.cs index 8d5e8d55f..9ab3962e0 100755 --- a/Runtime/Scripts/GltfImport.cs +++ b/Runtime/Scripts/GltfImport.cs @@ -490,7 +490,9 @@ public async Task LoadFile( #endif var fs = new FileStream(localPath, FileMode.Open, FileAccess.Read); var result = await LoadStream(fs, uri, importSettings, cancellationToken); +#if !UNITY_2021_3_OR_NEWER || !NET_STANDARD_2_1 fs.Dispose(); +#endif return result; } @@ -2270,34 +2272,28 @@ void CreateAnimationClips(int[] parentIndex) } var path = AnimationUtils.CreateAnimationPath(channel.Target.node,m_NodeNames,parentIndex); - var times = (NativeArray) m_AccessorData[sampler.input]; - var outputData = m_AccessorData[sampler.output]; - Assert.IsNotNull(outputData); + var interpolationType = sampler.GetInterpolationType(); switch (channel.Target.GetPath()) { case AnimationChannelBase.Path.Translation: { - Assert.IsTrue(outputData is NativeArray); - var values = (NativeArray) outputData; - AnimationUtils.AddTranslationCurves(m_AnimationClips[i], path, times, values, sampler.GetInterpolationType()); + var values = CastOrCreateTypedBuffer(outputData, times.Length, interpolationType); + AnimationUtils.AddTranslationCurves(m_AnimationClips[i], path, times, values, interpolationType); break; } case AnimationChannelBase.Path.Rotation: { - Assert.IsTrue(outputData is NativeArray); - var values = (NativeArray) outputData; - AnimationUtils.AddRotationCurves(m_AnimationClips[i], path, times, values, sampler.GetInterpolationType()); + var values = CastOrCreateTypedBuffer(outputData, times.Length, interpolationType); + AnimationUtils.AddRotationCurves(m_AnimationClips[i], path, times, values, interpolationType); break; } case AnimationChannelBase.Path.Scale: { - Assert.IsTrue(outputData is NativeArray); - var values = (NativeArray) outputData; - AnimationUtils.AddScaleCurves(m_AnimationClips[i], path, times, values, sampler.GetInterpolationType()); + var values = CastOrCreateTypedBuffer(outputData, times.Length, interpolationType); + AnimationUtils.AddScaleCurves(m_AnimationClips[i], path, times, values, interpolationType); break; } case AnimationChannelBase.Path.Weights: { - Assert.IsTrue(outputData is NativeArray); - var values = (NativeArray) outputData; + var values = CastOrCreateTypedBuffer(outputData, times.Length, interpolationType); var node = Root.Nodes[channel.Target.node]; if (node.mesh < 0 || node.mesh >= Root.Meshes.Count) { break; @@ -2308,7 +2304,7 @@ void CreateAnimationClips(int[] parentIndex) path, times, values, - sampler.GetInterpolationType(), + interpolationType, mesh.Extras?.targetNames ); @@ -2328,7 +2324,7 @@ void CreateAnimationClips(int[] parentIndex) $"{path}/{primitiveName}", times, values, - sampler.GetInterpolationType(), + interpolationType, mesh.Extras?.targetNames ); } @@ -2348,6 +2344,28 @@ void CreateAnimationClips(int[] parentIndex) } } + /// + /// Casts to the given type, or if unavailable allocates a temp buffer filled with 0-value data. + /// + /// Will be filled with 0-value data if unavailable. + /// The expected length of the temp buffer. + /// The of the expected data which might change + /// the resulting length of the output if the input was unavailable. + /// The expected type of the buffer. + /// A . + static NativeArray CastOrCreateTypedBuffer(IDisposable input, int expectedLength, InterpolationType interpolationType) where T : struct + { + if (input is null) + { + // InterpolationType.CubicSpline has 3 values per key (in-tangent, out-tangent and value). + var unknownOutputLength = expectedLength * (interpolationType == InterpolationType.CubicSpline ? 3 : 1); + return new NativeArray(unknownOutputLength, Allocator.Temp); + } + + Assert.IsTrue(input is NativeArray); + return (NativeArray)input; + } + #endif // UNITY_ANIMATION void CalculateSkinSkeletons(int[] parentIndex) @@ -2876,6 +2894,11 @@ void PopulateHierarchy(uint nodeIndex, uint? parentIndex) instantiator.BeginScene(scene.name, scene.nodes); #if UNITY_ANIMATION + // TODO: this should be removed in favor of a cleaner way to access ImportSettings in the instantiator + // only available internally for now to avoid breaking changes + if (instantiator is GameObjectInstantiator gameObjectInstantiator) + gameObjectInstantiator.ImportSettings = m_Settings; + instantiator.AddAnimation(m_AnimationClips); #endif diff --git a/Runtime/Scripts/Jobs.cs b/Runtime/Scripts/Jobs.cs index 1f9e4e3a5..1d3695a80 100644 --- a/Runtime/Scripts/Jobs.cs +++ b/Runtime/Scripts/Jobs.cs @@ -302,9 +302,9 @@ struct CreateIndicesInt32Job : IJobParallelFor [WriteOnly] public NativeArray result; - public void Execute(int i) + public void Execute(int index) { - result[i] = i; + result[index] = index; } } @@ -314,9 +314,9 @@ struct CreateIndicesInt32FlippedJob : IJobParallelFor [WriteOnly] public NativeArray result; - public void Execute(int i) + public void Execute(int index) { - result[i] = i - 2 * (i % 3 - 1); + result[index] = index - 2 * (index % 3 - 1); } } @@ -326,7 +326,7 @@ struct CreateIndicesForTriangleStripJob : IJobParallelFor [WriteOnly] public NativeArray result; - public void Execute(int i) + public void Execute(int index) { // Source https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html // Triangle Strips @@ -334,13 +334,13 @@ public void Execute(int i) // pi = { vi, vi + (1 + i % 2), vi + (2 - i % 2)} // We change first and second indices for Unity - var triangleIndex = i / 3; - result[i] = (i % 3) switch + var triangleIndex = index / 3; + result[index] = (index % 3) switch { 0 => triangleIndex + (1 + triangleIndex % 2), 1 => triangleIndex, 2 => triangleIndex + (2 - triangleIndex % 2), - _ => result[i] + _ => result[index] }; } } @@ -351,7 +351,7 @@ struct CreateIndicesForTriangleFanJob : IJobParallelFor [WriteOnly] public NativeArray result; - public void Execute(int i) + public void Execute(int index) { // Source https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html // Triangle Fans @@ -359,8 +359,8 @@ public void Execute(int i) // pi = {vi+1, vi+2, v0} // We change first and second indices for Unity - var triangleIndex = i / 3; - result[i] = (i % 3) switch + var triangleIndex = index / 3; + result[index] = (index % 3) switch { 0 => triangleIndex + 2, 1 => triangleIndex + 1, @@ -378,7 +378,7 @@ struct RecalculateIndicesForTriangleStripJob : IJobParallelFor [WriteOnly, NativeDisableParallelForRestriction] public NativeArray result; - public void Execute(int i) + public void Execute(int index) { // Source https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html // Triangle Strips @@ -386,10 +386,10 @@ public void Execute(int i) // pi = { vi, vi + (1 + i % 2), vi + (2 - i % 2)} // We change first and second indices for Unity - var triangleIndex = i * 3; - result[triangleIndex + 1] = input[i]; - result[triangleIndex] = input[i + (1 + i % 2)]; - result[triangleIndex + 2] = input[i + (2 - i % 2)]; + var triangleIndex = index * 3; + result[triangleIndex + 1] = input[index]; + result[triangleIndex] = input[index + (1 + index % 2)]; + result[triangleIndex + 2] = input[index + (2 - index % 2)]; } } @@ -402,7 +402,7 @@ struct RecalculateIndicesForTriangleFanJob : IJobParallelFor [WriteOnly, NativeDisableParallelForRestriction] public NativeArray result; - public void Execute(int i) + public void Execute(int index) { // Source https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html // Triangle Fans @@ -410,9 +410,9 @@ public void Execute(int i) // pi = {vi+1, vi+2, v0} // We change first and second indices for Unity - var triangleIndex = i * 3; - result[triangleIndex + 1] = input[i + 1]; - result[triangleIndex] = input[i + 2]; + var triangleIndex = index * 3; + result[triangleIndex + 1] = input[index + 1]; + result[triangleIndex] = input[index + 2]; result[triangleIndex + 2] = 0; } } @@ -428,9 +428,9 @@ unsafe struct ConvertIndicesUInt8ToInt32Job : IJobParallelFor [WriteOnly] public NativeArray result; - public void Execute(int i) + public void Execute(int index) { - result[i] = input[i]; + result[index] = input[index]; } } @@ -445,12 +445,12 @@ unsafe struct ConvertIndicesUInt8ToInt32FlippedJob : IJobParallelFor [WriteOnly] public NativeArray result; - public void Execute(int i) + public void Execute(int index) { - result[i] = new int3( - input[i * 3], - input[i * 3 + 2], - input[i * 3 + 1] + result[index] = new int3( + input[index * 3], + input[index * 3 + 2], + input[index * 3 + 1] ); } } @@ -465,12 +465,12 @@ unsafe struct ConvertIndicesUInt16ToInt32FlippedJob : IJobParallelFor [WriteOnly] public NativeArray result; - public void Execute(int i) + public void Execute(int index) { - result[i] = new int3( - input[i * 3], - input[i * 3 + 2], - input[i * 3 + 1] + result[index] = new int3( + input[index * 3], + input[index * 3 + 2], + input[index * 3 + 1] ); } } @@ -485,9 +485,9 @@ unsafe struct ConvertIndicesUInt16ToInt32Job : IJobParallelFor [WriteOnly] public NativeArray result; - public void Execute(int i) + public void Execute(int index) { - result[i] = input[i]; + result[index] = input[index]; } } @@ -501,9 +501,9 @@ unsafe struct ConvertIndicesUInt32ToInt32Job : IJobParallelFor [WriteOnly] public NativeArray result; - public void Execute(int i) + public void Execute(int index) { - result[i] = (int)input[i]; + result[index] = (int)input[index]; } } @@ -517,129 +517,16 @@ unsafe struct ConvertIndicesUInt32ToInt32FlippedJob : IJobParallelFor [WriteOnly] public NativeArray result; - public void Execute(int i) + public void Execute(int index) { - result[i] = new int3( - (int)input[i * 3], - (int)input[i * 3 + 2], - (int)input[i * 3 + 1] + result[index] = new int3( + (int)input[index * 3], + (int)input[index * 3 + 2], + (int)input[index * 3 + 1] ); } } - // /// - // /// Unused at the moment in favor of interleaved variant - // /// TODO: Investigate if this would be faster - // /// when input is not interleaved - // /// - // [BurstCompile] - // unsafe struct ConvertUVsUInt8ToFloatJob : IJobParallelFor { - // - // [ReadOnly] - // [NativeDisableUnsafePtrRestriction] - // public byte* input; - // - // [ReadOnly] - // [NativeDisableUnsafePtrRestriction] - // public float2* result; - // - // public void Execute(int i) - // { - // result[i].x = input[i*2]; - // result[i].y = 1 - input[i*2+1]; - // } - // } - - // /// - // /// Unused at the moment in favor of interleaved variant - // /// TODO: Investigate if this would be faster - // /// when input is not interleaved - // /// - // [BurstCompile] - // unsafe struct ConvertUVsUInt8ToFloatNormalizedJob : IJobParallelFor { - // - // [ReadOnly] - // [NativeDisableUnsafePtrRestriction] - // public byte* input; - // - // [ReadOnly] - // [NativeDisableUnsafePtrRestriction] - // public float2* result; - // - // public void Execute(int i) - // { - // result[i].x = input[i*2] / 255f; - // result[i].y = 1 - input[i*2+1] / 255f; - // } - // } - - // /// - // /// Unused at the moment in favor of interleaved variant - // /// TODO: Investigate if this would be faster - // /// when input is not interleaved - // /// - // [BurstCompile] - // unsafe struct ConvertUVsUInt16ToFloatNormalizedJob : IJobParallelFor { - // - // [ReadOnly] - // [NativeDisableUnsafePtrRestriction] - // public ushort* input; - // - // [ReadOnly] - // [NativeDisableUnsafePtrRestriction] - // public float2* result; - // - // public void Execute(int i) - // { - // result[i].x = input[i*2] / (float) ushort.MaxValue; - // result[i].y = 1 - input[i*2+1] / (float) ushort.MaxValue; - // } - // } - - // /// - // /// Unused at the moment in favor of interleaved variant - // /// TODO: Investigate if this would be faster - // /// when input is not interleaved - // /// - // [BurstCompile] - // unsafe struct ConvertUVsUInt16ToFloatJob : IJobParallelFor { - // - // [ReadOnly] - // [NativeDisableUnsafePtrRestriction] - // public ushort* input; - // - // [ReadOnly] - // [NativeDisableUnsafePtrRestriction] - // public float2* result; - // - // public void Execute(int i) - // { - // result[i].x = input[i*2]; - // result[i].y = 1 - input[i*2+1]; - // } - // } - - // /// - // /// Unused at the moment in favor of interleaved variant - // /// TODO: Investigate if this would be faster - // /// when input is not interleaved - // /// - // [BurstCompile] - // unsafe struct ConvertUVsFloatToFloatJob : IJobParallelFor { - // [ReadOnly] - // [NativeDisableUnsafePtrRestriction] - // public float* input; - // - // [ReadOnly] - // [NativeDisableUnsafePtrRestriction] - // public float2* result; - // - // public void Execute(int i) { - // result[i].x = ((float*)input)[i*2]; - // result[i].y = 1-((float*)input)[i*2+1]; - // } - // } - [BurstCompile] unsafe struct ConvertUVsUInt8ToFloatInterleavedJob : #if UNITY_COLLECTIONS @@ -663,10 +550,10 @@ unsafe struct ConvertUVsUInt8ToFloatInterleavedJob : public float2* result; #if UNITY_COLLECTIONS - public void Execute(int index, int count) + public void Execute(int startIndex, int count) { - var resultV = (float2*)((byte*)result + index * outputByteStride); - var off = input + (index * inputByteStride); + var resultV = (float2*)((byte*)result + startIndex * outputByteStride); + var off = input + (startIndex * inputByteStride); for (var x = 0; x < count; x++) { @@ -676,10 +563,10 @@ public void Execute(int index, int count) } } #else - public void Execute(int i) + public void Execute(int index) { - var resultV = (float2*)(((byte*)result) + (i * outputByteStride)); - var off = input + inputByteStride * i; + var resultV = (float2*)(((byte*)result) + (index * outputByteStride)); + var off = input + inputByteStride * index; *resultV = new float2(off[0], 1 - off[1]); } #endif @@ -703,10 +590,10 @@ unsafe struct ConvertUVsUInt8ToFloatInterleavedNormalizedJob : IJobParallelFor [NativeDisableUnsafePtrRestriction] public float2* result; - public void Execute(int i) + public void Execute(int index) { - var resultV = (float2*)(((byte*)result) + (i * outputByteStride)); - var off = input + inputByteStride * i; + var resultV = (float2*)(((byte*)result) + (index * outputByteStride)); + var off = input + inputByteStride * index; var tmp = new float2( off[0], off[1] @@ -740,10 +627,10 @@ unsafe struct ConvertUVsUInt16ToFloatInterleavedJob : public float2* result; #if UNITY_COLLECTIONS - public void Execute(int i, int count) + public void Execute(int startIndex, int count) { - var resultV = (float2*)((byte*)result + i * outputByteStride); - var uv = (ushort*)(input + i * inputByteStride); + var resultV = (float2*)((byte*)result + startIndex * outputByteStride); + var uv = (ushort*)(input + startIndex * inputByteStride); for (var x = 0; x < count; x++) { @@ -753,10 +640,10 @@ public void Execute(int i, int count) } } #else - public void Execute(int i) + public void Execute(int index) { - var resultV = (float2*)(((byte*)result) + (i * outputByteStride)); - var uv = (ushort*)(input + inputByteStride * i); + var resultV = (float2*)(((byte*)result) + (index * outputByteStride)); + var uv = (ushort*)(input + inputByteStride * index); *resultV = new float2(uv[0], 1 - uv[1]); } #endif @@ -780,10 +667,10 @@ unsafe struct ConvertUVsUInt16ToFloatInterleavedNormalizedJob : IJobParallelFor [NativeDisableUnsafePtrRestriction] public float2* result; - public void Execute(int i) + public void Execute(int index) { - var resultV = (float2*)(((byte*)result) + (i * outputByteStride)); - var uv = (ushort*)(input + inputByteStride * i); + var resultV = (float2*)(((byte*)result) + (index * outputByteStride)); + var uv = (ushort*)(input + inputByteStride * index); var tmp = new float2( uv[0], uv[1] @@ -817,10 +704,10 @@ unsafe struct ConvertUVsInt16ToFloatInterleavedJob : public float2* result; #if UNITY_COLLECTIONS - public void Execute(int i, int count) + public void Execute(int startIndex, int count) { - var resultV = (float2*)((byte*)result + i * outputByteStride); - var uv = (short*)((byte*)input + i * inputByteStride); + var resultV = (float2*)((byte*)result + startIndex * outputByteStride); + var uv = (short*)((byte*)input + startIndex * inputByteStride); for (var x = 0; x < count; x++) { @@ -830,10 +717,10 @@ public void Execute(int i, int count) } } #else - public void Execute(int i) + public void Execute(int index) { - var resultV = (float2*)(((byte*)result) + (i * outputByteStride)); - var uv = (short*)((byte*)input + inputByteStride * i); + var resultV = (float2*)(((byte*)result) + (index * outputByteStride)); + var uv = (short*)((byte*)input + inputByteStride * index); *resultV = new float2(uv[0], 1 - uv[1]); } #endif @@ -863,10 +750,10 @@ unsafe struct ConvertUVsInt16ToFloatInterleavedNormalizedJob : public float2* result; #if UNITY_COLLECTIONS - public void Execute(int i, int count) + public void Execute(int startIndex, int count) { - var resultV = (float2*)((byte*)result + i * outputByteStride); - var uv = (short*)((byte*)input + i * inputByteStride); + var resultV = (float2*)((byte*)result + startIndex * outputByteStride); + var uv = (short*)((byte*)input + startIndex * inputByteStride); for (var x = 0; x < count; x++) { @@ -880,10 +767,10 @@ public void Execute(int i, int count) } } #else - public void Execute(int i) + public void Execute(int index) { - var resultV = (float2*)(((byte*)result) + (i * outputByteStride)); - var uv = (short*)((byte*)input + inputByteStride * i); + var resultV = (float2*)(((byte*)result) + (index * outputByteStride)); + var uv = (short*)((byte*)input + inputByteStride * index); var tmp = new float2(uv[0], uv[1]) / short.MaxValue; var tmp2 = max(tmp, -1f); @@ -917,10 +804,10 @@ unsafe struct ConvertUVsInt8ToFloatInterleavedJob : public float2* result; #if UNITY_COLLECTIONS - public void Execute(int i, int count) + public void Execute(int startIndex, int count) { - var resultV = (float2*)((byte*)result + i * outputByteStride); - var off = input + i * inputByteStride; + var resultV = (float2*)((byte*)result + startIndex * outputByteStride); + var off = input + startIndex * inputByteStride; for (var x = 0; x < count; x++) { @@ -930,10 +817,10 @@ public void Execute(int i, int count) } } #else - public void Execute(int i) + public void Execute(int index) { - var resultV = (float2*)(((byte*)result) + (i * outputByteStride)); - var off = input + inputByteStride * i; + var resultV = (float2*)(((byte*)result) + (index * outputByteStride)); + var off = input + inputByteStride * index; *resultV = new float2(off[0], 1 - off[1]); } #endif @@ -963,10 +850,10 @@ unsafe struct ConvertUVsInt8ToFloatInterleavedNormalizedJob : public float2* result; #if UNITY_COLLECTIONS - public void Execute(int i, int count) + public void Execute(int startIndex, int count) { - var resultV = (float2*)((byte*)result + i * outputByteStride); - var off = input + i * inputByteStride; + var resultV = (float2*)((byte*)result + startIndex * outputByteStride); + var off = input + startIndex * inputByteStride; for (var x = 0; x < count; x++) { @@ -980,10 +867,10 @@ public void Execute(int i, int count) } } #else - public void Execute(int i) + public void Execute(int index) { - var resultV = (float2*)(((byte*)result) + (i * outputByteStride)); - var off = input + inputByteStride * i; + var resultV = (float2*)(((byte*)result) + (index * outputByteStride)); + var off = input + inputByteStride * index; var tmp = new float2(off[0], off[1]) / 127f; var tmp2 = max(tmp, -1f); tmp2.y = 1 - tmp2.y; @@ -1004,13 +891,12 @@ unsafe struct ConvertColorsRGBFloatToRGBAFloatJob : IJobParallelFor public byte* input; [WriteOnly] - [NativeDisableUnsafePtrRestriction] - public float4* result; + public NativeArray result; - public void Execute(int i) + public void Execute(int index) { - var src = (float3*)(input + (i * inputByteStride)); - result[i] = new float4(*src, 1f); + var src = (float3*)(input + (index * inputByteStride)); + result[index] = new float4(*src, 1f); } } @@ -1026,12 +912,12 @@ unsafe struct ConvertColorsRgbUInt8ToRGBAFloatJob : IJobParallelFor public byte* input; [WriteOnly] - public NativeSlice result; + public NativeArray result; - public void Execute(int i) + public void Execute(int index) { - var src = input + (i * inputByteStride); - result[i] = new float4( + var src = input + (index * inputByteStride); + result[index] = new float4( new float3(src[0], src[1], src[2]) / byte.MaxValue, 1f ); @@ -1050,12 +936,12 @@ unsafe struct ConvertColorsRgbUInt16ToRGBAFloatJob : IJobParallelFor public ushort* input; [WriteOnly] - public NativeSlice result; + public NativeArray result; - public void Execute(int i) + public void Execute(int index) { - var src = (ushort*)(((byte*)input) + (i * inputByteStride)); - result[i] = new float4( + var src = (ushort*)(((byte*)input) + (index * inputByteStride)); + result[index] = new float4( new float3(src[0], src[1], src[2]) / ushort.MaxValue, 1f ); @@ -1079,15 +965,14 @@ unsafe struct ConvertColorsRgbaUInt16ToRGBAFloatJob : public ushort* input; [WriteOnly] - [NativeDisableUnsafePtrRestriction] - public float4* result; + public NativeArray result; #if UNITY_COLLECTIONS - public void Execute(int i, int count) + public void Execute(int startIndex, int count) { - var src = (ushort*)((byte*)input + i * inputByteStride); - var endIndex = i + count; - for (var x = i; x < endIndex; x++) + var src = (ushort*)((byte*)input + startIndex * inputByteStride); + var endIndex = startIndex + count; + for (var x = startIndex; x < endIndex; x++) { result[x] = new float4( src[0] / (float)ushort.MaxValue, @@ -1099,10 +984,10 @@ public void Execute(int i, int count) } } #else - public void Execute(int i) + public void Execute(int index) { - var src = (ushort*)(((byte*)input) + (i * inputByteStride)); - result[i] = new float4( + var src = (ushort*)(((byte*)input) + (index * inputByteStride)); + result[index] = new float4( src[0] / (float)ushort.MaxValue, src[1] / (float)ushort.MaxValue, src[2] / (float)ushort.MaxValue, @@ -1129,25 +1014,24 @@ unsafe struct ConvertColorsRGBAFloatToRGBAFloatJob : public byte* input; [WriteOnly] - [NativeDisableUnsafePtrRestriction] - public float4* result; + public NativeArray result; #if UNITY_COLLECTIONS - public void Execute(int i, int count) + public void Execute(int startIndex, int count) { - var src = (float4*)(input + i * inputByteStride); - var endIndex = i + count; - for (var x = i; x < endIndex; x++) + var src = (float4*)(input + startIndex * inputByteStride); + var endIndex = startIndex + count; + for (var x = startIndex; x < endIndex; x++) { result[x] = *src; src = (float4*)((byte*)src + inputByteStride); } } #else - public void Execute(int i) + public void Execute(int index) { - var src = (float4*)(input + (i * inputByteStride)); - result[i] = *src; + var src = (float4*)(input + (index * inputByteStride)); + result[index] = *src; } #endif } @@ -1164,12 +1048,12 @@ unsafe struct ConvertColorsRgbaUInt8ToRGBAFloatJob : IJobParallelFor public byte* input; [WriteOnly] - public NativeSlice result; + public NativeArray result; - public void Execute(int i) + public void Execute(int index) { - var src = input + (i * inputByteStride); - result[i] = new float4( + var src = input + (index * inputByteStride); + result[index] = new float4( src[0] / (float)byte.MaxValue, src[1] / (float)byte.MaxValue, src[2] / (float)byte.MaxValue, @@ -1213,11 +1097,11 @@ unsafe struct ConvertVector3FloatToFloatJob : IJobParallelFor [NativeDisableUnsafePtrRestriction] public float3* result; - public void Execute(int i) + public void Execute(int index) { - var tmp = input[i]; + var tmp = input[index]; tmp.x *= -1; - result[i] = tmp; + result[index] = tmp; } } @@ -1233,12 +1117,12 @@ unsafe struct ConvertRotationsFloatToFloatJob : IJobParallelFor [NativeDisableUnsafePtrRestriction] public float4* result; - public void Execute(int i) + public void Execute(int index) { - var tmp = input[i]; + var tmp = input[index]; tmp.y *= -1; tmp.z *= -1; - result[i] = tmp; + result[index] = tmp; } } @@ -1254,12 +1138,12 @@ unsafe struct ConvertRotationsInt16ToFloatJob : IJobParallelFor [NativeDisableUnsafePtrRestriction] public float* result; - public void Execute(int i) + public void Execute(int index) { - result[i * 4] = Mathf.Max(input[i * 4] / (float)short.MaxValue, -1f); - result[i * 4 + 1] = -Mathf.Max(input[i * 4 + 1] / (float)short.MaxValue, -1f); - result[i * 4 + 2] = -Mathf.Max(input[i * 4 + 2] / (float)short.MaxValue, -1f); - result[i * 4 + 3] = Mathf.Max(input[i * 4 + 3] / (float)short.MaxValue, -1f); + result[index * 4] = Mathf.Max(input[index * 4] / (float)short.MaxValue, -1f); + result[index * 4 + 1] = -Mathf.Max(input[index * 4 + 1] / (float)short.MaxValue, -1f); + result[index * 4 + 2] = -Mathf.Max(input[index * 4 + 2] / (float)short.MaxValue, -1f); + result[index * 4 + 3] = Mathf.Max(input[index * 4 + 3] / (float)short.MaxValue, -1f); } } @@ -1279,12 +1163,12 @@ unsafe struct ConvertRotationsInt8ToFloatJob : IJobParallelFor [NativeDisableUnsafePtrRestriction] public float* result; - public void Execute(int i) + public void Execute(int index) { - result[i * 4] = Mathf.Max(input[i * 4] / 127f, -1f); - result[i * 4 + 1] = -Mathf.Max(input[i * 4 + 1] / 127f, -1f); - result[i * 4 + 2] = -Mathf.Max(input[i * 4 + 2] / 127f, -1f); - result[i * 4 + 3] = Mathf.Max(input[i * 4 + 3] / 127f, -1f); + result[index * 4] = Mathf.Max(input[index * 4] / 127f, -1f); + result[index * 4 + 1] = -Mathf.Max(input[index * 4 + 1] / 127f, -1f); + result[index * 4 + 2] = -Mathf.Max(input[index * 4 + 2] / 127f, -1f); + result[index * 4 + 3] = Mathf.Max(input[index * 4 + 3] / 127f, -1f); } } @@ -1312,10 +1196,10 @@ unsafe struct ConvertUVsFloatToFloatInterleavedJob : public float2* result; #if UNITY_COLLECTIONS - public void Execute(int i, int count) + public void Execute(int startIndex, int count) { - var resultV = (float2*)((byte*)result + i * outputByteStride); - var off = (float2*)(input + i * inputByteStride); + var resultV = (float2*)((byte*)result + startIndex * outputByteStride); + var off = (float2*)(input + startIndex * inputByteStride); for (var x = 0; x < count; x++) { @@ -1328,10 +1212,10 @@ public void Execute(int i, int count) } } #else - public void Execute(int i) + public void Execute(int index) { - var resultV = (float2*)(((byte*)result) + (i * outputByteStride)); - var off = (float2*)(input + (i * inputByteStride)); + var resultV = (float2*)(((byte*)result) + (index * outputByteStride)); + var off = (float2*)(input + (index * inputByteStride)); var tmp = *off; tmp.y = 1 - tmp.y; *resultV = tmp; @@ -1366,10 +1250,10 @@ unsafe struct ConvertVector3FloatToFloatInterleavedJob : public float3* result; #if UNITY_COLLECTIONS - public void Execute(int i, int count) + public void Execute(int startIndex, int count) { - var resultV = (float3*)((byte*)result + i * outputByteStride); - var off = (float3*)(input + i * inputByteStride); + var resultV = (float3*)((byte*)result + startIndex * outputByteStride); + var off = (float3*)(input + startIndex * inputByteStride); for (var x = 0; x < count; x++) { @@ -1382,10 +1266,10 @@ public void Execute(int i, int count) } } #else - public void Execute(int i) + public void Execute(int index) { - var resultV = (float3*)(((byte*)result) + (i * outputByteStride)); - var off = (float3*)(input + i * inputByteStride); + var resultV = (float3*)(((byte*)result) + (index * outputByteStride)); + var off = (float3*)(input + index * inputByteStride); var tmp = *off; tmp.x *= -1; *resultV = tmp; @@ -1422,11 +1306,11 @@ unsafe struct ConvertVector3SparseJob : IJobParallelFor [NativeDisableUnsafePtrRestriction] public float3* result; - public void Execute(int i) + public void Execute(int index) { - var index = indexConverter.Invoke(indexBuffer, i); - var resultV = (float3*)(((byte*)result) + (index * outputByteStride)); - valueConverter.Invoke(resultV, (byte*)input + i * inputByteStride); + var resultIndex = indexConverter.Invoke(indexBuffer, index); + var resultV = (float3*)(((byte*)result) + (resultIndex * outputByteStride)); + valueConverter.Invoke(resultV, (byte*)input + index * inputByteStride); } } @@ -1454,10 +1338,10 @@ unsafe struct ConvertTangentsFloatToFloatInterleavedJob : public float4* result; #if UNITY_COLLECTIONS - public void Execute(int i, int count) + public void Execute(int startIndex, int count) { - var resultV = (float4*)((byte*)result + i * outputByteStride); - var off = (float4*)(input + i * inputByteStride); + var resultV = (float4*)((byte*)result + startIndex * outputByteStride); + var off = (float4*)(input + startIndex * inputByteStride); for (var x = 0; x < count; x++) { @@ -1470,10 +1354,10 @@ public void Execute(int i, int count) } } #else - public void Execute(int i) + public void Execute(int index) { - var resultV = (float4*)(((byte*)result) + (i * outputByteStride)); - var off = input + (i * inputByteStride); + var resultV = (float4*)(((byte*)result) + (index * outputByteStride)); + var off = input + (index * inputByteStride); var tmp = *((float4*)off); tmp.z *= -1; *resultV = tmp; @@ -1505,10 +1389,10 @@ unsafe struct ConvertBoneWeightsFloatToFloatInterleavedJob : public float4* result; #if UNITY_COLLECTIONS - public void Execute(int i, int count) + public void Execute(int startIndex, int count) { - var resultV = (float4*)((byte*)result + i * outputByteStride); - var off = (float4*)(input + i * inputByteStride); + var resultV = (float4*)((byte*)result + startIndex * outputByteStride); + var off = (float4*)(input + startIndex * inputByteStride); for (var x = 0; x < count; x++) { @@ -1518,10 +1402,10 @@ public void Execute(int i, int count) } } #else - public void Execute(int i) + public void Execute(int index) { - var resultV = (float4*)(((byte*)result) + (i * outputByteStride)); - var off = input + (i * inputByteStride); + var resultV = (float4*)(((byte*)result) + (index * outputByteStride)); + var off = input + (index * inputByteStride); *resultV = *((float4*)off); } #endif @@ -1551,10 +1435,10 @@ unsafe struct ConvertBoneWeightsUInt8ToFloatInterleavedJob : public float4* result; #if UNITY_COLLECTIONS - public void Execute(int i, int count) + public void Execute(int startIndex, int count) { - var resultV = (float4*)((byte*)result + i * outputByteStride); - var off = input + i * inputByteStride; + var resultV = (float4*)((byte*)result + startIndex * outputByteStride); + var off = input + startIndex * inputByteStride; for (var x = 0; x < count; x++) { @@ -1569,10 +1453,10 @@ public void Execute(int i, int count) } } #else - public void Execute(int i) + public void Execute(int index) { - var resultV = (float4*)(((byte*)result) + (i * outputByteStride)); - var off = input + (i * inputByteStride); + var resultV = (float4*)(((byte*)result) + (index * outputByteStride)); + var off = input + (index * inputByteStride); *resultV = new float4( off[0] / 255f, off[1] / 255f, @@ -1607,10 +1491,10 @@ unsafe struct ConvertBoneWeightsUInt16ToFloatInterleavedJob : public float4* result; #if UNITY_COLLECTIONS - public void Execute(int i, int count) + public void Execute(int startIndex, int count) { - var resultV = (float4*)((byte*)result + i * outputByteStride); - var off = (ushort*)(input + i * inputByteStride); + var resultV = (float4*)((byte*)result + startIndex * outputByteStride); + var off = (ushort*)(input + startIndex * inputByteStride); for (var x = 0; x < count; x++) { @@ -1625,10 +1509,10 @@ public void Execute(int i, int count) } } #else - public void Execute(int i) + public void Execute(int index) { - var resultV = (float4*)(((byte*)result) + (i * outputByteStride)); - var off = (ushort*)(input + i * inputByteStride); + var resultV = (float4*)(((byte*)result) + (index * outputByteStride)); + var off = (ushort*)(input + index * inputByteStride); *resultV = new float4( off[0] / (float)ushort.MaxValue, off[1] / (float)ushort.MaxValue, @@ -1663,10 +1547,10 @@ unsafe struct ConvertTangentsInt16ToFloatInterleavedNormalizedJob : public float4* result; #if UNITY_COLLECTIONS - public void Execute(int i, int count) + public void Execute(int startIndex, int count) { - var resultV = (float4*)((byte*)result + i * outputByteStride); - var off = (short*)((byte*)input + i * inputByteStride); + var resultV = (float4*)((byte*)result + startIndex * outputByteStride); + var off = (short*)((byte*)input + startIndex * inputByteStride); for (var x = 0; x < count; x++) { @@ -1680,10 +1564,10 @@ public void Execute(int i, int count) } } #else - public void Execute(int i) + public void Execute(int index) { - var resultV = (float4*)(((byte*)result) + (i * outputByteStride)); - var off = (short*)(((byte*)input) + (i * inputByteStride)); + var resultV = (float4*)(((byte*)result) + (index * outputByteStride)); + var off = (short*)(((byte*)input) + (index * inputByteStride)); var tmp = new float4(off[0], off[1], off[2], off[3]) / short.MaxValue; var tmp2 = max(tmp, -1f); tmp2.z *= -1; @@ -1716,10 +1600,10 @@ unsafe struct ConvertTangentsInt8ToFloatInterleavedNormalizedJob : public float4* result; #if UNITY_COLLECTIONS - public void Execute(int i, int count) + public void Execute(int startIndex, int count) { - var resultV = (float4*)((byte*)result + i * outputByteStride); - var off = input + i * inputByteStride; + var resultV = (float4*)((byte*)result + startIndex * outputByteStride); + var off = input + startIndex * inputByteStride; for (var x = 0; x < count; x++) { @@ -1733,10 +1617,10 @@ public void Execute(int i, int count) } } #else - public void Execute(int i) + public void Execute(int index) { - var resultV = (float4*)(((byte*)result) + (i * outputByteStride)); - var off = input + (i * inputByteStride); + var resultV = (float4*)(((byte*)result) + (index * outputByteStride)); + var off = input + (index * inputByteStride); var tmp = new float4(off[0], off[1], off[2], off[3]) / 127f; var tmp2 = max(tmp, -1f); tmp2.z *= -1; @@ -1769,10 +1653,10 @@ unsafe struct ConvertPositionsUInt16ToFloatInterleavedJob : public float3* result; #if UNITY_COLLECTIONS - public void Execute(int i, int count) + public void Execute(int startIndex, int count) { - var resultV = (float3*)((byte*)result + i * outputByteStride); - var off = (ushort*)(input + i * inputByteStride); + var resultV = (float3*)((byte*)result + startIndex * outputByteStride); + var off = (ushort*)(input + startIndex * inputByteStride); for (var x = 0; x < count; x++) { @@ -1782,10 +1666,10 @@ public void Execute(int i, int count) } } #else - public void Execute(int i) + public void Execute(int index) { - var resultV = (float3*)(((byte*)result) + (i * outputByteStride)); - var off = (ushort*)(input + (inputByteStride * i)); + var resultV = (float3*)(((byte*)result) + (index * outputByteStride)); + var off = (ushort*)(input + (inputByteStride * index)); *resultV = new float3(-(float)off[0], off[1], off[2]); } #endif @@ -1814,10 +1698,10 @@ unsafe struct ConvertPositionsUInt16ToFloatInterleavedNormalizedJob : public float3* result; #if UNITY_COLLECTIONS - public void Execute(int i, int count) + public void Execute(int startIndex, int count) { - var resultV = (float3*)((byte*)result + i * outputByteStride); - var off = (ushort*)(input + i * inputByteStride); + var resultV = (float3*)((byte*)result + startIndex * outputByteStride); + var off = (ushort*)(input + startIndex * inputByteStride); for (var x = 0; x < count; x++) { @@ -1832,10 +1716,10 @@ public void Execute(int i, int count) } } #else - public void Execute(int i) + public void Execute(int index) { - var resultV = (float3*)(((byte*)result) + (i * outputByteStride)); - var off = (ushort*)(input + (inputByteStride * i)); + var resultV = (float3*)(((byte*)result) + (index * outputByteStride)); + var off = (ushort*)(input + (inputByteStride * index)); *resultV = new float3( -(off[0] / (float)ushort.MaxValue), off[1] / (float)ushort.MaxValue, @@ -1870,10 +1754,10 @@ unsafe struct ConvertPositionsInt16ToFloatInterleavedJob : public int outputByteStride; #if UNITY_COLLECTIONS - public void Execute(int i, int count) + public void Execute(int startIndex, int count) { - var resultV = (float3*)((byte*)result + i * outputByteStride); - var off = (short*)(input + i * inputByteStride); + var resultV = (float3*)((byte*)result + startIndex * outputByteStride); + var off = (short*)(input + startIndex * inputByteStride); for (var x = 0; x < count; x++) { @@ -1883,10 +1767,10 @@ public void Execute(int i, int count) } } #else - public void Execute(int i) + public void Execute(int index) { - var resultV = (float3*)(((byte*)result) + (i * outputByteStride)); - var off = (short*)(input + (i * inputByteStride)); + var resultV = (float3*)(((byte*)result) + (index * outputByteStride)); + var off = (short*)(input + (index * inputByteStride)); *resultV = new float3(-(float)off[0], off[1], off[2]); } #endif @@ -1920,10 +1804,10 @@ unsafe struct ConvertVector3Int16ToFloatInterleavedNormalizedJob : public float3* result; #if UNITY_COLLECTIONS - public void Execute(int i, int count) + public void Execute(int startIndex, int count) { - var resultV = (float3*)((byte*)result + i * outputByteStride); - var off = (short*)(input + i * inputByteStride); + var resultV = (float3*)((byte*)result + startIndex * outputByteStride); + var off = (short*)(input + startIndex * inputByteStride); for (var x = 0; x < count; x++) { @@ -1937,10 +1821,10 @@ public void Execute(int i, int count) } } #else - public void Execute(int i) + public void Execute(int index) { - var resultV = (float3*)(((byte*)result) + (i * outputByteStride)); - var off = (short*)(input + (i * inputByteStride)); + var resultV = (float3*)(((byte*)result) + (index * outputByteStride)); + var off = (short*)(input + (index * inputByteStride)); var tmp = new float3(off[0], off[1], off[2]) / short.MaxValue; var tmp2 = max(tmp, -1f); @@ -1978,10 +1862,10 @@ unsafe struct ConvertNormalsInt16ToFloatInterleavedNormalizedJob : public float3* result; #if UNITY_COLLECTIONS - public void Execute(int i, int count) + public void Execute(int startIndex, int count) { - var resultV = (float3*)((byte*)result + i * outputByteStride); - var off = (short*)(input + i * inputByteStride); + var resultV = (float3*)((byte*)result + startIndex * outputByteStride); + var off = (short*)(input + startIndex * inputByteStride); for (var x = 0; x < count; x++) { @@ -1995,10 +1879,10 @@ public void Execute(int i, int count) } } #else - public void Execute(int i) + public void Execute(int index) { - var resultV = (float3*)(((byte*)result) + (i * outputByteStride)); - var off = (short*)(input + (i * inputByteStride)); + var resultV = (float3*)(((byte*)result) + (index * outputByteStride)); + var off = (short*)(input + (index * inputByteStride)); var tmp = new float3(off[0], off[1], off[2]) / short.MaxValue; var tmp2 = max(tmp, -1f); @@ -2032,10 +1916,10 @@ unsafe struct ConvertPositionsInt8ToFloatInterleavedJob : public float3* result; #if UNITY_COLLECTIONS - public void Execute(int i, int count) + public void Execute(int startIndex, int count) { - var resultV = (float3*)((byte*)result + i * outputByteStride); - var off = input + i * inputByteStride; + var resultV = (float3*)((byte*)result + startIndex * outputByteStride); + var off = input + startIndex * inputByteStride; for (var x = 0; x < count; x++) { @@ -2045,10 +1929,10 @@ public void Execute(int i, int count) } } #else - public void Execute(int i) + public void Execute(int index) { - var resultV = (float3*)(((byte*)result) + (i * outputByteStride)); - var off = input + (inputByteStride * i); + var resultV = (float3*)(((byte*)result) + (index * outputByteStride)); + var off = input + (inputByteStride * index); *resultV = new float3(-(float)off[0], off[1], off[2]); } #endif @@ -2082,10 +1966,10 @@ unsafe struct ConvertVector3Int8ToFloatInterleavedNormalizedJob : public float3* result; #if UNITY_COLLECTIONS - public void Execute(int i, int count) + public void Execute(int startIndex, int count) { - var resultV = (float3*)((byte*)result + i * outputByteStride); - var off = input + i * inputByteStride; + var resultV = (float3*)((byte*)result + startIndex * outputByteStride); + var off = input + startIndex * inputByteStride; for (var x = 0; x < count; x++) { @@ -2099,10 +1983,10 @@ public void Execute(int i, int count) } } #else - public void Execute(int i) + public void Execute(int index) { - var resultV = (float3*)(((byte*)result) + (i * outputByteStride)); - var off = input + (inputByteStride * i); + var resultV = (float3*)(((byte*)result) + (index * outputByteStride)); + var off = input + (inputByteStride * index); var tmp = new float3(off[0], off[1], off[2]) / 127f; var tmp2 = max(tmp, -1); @@ -2140,10 +2024,10 @@ unsafe struct ConvertNormalsInt8ToFloatInterleavedNormalizedJob : public float3* result; #if UNITY_COLLECTIONS - public void Execute(int i, int count) + public void Execute(int startIndex, int count) { - var resultV = (float3*)((byte*)result + i * outputByteStride); - var off = input + i * inputByteStride; + var resultV = (float3*)((byte*)result + startIndex * outputByteStride); + var off = input + startIndex * inputByteStride; for (var x = 0; x < count; x++) { @@ -2157,10 +2041,10 @@ public void Execute(int i, int count) } } #else - public void Execute(int i) + public void Execute(int index) { - var resultV = (float3*)(((byte*)result) + (i * outputByteStride)); - var off = input + (inputByteStride * i); + var resultV = (float3*)(((byte*)result) + (index * outputByteStride)); + var off = input + (inputByteStride * index); var tmp = new float3(off[0], off[1], off[2]) / 127f; var tmp2 = max(tmp, -1); @@ -2194,10 +2078,10 @@ unsafe struct ConvertPositionsUInt8ToFloatInterleavedJob : public float3* result; #if UNITY_COLLECTIONS - public void Execute(int i, int count) + public void Execute(int startIndex, int count) { - var resultV = (float3*)((byte*)result + i * outputByteStride); - var off = input + i * inputByteStride; + var resultV = (float3*)((byte*)result + startIndex * outputByteStride); + var off = input + startIndex * inputByteStride; for (var x = 0; x < count; x++) { @@ -2207,10 +2091,10 @@ public void Execute(int i, int count) } } #else - public void Execute(int i) + public void Execute(int index) { - var off = input + (i * inputByteStride); - var resultV = (float3*)(((byte*)result) + (i * outputByteStride)); + var off = input + (index * inputByteStride); + var resultV = (float3*)(((byte*)result) + (index * outputByteStride)); *resultV = new float3(-(float)off[0], off[1], off[2]); } #endif @@ -2240,10 +2124,10 @@ unsafe struct ConvertPositionsUInt8ToFloatInterleavedNormalizedJob : public float3* result; #if UNITY_COLLECTIONS - public void Execute(int i, int count) + public void Execute(int startIndex, int count) { - var resultV = (float3*)((byte*)result + i * outputByteStride); - var off = input + i * inputByteStride; + var resultV = (float3*)((byte*)result + startIndex * outputByteStride); + var off = input + startIndex * inputByteStride; for (var x = 0; x < count; x++) { @@ -2257,10 +2141,10 @@ public void Execute(int i, int count) } } #else - public void Execute(int i) + public void Execute(int index) { - var resultV = (float3*)(((byte*)result) + (i * outputByteStride)); - var off = input + (i * inputByteStride); + var resultV = (float3*)(((byte*)result) + (index * outputByteStride)); + var off = input + (index * inputByteStride); *resultV = new float3( -(off[0] / 255f), off[1] / 255f, @@ -2288,10 +2172,10 @@ unsafe struct ConvertBoneJointsUInt8ToUInt32Job : IJobParallelFor [ReadOnly] public int outputByteStride; - public void Execute(int i) + public void Execute(int index) { - var resultV = (uint4*)(((byte*)result) + (i * outputByteStride)); - var off = input + (i * inputByteStride); + var resultV = (uint4*)(((byte*)result) + (index * outputByteStride)); + var off = input + (index * inputByteStride); *resultV = new uint4(off[0], off[1], off[2], off[3]); } } @@ -2314,10 +2198,10 @@ unsafe struct ConvertBoneJointsUInt16ToUInt32Job : IJobParallelFor [ReadOnly] public int outputByteStride; - public void Execute(int i) + public void Execute(int index) { - var resultV = (uint4*)(((byte*)result) + (i * outputByteStride)); - var off = (ushort*)(input + (i * inputByteStride)); + var resultV = (uint4*)(((byte*)result) + (index * outputByteStride)); + var off = (ushort*)(input + (index * inputByteStride)); *resultV = new uint4(off[0], off[1], off[2], off[3]); } } @@ -2441,24 +2325,24 @@ unsafe struct ConvertMatricesJob : IJobParallelFor [NativeDisableUnsafePtrRestriction] public float4x4* result; - public void Execute(int i) + public void Execute(int index) { - var tmp = input[i].c0; + var tmp = input[index].c0; tmp.y *= -1; tmp.z *= -1; - result[i].c0 = tmp; + result[index].c0 = tmp; - tmp = input[i].c1; + tmp = input[index].c1; tmp.x *= -1; - result[i].c1 = tmp; + result[index].c1 = tmp; - tmp = input[i].c2; + tmp = input[index].c2; tmp.x *= -1; - result[i].c2 = tmp; + result[index].c2 = tmp; - tmp = input[i].c3; + tmp = input[index].c3; tmp.x *= -1; - result[i].c3 = tmp; + result[index].c3 = tmp; } } @@ -2473,9 +2357,9 @@ unsafe struct ConvertScalarInt8ToFloatNormalizedJob : IJobParallelFor [WriteOnly] public NativeArray result; - public void Execute(int i) + public void Execute(int index) { - result[i] = max(input[i] / 127f, -1.0f); + result[index] = max(input[index] / 127f, -1.0f); } } @@ -2490,9 +2374,9 @@ unsafe struct ConvertScalarUInt8ToFloatNormalizedJob : IJobParallelFor [WriteOnly] public NativeArray result; - public void Execute(int i) + public void Execute(int index) { - result[i] = input[i] / 255f; + result[index] = input[index] / 255f; } } @@ -2507,9 +2391,9 @@ unsafe struct ConvertScalarInt16ToFloatNormalizedJob : IJobParallelFor [WriteOnly] public NativeArray result; - public void Execute(int i) + public void Execute(int index) { - result[i] = max(input[i] / (float)short.MaxValue, -1.0f); + result[index] = max(input[index] / (float)short.MaxValue, -1.0f); } } @@ -2524,9 +2408,9 @@ unsafe struct ConvertScalarUInt16ToFloatNormalizedJob : IJobParallelFor [WriteOnly] public NativeArray result; - public void Execute(int i) + public void Execute(int index) { - result[i] = input[i] / (float)ushort.MaxValue; + result[index] = input[index] / (float)ushort.MaxValue; } } } diff --git a/Runtime/Scripts/VertexBufferColors.cs b/Runtime/Scripts/VertexBufferColors.cs index 7ecabb04f..9ec4877e3 100644 --- a/Runtime/Scripts/VertexBufferColors.cs +++ b/Runtime/Scripts/VertexBufferColors.cs @@ -2,6 +2,9 @@ // SPDX-License-Identifier: Apache-2.0 using System; +#if ENABLE_UNITY_COLLECTIONS_CHECKS +using System.Collections.Generic; +#endif using Unity.Collections; using Unity.Collections.LowLevel.Unsafe; using Unity.Jobs; @@ -20,6 +23,9 @@ sealed class VertexBufferColors : IDisposable readonly ICodeLogger m_Logger; NativeArray m_Data; +#if ENABLE_UNITY_COLLECTIONS_CHECKS + List m_SafetyHandles; +#endif public VertexBufferColors(int vertexCount, ICodeLogger logger) { @@ -43,12 +49,26 @@ IGltfBuffers buffers m_Logger?.Error(LogCode.SparseAccessor, "color"); } + var colorDestination = m_Data.GetSubArray(offset, colorAcc.count); + +#if ENABLE_UNITY_COLLECTIONS_CHECKS + if (offset > 0) + { + // On multi-primitive meshes color jobs may only write into the same destination if we set dedicated + // safety handles for each sub-array following the first one (offset==0). + var safetyHandle = AtomicSafetyHandle.Create(); + NativeArrayUnsafeUtility.SetAtomicSafetyHandle(ref colorDestination, safetyHandle); + m_SafetyHandles ??= new List(); + m_SafetyHandles.Add(safetyHandle); + } +#endif + var h = GetColors32Job( data, colorAcc.componentType, colorAcc.GetAttributeType(), byteStride, - m_Data.Slice(offset, colorAcc.count) + colorDestination ); if (h.HasValue) { @@ -81,6 +101,16 @@ public void ApplyOnMesh( public void Dispose() { +#if ENABLE_UNITY_COLLECTIONS_CHECKS + if (m_SafetyHandles != null) + { + foreach (var handle in m_SafetyHandles) + { + AtomicSafetyHandle.Release(handle); + } + m_SafetyHandles = null; + } +#endif if (m_Data.IsCreated) { m_Data.Dispose(); @@ -92,7 +122,7 @@ public void Dispose() GltfComponentType inputType, GltfAccessorAttributeType attributeType, int inputByteStride, - NativeSlice output + NativeArray output ) { Profiler.BeginSample("PrepareColors32"); @@ -119,7 +149,7 @@ NativeSlice output { input = (byte*)input, inputByteStride = inputByteStride > 0 ? inputByteStride : 12, - result = (float4*)output.GetUnsafePtr() + result = output }; jobHandle = job.Schedule(output.Length, GltfImport.DefaultBatchCount); } @@ -173,7 +203,7 @@ NativeSlice output { input = (byte*)input, inputByteStride = inputByteStride, - result = (float4*)output.GetUnsafePtr() + result = output }; #if UNITY_COLLECTIONS jobHandle = job.ScheduleBatch(output.Length,GltfImport.DefaultBatchCount); @@ -189,7 +219,7 @@ NativeSlice output { input = (ushort*)input, inputByteStride = inputByteStride > 0 ? inputByteStride : 8, - result = (float4*)output.GetUnsafePtr() + result = output }; #if UNITY_COLLECTIONS jobHandle = job.ScheduleBatch(output.Length,GltfImport.DefaultBatchCount); diff --git a/Runtime/Scripts/glTFast.asmdef b/Runtime/Scripts/glTFast.asmdef index d6d77ddb4..fd7e363b5 100644 --- a/Runtime/Scripts/glTFast.asmdef +++ b/Runtime/Scripts/glTFast.asmdef @@ -10,7 +10,8 @@ "Ktx", "Unity.Meshopt.Decompress", "Unity.RenderPipelines.Universal.Runtime", - "Unity.RenderPipelines.HighDefinition.Runtime" + "Unity.RenderPipelines.HighDefinition.Runtime", + "glTFast.Animation" ], "includePlatforms": [], "excludePlatforms": [], diff --git a/package.json b/package.json index f20698262..c8dda8b19 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "com.atteneder.gltfast", - "version": "6.11.0", + "version": "6.12.0", "displayName": "glTFast", "description": "Use glTFast to import and export glTF 3D files efficiently at runtime or in the Editor", "unity": "2020.3", From 81bfc82100275f8cb078388ff810971a13f6b272 Mon Sep 17 00:00:00 2001 From: Andreas Atteneder Date: Thu, 22 May 2025 14:24:06 +0200 Subject: [PATCH 11/27] com.atteneder.gltfast Release 6.12.1 --- CHANGELOG.md | 5 +++++ Runtime/Scripts/Animation/AnimationPlayableComponent.cs | 2 +- Runtime/Scripts/Export/Constants.cs | 2 +- package.json | 2 +- 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 64e37fe15..b24449a58 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [6.12.1] - 2025-04-08 + +### Fixed +- Incorrect using for Assert from NUnit.Framework to UnityEngine.Assertions + ## [6.12.0] - 2025-03-31 ### Added diff --git a/Runtime/Scripts/Animation/AnimationPlayableComponent.cs b/Runtime/Scripts/Animation/AnimationPlayableComponent.cs index 4d7de854b..aa35957e1 100644 --- a/Runtime/Scripts/Animation/AnimationPlayableComponent.cs +++ b/Runtime/Scripts/Animation/AnimationPlayableComponent.cs @@ -2,9 +2,9 @@ // SPDX-License-Identifier: Apache-2.0 using System; -using NUnit.Framework; using UnityEngine; using UnityEngine.Animations; +using UnityEngine.Assertions; using UnityEngine.Playables; namespace GLTFast diff --git a/Runtime/Scripts/Export/Constants.cs b/Runtime/Scripts/Export/Constants.cs index e6b4645ba..feee843c5 100644 --- a/Runtime/Scripts/Export/Constants.cs +++ b/Runtime/Scripts/Export/Constants.cs @@ -7,7 +7,7 @@ namespace GLTFast.Export { static class Constants { - public const string version = "6.12.0"; + public const string version = "6.12.1"; internal const string mimeTypePNG = "image/png"; internal const string mimeTypeJPG = "image/jpeg"; diff --git a/package.json b/package.json index c8dda8b19..4d3c2f73f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "com.atteneder.gltfast", - "version": "6.12.0", + "version": "6.12.1", "displayName": "glTFast", "description": "Use glTFast to import and export glTF 3D files efficiently at runtime or in the Editor", "unity": "2020.3", From b5db919fe5d84158e742524f1f7f2e32020b0141 Mon Sep 17 00:00:00 2001 From: Andreas Atteneder Date: Sat, 28 Jun 2025 01:52:21 +0200 Subject: [PATCH 12/27] com.atteneder.gltfast Release 6.13.0 --- CHANGELOG.md | 10 + DocExamples/CustomGameObjectInstantiator.cs | 26 + .../CustomGameObjectInstantiator.cs.meta | 11 + DocExamples/CustomGltfImportPlayables.cs | 34 + DocExamples/CustomGltfImportPlayables.cs.meta | 11 + DocExamples/PlayAnimationUtilitiesSample.cs | 30 + .../PlayAnimationUtilitiesSample.cs.meta | 11 + .../glTFast.Documentation.Examples.asmdef | 5 + Documentation~/ProjectSetup.md | 2 +- Documentation~/TableOfContents.md | 1 + Documentation~/UpgradeGuides.md | 2 +- .../UseCaseCustomPlayablesAnimation.md | 73 ++ Documentation~/features.md | 2 +- Runtime/Scripts/Export/Constants.cs | 2 +- Runtime/Scripts/GltfImport.cs | 2 +- .../Material/ShaderGraphMaterialGenerator.cs | 2 +- Runtime/Scripts/Schema/Node.cs | 15 +- .../glTFIncludes/glTFUnityStandardInput.cginc | 15 +- Runtime/Shader/Includes/Normal.cginc | 20 + Runtime/Shader/Includes/Normal.cginc.meta | 9 + .../Shader/SubGraphs/Normal.shadersubgraph | 627 ++++++++++++++++-- package.json | 6 +- 22 files changed, 829 insertions(+), 87 deletions(-) create mode 100644 DocExamples/CustomGameObjectInstantiator.cs create mode 100644 DocExamples/CustomGameObjectInstantiator.cs.meta create mode 100644 DocExamples/CustomGltfImportPlayables.cs create mode 100644 DocExamples/CustomGltfImportPlayables.cs.meta create mode 100644 DocExamples/PlayAnimationUtilitiesSample.cs create mode 100644 DocExamples/PlayAnimationUtilitiesSample.cs.meta create mode 100644 Documentation~/UseCaseCustomPlayablesAnimation.md create mode 100644 Runtime/Shader/Includes/Normal.cginc create mode 100644 Runtime/Shader/Includes/Normal.cginc.meta diff --git a/CHANGELOG.md b/CHANGELOG.md index b24449a58..eed32a317 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,16 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [6.13.0] - 2025-06-10 + +### Added +- (Documentation) Use case for custom [Playables](https://docs.unity3d.com/Manual/Playables.html) animation implementation. + +### Fixed +- Use XYZ-style normals in shaders even if DXT5nm-style is enabled. +- (Import) When a node has morph target weights, they are applied properly (instead of the primitive's weights; fixes [#531](https://github.com/atteneder/glTFast/issues/531)). +- (Import) Specular-Glossiness materials with alpha mode `MASK` are not blended anymore in URP/HDRP (fixes [#757](https://github.com/atteneder/glTFast/issues/757)). + ## [6.12.1] - 2025-04-08 ### Fixed diff --git a/DocExamples/CustomGameObjectInstantiator.cs b/DocExamples/CustomGameObjectInstantiator.cs new file mode 100644 index 000000000..74da8bf99 --- /dev/null +++ b/DocExamples/CustomGameObjectInstantiator.cs @@ -0,0 +1,26 @@ +// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +#if UNITY_ANIMATION +namespace GLTFast.Documentation.Examples +{ +#region CustomGameObjectInstantiator + using UnityEngine; + + public class CustomGameObjectInstantiator : GameObjectInstantiator + { + public CustomGameObjectInstantiator(IGltfReadable gltf, Transform parent) : base(gltf, parent) { } + + public override void AddAnimation(AnimationClip[] animationClips) + { + // add an Animator component to the root object of the imported scene + SceneTransform.gameObject.AddComponent(); + + // add a custom component containing your Playables API implementation + var playAnimation = SceneTransform.gameObject.AddComponent(); + playAnimation.clip = animationClips[0]; + } + } +#endregion +} +#endif diff --git a/DocExamples/CustomGameObjectInstantiator.cs.meta b/DocExamples/CustomGameObjectInstantiator.cs.meta new file mode 100644 index 000000000..762e7172c --- /dev/null +++ b/DocExamples/CustomGameObjectInstantiator.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8b6f3dca4b87b894f8e2c43bb0ab1b74 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/DocExamples/CustomGltfImportPlayables.cs b/DocExamples/CustomGltfImportPlayables.cs new file mode 100644 index 000000000..df6f31fdc --- /dev/null +++ b/DocExamples/CustomGltfImportPlayables.cs @@ -0,0 +1,34 @@ +// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +#if UNITY_ANIMATION +namespace GLTFast.Documentation.Examples +{ +#region CustomGltfImportPlayables + using System; + using UnityEngine; + + public class CustomGltfImportPlayables : MonoBehaviour + { + public string Uri; + + async void Start() + { + try + { + var gltfImport = new GltfImport(); + var instantiator = new CustomGameObjectInstantiator(gltfImport, transform); + var importSettings = new ImportSettings { AnimationMethod = AnimationMethod.Playables }; + + await gltfImport.Load(Uri, importSettings); + await gltfImport.InstantiateMainSceneAsync(instantiator); + } + catch (Exception e) + { + Debug.LogException(e); + } + } + } +#endregion +} +#endif diff --git a/DocExamples/CustomGltfImportPlayables.cs.meta b/DocExamples/CustomGltfImportPlayables.cs.meta new file mode 100644 index 000000000..0916ad7be --- /dev/null +++ b/DocExamples/CustomGltfImportPlayables.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a003718dbc55465498e18c6680de84dc +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/DocExamples/PlayAnimationUtilitiesSample.cs b/DocExamples/PlayAnimationUtilitiesSample.cs new file mode 100644 index 000000000..798f8ad67 --- /dev/null +++ b/DocExamples/PlayAnimationUtilitiesSample.cs @@ -0,0 +1,30 @@ +// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +#if UNITY_ANIMATION +namespace GLTFast.Documentation.Examples +{ +#region PlayAnimationUtilitiesSample + using UnityEngine; + using UnityEngine.Playables; + + [RequireComponent(typeof(Animator))] + public class PlayAnimationUtilitiesSample : MonoBehaviour + { + public AnimationClip clip; + PlayableGraph playableGraph; + + void Start() + { + AnimationPlayableUtilities.PlayClip(GetComponent(), clip, out playableGraph); + } + + void OnDisable() + { + // Destroys all Playables and Outputs created by the graph. + playableGraph.Destroy(); + } + } +#endregion +} +#endif diff --git a/DocExamples/PlayAnimationUtilitiesSample.cs.meta b/DocExamples/PlayAnimationUtilitiesSample.cs.meta new file mode 100644 index 000000000..683e2dc25 --- /dev/null +++ b/DocExamples/PlayAnimationUtilitiesSample.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b00e2fcde39388d4992c2a937d4621c7 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/DocExamples/glTFast.Documentation.Examples.asmdef b/DocExamples/glTFast.Documentation.Examples.asmdef index 33815d462..53d39ee58 100644 --- a/DocExamples/glTFast.Documentation.Examples.asmdef +++ b/DocExamples/glTFast.Documentation.Examples.asmdef @@ -19,6 +19,11 @@ "name": "com.unity.nuget.newtonsoft-json", "expression": "3", "define": "NEWTONSOFT_JSON" + }, + { + "name": "com.unity.modules.animation", + "expression": "1.0.0", + "define": "UNITY_ANIMATION" } ], "noEngineReferences": false diff --git a/Documentation~/ProjectSetup.md b/Documentation~/ProjectSetup.md index 96c5ed450..fe70e0fd4 100644 --- a/Documentation~/ProjectSetup.md +++ b/Documentation~/ProjectSetup.md @@ -52,7 +52,7 @@ For example, if you don't need PNG/Jpeg support (because you use only KTX™ > [!CAUTION] > Don't apply this if your project or one of its packages (e.g. [Polyspatial 1.3]) has a dependency on [Collections] 1.4 or older. Unfortunately [Collections] version 1.5.0 introduced breaking changes that might lead to compiler errors otherwise. -Projects running Editor versions 2020 or 2021 can increase the performance of certain low-level C# jobs by upgrading the [Collections] package to version 1.5.1 (or newer). *glTFast* then utilizes [IJobParallelForBatch] for increased loading speed. +Projects running Editor version 2021 can increase the performance of certain low-level C# jobs by upgrading the [Collections] package to version 1.5.1 (or newer). *glTFast* then utilizes [IJobParallelForBatch] for increased loading speed. > [!NOTE] > Performance measurements showed that in Unity 2022 and later the Burst compiler has gotten so advanced that performance is excellent out-of-the-box and adjusting the [Collections] package versions makes little to no difference. diff --git a/Documentation~/TableOfContents.md b/Documentation~/TableOfContents.md index a9f6d9fcc..5f752a7a8 100644 --- a/Documentation~/TableOfContents.md +++ b/Documentation~/TableOfContents.md @@ -11,6 +11,7 @@ * [Project Setup](ProjectSetup.md) * Use Cases * [Use glTFast Add-on API to import custom data](UseCaseCustomExtras.md) + * [Use Playables API for custom animation behaviour](UseCaseCustomPlayablesAnimation.md) * [Development](development.md) * [Sources](sources.md) * [Test Project](test-project-setup.md) diff --git a/Documentation~/UpgradeGuides.md b/Documentation~/UpgradeGuides.md index eb19c8d0d..2cf38eb43 100644 --- a/Documentation~/UpgradeGuides.md +++ b/Documentation~/UpgradeGuides.md @@ -20,7 +20,7 @@ You can do this by manually editing the URL in the [project manifest][ProjectMan ## Upgrade to 6.0 -Use Unity 2020.3.48f1 or newer only. +Use Unity 2021.3.46f1 or newer only. *GltfAnimation* was renamed to [Animation](xref:GLTFast.Schema.Animation). diff --git a/Documentation~/UseCaseCustomPlayablesAnimation.md b/Documentation~/UseCaseCustomPlayablesAnimation.md new file mode 100644 index 000000000..ecbc6eb15 --- /dev/null +++ b/Documentation~/UseCaseCustomPlayablesAnimation.md @@ -0,0 +1,73 @@ +# Use case: Use Playables API for animation + +This use case describes the steps to use the Playables API to customize animation behaviour at runtime. + +To accomplish this use case, do the following: + +1. Create scripts for CustomGltfImport, CustomGameObjectInstantiator and PlayAnimationUtilitiesSample +2. Set up a new scene +3. Import the glTF asset in runtime + +## Before you start + +Before you start, you must add the following package dependencies to your project. + +* In the `manifest.json` file, add the following dependencies: + +```json + { + "dependencies": { + // Add these lines: + // Replace "" with the version you wish to install + "com.unity.cloud.gltfast": "", + "com.unity.modules.animation": "" + // Other dependencies... + } + } +``` + +## How do I...? + +### Create custom scripts + +To create the custom scripts, follow these steps: + +1. Open your Unity® Project. +2. Go to the **Assets** folder in the Project window. +3. Select and hold **Create**. +4. Select **C# Script**. +5. Rename the new script as `PlayAnimationUtilitiesSample`. +6. Open the `PlayAnimationUtilitiesSample` script and replace the content with the following: + [!code-cs [play-animation-utilities-sample](../DocExamples/PlayAnimationUtilitiesSample.cs#PlayAnimationUtilitiesSample)] +7. Repeat step 2-4 to create another new script. +8. Rename the new script as `CustomGameObjectInstantiator`. +9. Open the `CustomGameObjectInstantiator` script and replace the content with the following: + [!code-cs [custom-game-object-instantiator](../DocExamples/CustomGameObjectInstantiator.cs#CustomGameObjectInstantiator)] +10. Repeat step 2-4 to create another new script. +11. Rename the new script as `CustomGltfImportPlayables`. +12. Open the `CustomGltfImportPlayables` script and replace the content with the following: + [!code-cs [custom-gltf-import-playables](../DocExamples/CustomGltfImportPlayables.cs#CustomGltfImportPlayables)] + +### Set up a new scene + +To set up a new scene, follow these steps: + +1. Create a new scene. +2. Create a GameObject called **GltfImport**. +3. Select **Add Component** in the Inspector window and add the **Custom Gltf Import Playables** component. +4. In the **Uri** field, set the path to point to where the glTF asset is stored. + +### Import the glTF asset in runtime + +Select **Play**, the glTF asset should be loaded and displayed along with its animation at runtime. + +You can then replace the contents of `PlayAnimationUtilitiesSample` with your own custom behaviour using the [Playables API](https://docs.unity3d.com/Manual/Playables.html). + +## Trademarks + +*Unity®* is a registered trademark of [Unity Technologies][Unity]. + +*glTF™* is a trademark of [The Khronos Group Inc][Khronos]. + +[Khronos]: https://www.khronos.org +[Unity]: https://unity.com diff --git a/Documentation~/features.md b/Documentation~/features.md index 066427dfb..4e88b2659 100644 --- a/Documentation~/features.md +++ b/Documentation~/features.md @@ -308,7 +308,7 @@ Possibly incomplete list of things that are known to not work with Entities yet: ## Unity Version Support -*Unity glTFast* requires Unity 2020.3.48f1 or newer. +*Unity glTFast* requires Unity 2021.3.46f1 or newer. ## Legend diff --git a/Runtime/Scripts/Export/Constants.cs b/Runtime/Scripts/Export/Constants.cs index feee843c5..4edc9dbd4 100644 --- a/Runtime/Scripts/Export/Constants.cs +++ b/Runtime/Scripts/Export/Constants.cs @@ -7,7 +7,7 @@ namespace GLTFast.Export { static class Constants { - public const string version = "6.12.1"; + public const string version = "6.13.0"; internal const string mimeTypePNG = "image/png"; internal const string mimeTypeJPG = "image/jpeg"; diff --git a/Runtime/Scripts/GltfImport.cs b/Runtime/Scripts/GltfImport.cs index 9ab3962e0..31a410f1d 100755 --- a/Runtime/Scripts/GltfImport.cs +++ b/Runtime/Scripts/GltfImport.cs @@ -2820,7 +2820,7 @@ void PopulateHierarchy(uint nodeIndex, uint? parentIndex) meshResult, joints, rootJoint, - Root.Meshes[node.mesh].weights, + node.weights ?? Root.Meshes[node.mesh].weights, meshNumeration ); } diff --git a/Runtime/Scripts/Material/ShaderGraphMaterialGenerator.cs b/Runtime/Scripts/Material/ShaderGraphMaterialGenerator.cs index 7fa788939..95681506c 100644 --- a/Runtime/Scripts/Material/ShaderGraphMaterialGenerator.cs +++ b/Runtime/Scripts/Material/ShaderGraphMaterialGenerator.cs @@ -679,7 +679,7 @@ static SpecularShaderFeatures GetSpecularShaderFeatures(MaterialBase gltfMateria var feature = SpecularShaderFeatures.Default; if (gltfMaterial.doubleSided) feature |= SpecularShaderFeatures.DoubleSided; - if (gltfMaterial.GetAlphaMode() != AlphaMode.Opaque) { + if (gltfMaterial.GetAlphaMode() == AlphaMode.Blend) { feature |= SpecularShaderFeatures.AlphaBlend; } return feature; diff --git a/Runtime/Scripts/Schema/Node.cs b/Runtime/Scripts/Schema/Node.cs index bbf4ac577..e1089053b 100644 --- a/Runtime/Scripts/Schema/Node.cs +++ b/Runtime/Scripts/Schema/Node.cs @@ -65,11 +65,11 @@ public abstract class NodeBase : NamedObject /// public float[] translation; - // /// - // /// The weights of the instantiated Morph Target. - // /// Number of elements must match number of Morph Targets of used mesh. - // /// - // public double[] weights; + /// + /// The weights of the instantiated Morph Target. + /// Number of elements must match number of Morph Targets of used mesh. + /// + public float[] weights; /// /// The index of the skin (in referenced by this node. @@ -124,6 +124,11 @@ internal void GltfSerialize(JsonWriter writer) writer.AddArrayProperty("matrix", matrix); } + if (weights != null) + { + writer.AddArrayProperty("weights", weights); + } + if (skin >= 0) { writer.AddProperty("skin", skin); diff --git a/Runtime/Shader/Built-In/glTFIncludes/glTFUnityStandardInput.cginc b/Runtime/Shader/Built-In/glTFIncludes/glTFUnityStandardInput.cginc index d4a1045e4..05e45baa4 100644 --- a/Runtime/Shader/Built-In/glTFIncludes/glTFUnityStandardInput.cginc +++ b/Runtime/Shader/Built-In/glTFIncludes/glTFUnityStandardInput.cginc @@ -231,8 +231,19 @@ half3 Emission(float2 uv) #ifdef _NORMALMAP half3 NormalInTangentSpace(float2 texcoords) { - half3 normalTangent = UnpackScaleNormal(tex2D (normalTexture, texcoords), normalTexture_scale); - return normalTangent; + // This is a replacement for UnityStandardUtils UnpackScaleNormal to use XYZ normals even with DXT5nm enabled + half4 packedNormal = tex2D(normalTexture, texcoords); + packedNormal.x *= packedNormal.w; + + half3 normal; + normal.xy = packedNormal.xy * 2 - 1; +#if (SHADER_TARGET >= 30) + // SM2.0: instruction count limitation + // SM2.0: normal scaler is not supported + normal.xy *= normalTexture_scale; +#endif + normal.z = sqrt(1.0 - saturate(dot(normal.xy, normal.xy))); + return normal; } #endif diff --git a/Runtime/Shader/Includes/Normal.cginc b/Runtime/Shader/Includes/Normal.cginc new file mode 100644 index 000000000..47f7d3bcf --- /dev/null +++ b/Runtime/Shader/Includes/Normal.cginc @@ -0,0 +1,20 @@ +//UNITY_SHADER_NO_UPGRADE +#ifndef GLTF_HLSL_INCLUDE_NORMAL +#define GLTF_HLSL_INCLUDE_NORMAL + +/// This is a replacement for UnityStandardUtils UnpackScaleNormal to use XYZ normals even with DXT5nm enabled +void NormalInTangentSpace_float(UnityTexture2D normal_texture, float2 uv, float normal_scale, out float3 normal) +{ + float4 packed_normal = tex2D(normal_texture, uv); + packed_normal.x *= packed_normal.w; + + normal.xy = packed_normal.xy * 2 - 1; +#if (SHADER_TARGET >= 30) + // SM2.0: instruction count limitation + // SM2.0: normal scaler is not supported + normal.xy *= normal_scale; +#endif + normal.z = sqrt(1.0 - saturate(dot(normal.xy, normal.xy))); +} + +#endif diff --git a/Runtime/Shader/Includes/Normal.cginc.meta b/Runtime/Shader/Includes/Normal.cginc.meta new file mode 100644 index 000000000..464c20661 --- /dev/null +++ b/Runtime/Shader/Includes/Normal.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 30d0f0e3f526585408342f8854723a88 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Shader/SubGraphs/Normal.shadersubgraph b/Runtime/Shader/SubGraphs/Normal.shadersubgraph index 6f067f6d1..2293ea6e7 100644 --- a/Runtime/Shader/SubGraphs/Normal.shadersubgraph +++ b/Runtime/Shader/SubGraphs/Normal.shadersubgraph @@ -1,113 +1,598 @@ { - "m_SerializedProperties": [ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.GraphData", + "m_ObjectId": "a159428e3fc54ff5af3156c3e1b3c5d6", + "m_Properties": [ { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"ce3ef69d-a0a0-44bb-9390-4e669bbe6176\"\n },\n \"m_Name\": \"normalTexture\",\n \"m_DefaultReferenceName\": \"Texture2D_56E509E5\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" + "m_Id": "7c6f440c17ec218ea6f919de3d5da19b" }, { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"2c3dc14a-f0d3-4122-8339-4bfaa2248637\"\n },\n \"m_Name\": \"normalScale\",\n \"m_DefaultReferenceName\": \"Vector1_8CFE54ED\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 1.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" + "m_Id": "3679d601969ecf859fbb5c117b7a3819" }, { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"10c62b64-e10d-4a43-8035-41ea282aa3b7\"\n },\n \"m_Name\": \"UV\",\n \"m_DefaultReferenceName\": \"Vector2_465B70E0\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" + "m_Id": "94f81e536675538baaab95cc72b69fc0" } ], - "m_SerializedKeywords": [], - "m_SerializableNodes": [ + "m_Keywords": [], + "m_Dropdowns": [], + "m_CategoryData": [ { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphOutputNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"088b8531-1030-455d-b32a-007d1a7709f1\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Out_Vector3\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 388.9999694824219,\n \"y\": -0.000009775161743164063,\n \"width\": 135.0,\n \"height\": 77.00000762939453\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"normal\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"normal\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n }\n}" - }, + "m_Id": "918f573a5b7947ae96cd81f1daf5c783" + } + ], + "m_Nodes": [ { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SampleTexture2DNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"11a0e8aa-b6b3-47cd-8984-7c48f6ca2cfd\",\n \"m_GroupGuidSerialized\": \"9eed60ea-8e16-4869-b438-196f35244ed0\",\n \"m_Name\": \"Sample Texture 2D\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -278.0001220703125,\n \"y\": -65.25003051757813,\n \"width\": 178.99998474121095,\n \"height\": 152.99998474121095\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"RGBA\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"RGBA\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"R\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"R\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 5,\\n \\\"m_DisplayName\\\": \\\"G\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"G\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"B\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"B\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"A\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"A\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Texture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 3\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.UVMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"UV\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"UV\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ],\\n \\\"m_Channel\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.SamplerStateMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"Sampler\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Sampler\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_TextureType\": 1,\n \"m_NormalMapSpace\": 0\n}" + "m_Id": "724e4ed8418123869ec0c65e3bc78ca5" }, { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.NormalStrengthNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"bc6f2ce0-0f91-45c3-9756-44f25986840d\",\n \"m_GroupGuidSerialized\": \"9eed60ea-8e16-4869-b438-196f35244ed0\",\n \"m_Name\": \"Normal Strength\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 105.0001220703125,\n \"y\": -70.24998474121094,\n \"width\": 166.99998474121095,\n \"height\": 118.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"In\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"In\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 1.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Strength\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Strength\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 1.0,\\n \\\"m_DefaultValue\\\": 1.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n }\n}" + "m_Id": "99936726453a9d83af52710fa8eaff75" }, { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"ef15af75-e376-49c9-88d0-13f8ba4b73c4\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -488.5001220703125,\n \"y\": -61.0,\n \"width\": 0.0,\n \"height\": 0.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"normalTexture\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"ce3ef69d-a0a0-44bb-9390-4e669bbe6176\"\n}" + "m_Id": "378f69bae2fc908893c1ebb5e8bb934f" }, { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"d93ec9d8-4915-4540-ade1-66fb05068c16\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -488.5001220703125,\n \"y\": -21.0,\n \"width\": 0.0,\n \"height\": 0.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"10c62b64-e10d-4a43-8035-41ea282aa3b7\"\n}" + "m_Id": "742b9cba34c14f839bfff52c4d32f612" }, { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"8b1371fc-1ddb-4e8b-906c-ba7a6415ae50\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -488.5001220703125,\n \"y\": 19.0,\n \"width\": 0.0,\n \"height\": 0.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"normalScale\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"2c3dc14a-f0d3-4122-8339-4bfaa2248637\"\n}" + "m_Id": "78b78d3380e64bbfb13e1fc5482ae5db" } ], - "m_Groups": [ + "m_GroupDatas": [ { - "m_GuidSerialized": "9eed60ea-8e16-4869-b438-196f35244ed0", - "m_Title": "Normal", - "m_Position": { - "x": -65.0, - "y": 119.00004577636719 - } + "m_Id": "896afbc0d6b949ba95ce219f5bbc36ba" } ], - "m_StickyNotes": [], - "m_SerializableEdges": [ + "m_StickyNoteDatas": [], + "m_Edges": [ { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" + "m_OutputSlot": { + "m_Node": { + "m_Id": "378f69bae2fc908893c1ebb5e8bb934f" + }, + "m_SlotId": 0 }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"11a0e8aa-b6b3-47cd-8984-7c48f6ca2cfd\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"bc6f2ce0-0f91-45c3-9756-44f25986840d\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"ef15af75-e376-49c9-88d0-13f8ba4b73c4\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"11a0e8aa-b6b3-47cd-8984-7c48f6ca2cfd\"\n }\n}" + "m_InputSlot": { + "m_Node": { + "m_Id": "78b78d3380e64bbfb13e1fc5482ae5db" + }, + "m_SlotId": 4 + } }, { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" + "m_OutputSlot": { + "m_Node": { + "m_Id": "742b9cba34c14f839bfff52c4d32f612" + }, + "m_SlotId": 0 }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"d93ec9d8-4915-4540-ade1-66fb05068c16\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"11a0e8aa-b6b3-47cd-8984-7c48f6ca2cfd\"\n }\n}" + "m_InputSlot": { + "m_Node": { + "m_Id": "78b78d3380e64bbfb13e1fc5482ae5db" + }, + "m_SlotId": 2 + } }, { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" + "m_OutputSlot": { + "m_Node": { + "m_Id": "78b78d3380e64bbfb13e1fc5482ae5db" + }, + "m_SlotId": 3 }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"8b1371fc-1ddb-4e8b-906c-ba7a6415ae50\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"bc6f2ce0-0f91-45c3-9756-44f25986840d\"\n }\n}" + "m_InputSlot": { + "m_Node": { + "m_Id": "724e4ed8418123869ec0c65e3bc78ca5" + }, + "m_SlotId": 1 + } }, { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" + "m_OutputSlot": { + "m_Node": { + "m_Id": "99936726453a9d83af52710fa8eaff75" + }, + "m_SlotId": 0 }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"bc6f2ce0-0f91-45c3-9756-44f25986840d\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"088b8531-1030-455d-b32a-007d1a7709f1\"\n }\n}" + "m_InputSlot": { + "m_Node": { + "m_Id": "78b78d3380e64bbfb13e1fc5482ae5db" + }, + "m_SlotId": 0 + } } ], + "m_VertexContext": { + "m_Position": { + "x": 388.9999694824219, + "y": -0.000009775161743164063 + }, + "m_Blocks": [] + }, + "m_FragmentContext": { + "m_Position": { + "x": 388.9999694824219, + "y": 199.99998474121095 + }, + "m_Blocks": [] + }, "m_PreviewData": { "serializedMesh": { "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", "m_Guid": "" - } + }, + "preventRotation": false }, "m_Path": "Sub Graphs", - "m_ConcretePrecision": 0, - "m_ActiveOutputNodeGuidSerialized": "" -} \ No newline at end of file + "m_GraphPrecision": 0, + "m_PreviewMode": 2, + "m_OutputNode": { + "m_Id": "724e4ed8418123869ec0c65e3bc78ca5" + }, + "m_SubDatas": [], + "m_ActiveTargets": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", + "m_ObjectId": "2dd79be7e699558c8fd134e97bb163ea", + "m_Id": 0, + "m_DisplayName": "UV", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [ + "X", + "Y" + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "2f9190d597ebbb8585ec84d25d75b75d", + "m_Id": 1, + "m_DisplayName": "normal", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "normal", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [ + "X", + "Y", + "Z" + ] +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "3679d601969ecf859fbb5c117b7a3819", + "m_Guid": { + "m_GuidSerialized": "2c3dc14a-f0d3-4122-8339-4bfaa2248637" + }, + "m_Name": "normalScale", + "m_DefaultRefNameVersion": 0, + "m_RefNameGeneratedByDisplayName": "", + "m_DefaultReferenceName": "Vector1_8CFE54ED", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": 1.0, + "m_FloatType": 0, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "378f69bae2fc908893c1ebb5e8bb934f", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -237.0000457763672, + "y": 3.0000147819519045, + "width": 93.0, + "height": 33.99996566772461 + } + }, + "m_Slots": [ + { + "m_Id": "2dd79be7e699558c8fd134e97bb163ea" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "94f81e536675538baaab95cc72b69fc0" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", + "m_ObjectId": "6f2d19642148808ab6ad6978617d07b8", + "m_Id": 0, + "m_DisplayName": "normalTexture", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_BareResource": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SubGraphOutputNode", + "m_ObjectId": "724e4ed8418123869ec0c65e3bc78ca5", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Out_Vector3", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 299.0, + "y": -60.9999885559082, + "width": 117.0, + "height": 76.99998474121094 + } + }, + "m_Slots": [ + { + "m_Id": "2f9190d597ebbb8585ec84d25d75b75d" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "IsFirstSlotValid": true +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "742b9cba34c14f839bfff52c4d32f612", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -237.0000457763672, + "y": 42.9999885559082, + "width": 139.0000457763672, + "height": 34.00002670288086 + } + }, + "m_Slots": [ + { + "m_Id": "e26e24cfb71a988687625c46674b47f8" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "3679d601969ecf859fbb5c117b7a3819" + } +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.CustomFunctionNode", + "m_ObjectId": "78b78d3380e64bbfb13e1fc5482ae5db", + "m_Group": { + "m_Id": "896afbc0d6b949ba95ce219f5bbc36ba" + }, + "m_Name": "NormalInTangentSpace (Custom Function)", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -27.0, + "y": -61.0, + "width": 287.0, + "height": 142.0 + } + }, + "m_Slots": [ + { + "m_Id": "e09242f306954c2e87a1d1ea1fdae6c2" + }, + { + "m_Id": "967ee419913f4a95a1c5c4dcf5aa4437" + }, + { + "m_Id": "be7829f9a7ce47bfbe579dc864d8f48b" + }, + { + "m_Id": "c35c7faea3ff4e60a387ce086243fd2b" + } + ], + "synonyms": [ + "code", + "HLSL" + ], + "m_Precision": 1, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SourceType": 0, + "m_FunctionName": "NormalInTangentSpace", + "m_FunctionSource": "30d0f0e3f526585408342f8854723a88", + "m_FunctionBody": "#if defined(UNITY_ASTC_NORMALMAP_ENCODING)\r\n return UnpackScaleNormalDXT5nm(tex2D (normalTexture, texcoords), normalTexture_scale);\r\n#else\r\n return UnpackScaleNormal(tex2D (normalTexture, texcoords), normalTexture_scale);\r\n#endif" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", + "m_ObjectId": "7c6f440c17ec218ea6f919de3d5da19b", + "m_Guid": { + "m_GuidSerialized": "ce3ef69d-a0a0-44bb-9390-4e669bbe6176" + }, + "m_Name": "normalTexture", + "m_DefaultRefNameVersion": 0, + "m_RefNameGeneratedByDisplayName": "", + "m_DefaultReferenceName": "Texture2D_56E509E5", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "m_SerializedTexture": "", + "m_Guid": "" + }, + "isMainTexture": false, + "useTilingAndOffset": false, + "m_Modifiable": true, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.GroupData", + "m_ObjectId": "896afbc0d6b949ba95ce219f5bbc36ba", + "m_Title": "Normal", + "m_Position": { + "x": -52.0, + "y": -120.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.CategoryData", + "m_ObjectId": "918f573a5b7947ae96cd81f1daf5c783", + "m_Name": "", + "m_ChildObjectList": [ + { + "m_Id": "7c6f440c17ec218ea6f919de3d5da19b" + }, + { + "m_Id": "3679d601969ecf859fbb5c117b7a3819" + }, + { + "m_Id": "94f81e536675538baaab95cc72b69fc0" + } + ] +} + +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty", + "m_ObjectId": "94f81e536675538baaab95cc72b69fc0", + "m_Guid": { + "m_GuidSerialized": "10c62b64-e10d-4a43-8035-41ea282aa3b7" + }, + "m_Name": "UV", + "m_DefaultRefNameVersion": 0, + "m_RefNameGeneratedByDisplayName": "", + "m_DefaultReferenceName": "Vector2_465B70E0", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", + "m_ObjectId": "967ee419913f4a95a1c5c4dcf5aa4437", + "m_Id": 4, + "m_DisplayName": "uv", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "uv", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "99936726453a9d83af52710fa8eaff75", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -237.0000457763672, + "y": -36.99995803833008, + "width": 159.00003051757813, + "height": 33.99996566772461 + } + }, + "m_Slots": [ + { + "m_Id": "6f2d19642148808ab6ad6978617d07b8" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "7c6f440c17ec218ea6f919de3d5da19b" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "be7829f9a7ce47bfbe579dc864d8f48b", + "m_Id": 2, + "m_DisplayName": "normal_scale", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "normal_scale", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "c35c7faea3ff4e60a387ce086243fd2b", + "m_Id": 3, + "m_DisplayName": "normal", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "normal", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", + "m_ObjectId": "e09242f306954c2e87a1d1ea1fdae6c2", + "m_Id": 0, + "m_DisplayName": "normal_texture", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "normal_texture", + "m_StageCapability": 3, + "m_BareResource": false, + "m_Texture": { + "m_SerializedTexture": "", + "m_Guid": "" + }, + "m_DefaultType": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "e26e24cfb71a988687625c46674b47f8", + "m_Id": 0, + "m_DisplayName": "normalScale", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [ + "X" + ] +} + diff --git a/package.json b/package.json index 4d3c2f73f..01d4042b6 100644 --- a/package.json +++ b/package.json @@ -1,9 +1,9 @@ { "name": "com.atteneder.gltfast", - "version": "6.12.1", + "version": "6.13.0", "displayName": "glTFast", "description": "Use glTFast to import and export glTF 3D files efficiently at runtime or in the Editor", - "unity": "2020.3", + "unity": "2021.3", "keywords": [ "mesh", "gltf", @@ -27,5 +27,5 @@ "com.unity.burst": "1.8.4", "com.unity.collections": "1.2.4" }, - "unityRelease": "48f1" + "unityRelease": "46f1" } From 4a30e1147c9a982127895744eef9b8a9e5b6daf4 Mon Sep 17 00:00:00 2001 From: Andreas Atteneder Date: Tue, 16 Sep 2025 22:32:21 +0200 Subject: [PATCH 13/27] com.atteneder.gltfast Release 6.13.1 --- .github/workflows/renovate-validation.yml | 4 +- .github/workflows/renovate.yml | 4 +- CHANGELOG.md | 20 ++++++ DocExamples/CustomGameObjectInstantiator.cs | 26 -------- .../CustomGameObjectInstantiator.cs.meta | 11 ---- DocExamples/CustomGltfImport.cs | 4 +- DocExamples/CustomGltfImportPlayables.cs | 34 ---------- DocExamples/CustomGltfImportPlayables.cs.meta | 11 ---- DocExamples/MultipleInstances.cs | 7 +- DocExamples/PlayAnimationUtilitiesSample.cs | 30 --------- .../PlayAnimationUtilitiesSample.cs.meta | 11 ---- .../glTFast.Documentation.Examples.asmdef | 5 -- Documentation~/TableOfContents.md | 1 - .../UseCaseCustomPlayablesAnimation.md | 65 ++----------------- Editor/Scripts/GltfImporter.cs | 8 --- Runtime/Scripts/Animation.meta | 8 --- .../Animation/AnimationLoopPlayable.cs | 61 ----------------- .../Animation/AnimationLoopPlayable.cs.meta | 11 ---- .../Animation/AnimationPlayableComponent.cs | 53 --------------- .../AnimationPlayableComponent.cs.meta | 11 ---- Runtime/Scripts/Animation/AssemblyInfo.cs | 7 -- .../Scripts/Animation/AssemblyInfo.cs.meta | 11 ---- .../Animation/glTFast.Animation.asmdef | 22 ------- .../Animation/glTFast.Animation.asmdef.meta | 7 -- Runtime/Scripts/AnimationMethod.cs | 6 +- Runtime/Scripts/Export/Constants.cs | 2 +- Runtime/Scripts/GameObjectInstantiator.cs | 13 ---- Runtime/Scripts/GameObjectSceneInstance.cs | 10 +-- Runtime/Scripts/GltfAsset.cs | 11 +--- Runtime/Scripts/GltfImport.cs | 5 -- .../Material/BuiltInMaterialGenerator.cs | 5 +- .../Material/ShaderGraphMaterialGenerator.cs | 24 ++++--- Runtime/Scripts/glTFast.asmdef | 5 +- package.json | 2 +- 34 files changed, 74 insertions(+), 441 deletions(-) delete mode 100644 DocExamples/CustomGameObjectInstantiator.cs delete mode 100644 DocExamples/CustomGameObjectInstantiator.cs.meta delete mode 100644 DocExamples/CustomGltfImportPlayables.cs delete mode 100644 DocExamples/CustomGltfImportPlayables.cs.meta delete mode 100644 DocExamples/PlayAnimationUtilitiesSample.cs delete mode 100644 DocExamples/PlayAnimationUtilitiesSample.cs.meta delete mode 100644 Runtime/Scripts/Animation.meta delete mode 100644 Runtime/Scripts/Animation/AnimationLoopPlayable.cs delete mode 100644 Runtime/Scripts/Animation/AnimationLoopPlayable.cs.meta delete mode 100644 Runtime/Scripts/Animation/AnimationPlayableComponent.cs delete mode 100644 Runtime/Scripts/Animation/AnimationPlayableComponent.cs.meta delete mode 100644 Runtime/Scripts/Animation/AssemblyInfo.cs delete mode 100644 Runtime/Scripts/Animation/AssemblyInfo.cs.meta delete mode 100644 Runtime/Scripts/Animation/glTFast.Animation.asmdef delete mode 100644 Runtime/Scripts/Animation/glTFast.Animation.asmdef.meta diff --git a/.github/workflows/renovate-validation.yml b/.github/workflows/renovate-validation.yml index 4543a652a..4d695add5 100644 --- a/.github/workflows/renovate-validation.yml +++ b/.github/workflows/renovate-validation.yml @@ -28,11 +28,11 @@ on: jobs: renovate-validation: # The reusable workflow will be updated by renovate if there's a new version - uses: unity/renovate-workflows/.github/workflows/run.yml@v4.0.0 + uses: unity/renovate-workflows/.github/workflows/run.yml@v4.1.0 with: # This is the image that contains our custom renovate and will be auto # updated by Renovate itself. - image: europe-docker.pkg.dev/unity-cds-services-prd/ds-docker/renovate:10.2.4@sha256:3c19b168b1a9a4ca076ad5f858176ef0b2eafc34aafcd6e2276133a563d35112 + image: europe-docker.pkg.dev/unity-cds-services-prd/ds-docker/renovate:10.2.8@sha256:32dc5191f585eb83b36abecee781c5d0023ea6033b3216a1829bd68a1dbd194a dry-run: full log-level: ${{ github.event.inputs.log-level }} secrets: diff --git a/.github/workflows/renovate.yml b/.github/workflows/renovate.yml index fad484561..ecce86ae8 100644 --- a/.github/workflows/renovate.yml +++ b/.github/workflows/renovate.yml @@ -24,11 +24,11 @@ on: jobs: renovate: # The reusable workflow will be updated by renovate if there's a new version - uses: unity/renovate-workflows/.github/workflows/run.yml@v4.0.0 + uses: unity/renovate-workflows/.github/workflows/run.yml@v4.1.0 with: # This is the image that contains our custom renovate and will be auto # updated by Renovate itself. - image: europe-docker.pkg.dev/unity-cds-services-prd/ds-docker/renovate:10.2.4@sha256:3c19b168b1a9a4ca076ad5f858176ef0b2eafc34aafcd6e2276133a563d35112 + image: europe-docker.pkg.dev/unity-cds-services-prd/ds-docker/renovate:10.2.8@sha256:32dc5191f585eb83b36abecee781c5d0023ea6033b3216a1829bd68a1dbd194a log-level: ${{ github.event.inputs.log-level }} secrets: renovate-auth-secret: ${{ secrets.RENOVATE_AUTH_SECRET }} diff --git a/CHANGELOG.md b/CHANGELOG.md index eed32a317..85aedce44 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,26 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [6.13.1] - 2025-07-17 + +### Added +- (Test) Menu items that make switching test setups and render pipelines more accessible. +- (Test) JSON parsing performance tests. +- (Tools) Scripts for resetting test materials and settings. + +### Changed +- Refactored `JsonParsingTests`. +- Ensured loggers are used in all tests and examples. + +### Fixed +- (Import) Prevented `NullReferenceException` on transmissive materials with no transmissive texture. +- (Import) Potential `NullReferenceException` when clearcoat is applied without a texture. +- Incorrect version define for the Unity Collections package. glTFast now properly uses older versions (1.4.0) as well. + +### Removed +- [Playables](https://docs.unity3d.com/Manual/Playables.html) option for runtime animation imports. +- (Documentation) Use case for custom [Playables](https://docs.unity3d.com/Manual/Playables.html) animation implementation. + ## [6.13.0] - 2025-06-10 ### Added diff --git a/DocExamples/CustomGameObjectInstantiator.cs b/DocExamples/CustomGameObjectInstantiator.cs deleted file mode 100644 index 74da8bf99..000000000 --- a/DocExamples/CustomGameObjectInstantiator.cs +++ /dev/null @@ -1,26 +0,0 @@ -// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -#if UNITY_ANIMATION -namespace GLTFast.Documentation.Examples -{ -#region CustomGameObjectInstantiator - using UnityEngine; - - public class CustomGameObjectInstantiator : GameObjectInstantiator - { - public CustomGameObjectInstantiator(IGltfReadable gltf, Transform parent) : base(gltf, parent) { } - - public override void AddAnimation(AnimationClip[] animationClips) - { - // add an Animator component to the root object of the imported scene - SceneTransform.gameObject.AddComponent(); - - // add a custom component containing your Playables API implementation - var playAnimation = SceneTransform.gameObject.AddComponent(); - playAnimation.clip = animationClips[0]; - } - } -#endregion -} -#endif diff --git a/DocExamples/CustomGameObjectInstantiator.cs.meta b/DocExamples/CustomGameObjectInstantiator.cs.meta deleted file mode 100644 index 762e7172c..000000000 --- a/DocExamples/CustomGameObjectInstantiator.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 8b6f3dca4b87b894f8e2c43bb0ab1b74 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/DocExamples/CustomGltfImport.cs b/DocExamples/CustomGltfImport.cs index 24c65bb47..8e212e713 100644 --- a/DocExamples/CustomGltfImport.cs +++ b/DocExamples/CustomGltfImport.cs @@ -1,6 +1,8 @@ // SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 +using GLTFast.Logging; + #if NEWTONSOFT_JSON namespace GLTFast.Documentation.Examples { @@ -21,7 +23,7 @@ async void Start() try { ImportAddonRegistry.RegisterImportAddon(new MyAddon()); - var gltfImport = new GltfImport(); + var gltfImport = new GltfImport(logger:new ConsoleLogger()); await gltfImport.Load(Uri); await gltfImport.InstantiateMainSceneAsync(transform); } diff --git a/DocExamples/CustomGltfImportPlayables.cs b/DocExamples/CustomGltfImportPlayables.cs deleted file mode 100644 index df6f31fdc..000000000 --- a/DocExamples/CustomGltfImportPlayables.cs +++ /dev/null @@ -1,34 +0,0 @@ -// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -#if UNITY_ANIMATION -namespace GLTFast.Documentation.Examples -{ -#region CustomGltfImportPlayables - using System; - using UnityEngine; - - public class CustomGltfImportPlayables : MonoBehaviour - { - public string Uri; - - async void Start() - { - try - { - var gltfImport = new GltfImport(); - var instantiator = new CustomGameObjectInstantiator(gltfImport, transform); - var importSettings = new ImportSettings { AnimationMethod = AnimationMethod.Playables }; - - await gltfImport.Load(Uri, importSettings); - await gltfImport.InstantiateMainSceneAsync(instantiator); - } - catch (Exception e) - { - Debug.LogException(e); - } - } - } -#endregion -} -#endif diff --git a/DocExamples/CustomGltfImportPlayables.cs.meta b/DocExamples/CustomGltfImportPlayables.cs.meta deleted file mode 100644 index 0916ad7be..000000000 --- a/DocExamples/CustomGltfImportPlayables.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: a003718dbc55465498e18c6680de84dc -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/DocExamples/MultipleInstances.cs b/DocExamples/MultipleInstances.cs index e00c65b65..12328d1ab 100644 --- a/DocExamples/MultipleInstances.cs +++ b/DocExamples/MultipleInstances.cs @@ -1,6 +1,8 @@ // SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 +using GLTFast.Logging; + #if NEWTONSOFT_JSON namespace GLTFast.Documentation.Examples { @@ -21,7 +23,8 @@ async void Start() { try { - var gltfImport = new GltfImport(); + var logger = new ConsoleLogger(); + var gltfImport = new GltfImport(logger:logger); await gltfImport.Load(Uri); for (var i = 0; i < quantity; i++) @@ -33,7 +36,7 @@ async void Start() localPosition = new Vector3(0, 0, i * .13f) } }; - var instantiator = new GameObjectInstantiator(gltfImport, go.transform); + var instantiator = new GameObjectInstantiator(gltfImport, go.transform, logger:logger); await gltfImport.InstantiateMainSceneAsync(instantiator); var scene = instantiator.SceneInstance; var materialsVariantsControl = scene.MaterialsVariantsControl; diff --git a/DocExamples/PlayAnimationUtilitiesSample.cs b/DocExamples/PlayAnimationUtilitiesSample.cs deleted file mode 100644 index 798f8ad67..000000000 --- a/DocExamples/PlayAnimationUtilitiesSample.cs +++ /dev/null @@ -1,30 +0,0 @@ -// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -#if UNITY_ANIMATION -namespace GLTFast.Documentation.Examples -{ -#region PlayAnimationUtilitiesSample - using UnityEngine; - using UnityEngine.Playables; - - [RequireComponent(typeof(Animator))] - public class PlayAnimationUtilitiesSample : MonoBehaviour - { - public AnimationClip clip; - PlayableGraph playableGraph; - - void Start() - { - AnimationPlayableUtilities.PlayClip(GetComponent(), clip, out playableGraph); - } - - void OnDisable() - { - // Destroys all Playables and Outputs created by the graph. - playableGraph.Destroy(); - } - } -#endregion -} -#endif diff --git a/DocExamples/PlayAnimationUtilitiesSample.cs.meta b/DocExamples/PlayAnimationUtilitiesSample.cs.meta deleted file mode 100644 index 683e2dc25..000000000 --- a/DocExamples/PlayAnimationUtilitiesSample.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: b00e2fcde39388d4992c2a937d4621c7 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/DocExamples/glTFast.Documentation.Examples.asmdef b/DocExamples/glTFast.Documentation.Examples.asmdef index 53d39ee58..33815d462 100644 --- a/DocExamples/glTFast.Documentation.Examples.asmdef +++ b/DocExamples/glTFast.Documentation.Examples.asmdef @@ -19,11 +19,6 @@ "name": "com.unity.nuget.newtonsoft-json", "expression": "3", "define": "NEWTONSOFT_JSON" - }, - { - "name": "com.unity.modules.animation", - "expression": "1.0.0", - "define": "UNITY_ANIMATION" } ], "noEngineReferences": false diff --git a/Documentation~/TableOfContents.md b/Documentation~/TableOfContents.md index 5f752a7a8..a9f6d9fcc 100644 --- a/Documentation~/TableOfContents.md +++ b/Documentation~/TableOfContents.md @@ -11,7 +11,6 @@ * [Project Setup](ProjectSetup.md) * Use Cases * [Use glTFast Add-on API to import custom data](UseCaseCustomExtras.md) - * [Use Playables API for custom animation behaviour](UseCaseCustomPlayablesAnimation.md) * [Development](development.md) * [Sources](sources.md) * [Test Project](test-project-setup.md) diff --git a/Documentation~/UseCaseCustomPlayablesAnimation.md b/Documentation~/UseCaseCustomPlayablesAnimation.md index ecbc6eb15..82079e18d 100644 --- a/Documentation~/UseCaseCustomPlayablesAnimation.md +++ b/Documentation~/UseCaseCustomPlayablesAnimation.md @@ -1,67 +1,14 @@ # Use case: Use Playables API for animation -This use case describes the steps to use the Playables API to customize animation behaviour at runtime. +> [!CAUTION] +> This feature is obsolete! -To accomplish this use case, do the following: +This use case was added in a previous version but has since been removed. It was not functioning correctly in builds due to the way animations are imported at runtime rather than in the editor. It is recommended to use legacy animation clips instead. -1. Create scripts for CustomGltfImport, CustomGameObjectInstantiator and PlayAnimationUtilitiesSample -2. Set up a new scene -3. Import the glTF asset in runtime +Please refer to the following note copied from the [AnimationClip.SetCurve](https://docs.unity3d.com/6000.1/Documentation/ScriptReference/AnimationClip.SetCurve.html) documentation: -## Before you start - -Before you start, you must add the following package dependencies to your project. - -* In the `manifest.json` file, add the following dependencies: - -```json - { - "dependencies": { - // Add these lines: - // Replace "" with the version you wish to install - "com.unity.cloud.gltfast": "", - "com.unity.modules.animation": "" - // Other dependencies... - } - } -``` - -## How do I...? - -### Create custom scripts - -To create the custom scripts, follow these steps: - -1. Open your Unity® Project. -2. Go to the **Assets** folder in the Project window. -3. Select and hold **Create**. -4. Select **C# Script**. -5. Rename the new script as `PlayAnimationUtilitiesSample`. -6. Open the `PlayAnimationUtilitiesSample` script and replace the content with the following: - [!code-cs [play-animation-utilities-sample](../DocExamples/PlayAnimationUtilitiesSample.cs#PlayAnimationUtilitiesSample)] -7. Repeat step 2-4 to create another new script. -8. Rename the new script as `CustomGameObjectInstantiator`. -9. Open the `CustomGameObjectInstantiator` script and replace the content with the following: - [!code-cs [custom-game-object-instantiator](../DocExamples/CustomGameObjectInstantiator.cs#CustomGameObjectInstantiator)] -10. Repeat step 2-4 to create another new script. -11. Rename the new script as `CustomGltfImportPlayables`. -12. Open the `CustomGltfImportPlayables` script and replace the content with the following: - [!code-cs [custom-gltf-import-playables](../DocExamples/CustomGltfImportPlayables.cs#CustomGltfImportPlayables)] - -### Set up a new scene - -To set up a new scene, follow these steps: - -1. Create a new scene. -2. Create a GameObject called **GltfImport**. -3. Select **Add Component** in the Inspector window and add the **Custom Gltf Import Playables** component. -4. In the **Uri** field, set the path to point to where the glTF asset is stored. - -### Import the glTF asset in runtime - -Select **Play**, the glTF asset should be loaded and displayed along with its animation at runtime. - -You can then replace the contents of `PlayAnimationUtilitiesSample` with your own custom behaviour using the [Playables API](https://docs.unity3d.com/Manual/Playables.html). +> [!NOTE] +> `SetCurve` will only work at runtime for legacy animation clips. For non-legacy AnimationClips it is an editor-only function. ## Trademarks diff --git a/Editor/Scripts/GltfImporter.cs b/Editor/Scripts/GltfImporter.cs index 6d54dd94c..c0c6b3dc2 100644 --- a/Editor/Scripts/GltfImporter.cs +++ b/Editor/Scripts/GltfImporter.cs @@ -121,14 +121,6 @@ public override void OnImportAsset(AssetImportContext ctx) m_ImportedNames = new HashSet(); m_ImportedObjects = new HashSet(); - if (importSettings.AnimationMethod == AnimationMethod.Playables) - { - // Playables graph is unsupported at Editor time, overriding to Mecanim setting instead - importSettings.AnimationMethod = AnimationMethod.Mecanim; - Debug.LogWarning($"{nameof(AnimationMethod)} setting \"{nameof(AnimationMethod.Playables)}\" is not " + - $"available for Editor (design-time) imports. Falling back to {nameof(AnimationMethod.Mecanim)}.", this); - } - if (instantiationSettings.SceneObjectCreation == SceneObjectCreation.Never) { diff --git a/Runtime/Scripts/Animation.meta b/Runtime/Scripts/Animation.meta deleted file mode 100644 index 76235f8ab..000000000 --- a/Runtime/Scripts/Animation.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: f49476350a3e1784291b37831645dd57 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Runtime/Scripts/Animation/AnimationLoopPlayable.cs b/Runtime/Scripts/Animation/AnimationLoopPlayable.cs deleted file mode 100644 index ec4603ee1..000000000 --- a/Runtime/Scripts/Animation/AnimationLoopPlayable.cs +++ /dev/null @@ -1,61 +0,0 @@ -// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using System; -using UnityEngine; -using UnityEngine.Animations; -using UnityEngine.Playables; - -namespace GLTFast -{ - class AnimationLoopPlayable : PlayableBehaviour - { - int m_Index; - bool m_AutoSequence; - - internal AnimationMixerPlayable Mixer { get; private set; } - internal float Time { get; set; } - - public void Init(Playable owner, PlayableGraph graph, bool autoSequence, params AnimationClip[] clips) - { - if (clips is null) - throw new ArgumentNullException(nameof(clips)); - - if (clips.Length == 0) - throw new ArgumentOutOfRangeException(nameof(clips)); - - m_AutoSequence = autoSequence; - - owner.SetInputCount(1); - owner.SetInputWeight(0, 1); - - Mixer = AnimationMixerPlayable.Create(graph, clips.Length); - graph.Connect(Mixer, 0, owner, 0); - - for (var i = 0; i < clips.Length; ++i) - { - graph.Connect(AnimationClipPlayable.Create(graph, clips[i]), 0, Mixer, i); - Mixer.SetInputWeight(i, i == 0 ? 1f : 0f); - } - } - - public override void PrepareFrame(Playable playable, FrameData info) - { - Time -= info.deltaTime; - - if (Time > 0f) - return; - - if (m_AutoSequence) - { - Mixer.SetInputWeight(m_Index, 0f); - m_Index = ++m_Index % Mixer.GetInputCount(); - Mixer.SetInputWeight(m_Index, 1f); - } - - var clip = (AnimationClipPlayable)Mixer.GetInput(m_Index); - clip.SetTime(0); - Time = clip.GetAnimationClip().length; - } - } -} diff --git a/Runtime/Scripts/Animation/AnimationLoopPlayable.cs.meta b/Runtime/Scripts/Animation/AnimationLoopPlayable.cs.meta deleted file mode 100644 index b335e4ee8..000000000 --- a/Runtime/Scripts/Animation/AnimationLoopPlayable.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 0f36e553393045a4981b1c85ea918225 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Runtime/Scripts/Animation/AnimationPlayableComponent.cs b/Runtime/Scripts/Animation/AnimationPlayableComponent.cs deleted file mode 100644 index aa35957e1..000000000 --- a/Runtime/Scripts/Animation/AnimationPlayableComponent.cs +++ /dev/null @@ -1,53 +0,0 @@ -// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using System; -using UnityEngine; -using UnityEngine.Animations; -using UnityEngine.Assertions; -using UnityEngine.Playables; - -namespace GLTFast -{ - [RequireComponent(typeof(Animator))] - class AnimationPlayableComponent : MonoBehaviour - { - internal static readonly string k_NotInitializedMessage = $"{nameof(AnimationPlayableComponent)} was not initialized."; - internal static readonly string k_InvalidGraphMessage = $"{nameof(PlayableGraph)} must still be valid before destroying."; - - [SerializeField] - AnimationClip[] m_Clips; - - PlayableGraph m_PlayableGraph; - - public Playable? Playable { get; private set; } - - void Start() - { - Assert.IsTrue(m_PlayableGraph.IsValid(), k_NotInitializedMessage); - } - - void OnDestroy() - { - Assert.IsTrue(m_PlayableGraph.IsValid(), k_InvalidGraphMessage); - m_PlayableGraph.Destroy(); - } - - public void Init(AnimationClip[] clips, bool autoSequence) - { - m_Clips = clips; - - var animator = GetComponent(); - m_PlayableGraph = PlayableGraph.Create("GltfPlayableGraph"); - m_PlayableGraph.SetTimeUpdateMode(DirectorUpdateMode.GameTime); - - var scriptPlayable = ScriptPlayable.Create(m_PlayableGraph); - scriptPlayable.GetBehaviour().Init(scriptPlayable, m_PlayableGraph, autoSequence, m_Clips); - - var playableOutput = AnimationPlayableOutput.Create(m_PlayableGraph, "GltfAnimationPlayableOutput", animator); - playableOutput.SetSourcePlayable(scriptPlayable, 0); - - Playable = scriptPlayable; - } - } -} diff --git a/Runtime/Scripts/Animation/AnimationPlayableComponent.cs.meta b/Runtime/Scripts/Animation/AnimationPlayableComponent.cs.meta deleted file mode 100644 index a76b09062..000000000 --- a/Runtime/Scripts/Animation/AnimationPlayableComponent.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: e1b5b5208d65ff84aabe80df79bf2f2e -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Runtime/Scripts/Animation/AssemblyInfo.cs b/Runtime/Scripts/Animation/AssemblyInfo.cs deleted file mode 100644 index a8ba380be..000000000 --- a/Runtime/Scripts/Animation/AssemblyInfo.cs +++ /dev/null @@ -1,7 +0,0 @@ -// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using System.Runtime.CompilerServices; - -[assembly: InternalsVisibleTo("glTFast")] -[assembly: InternalsVisibleTo("glTFast.Tests.Animation")] diff --git a/Runtime/Scripts/Animation/AssemblyInfo.cs.meta b/Runtime/Scripts/Animation/AssemblyInfo.cs.meta deleted file mode 100644 index 8a57e1176..000000000 --- a/Runtime/Scripts/Animation/AssemblyInfo.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 9ab0b6873cabad94fa1ef39ada5229e5 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Runtime/Scripts/Animation/glTFast.Animation.asmdef b/Runtime/Scripts/Animation/glTFast.Animation.asmdef deleted file mode 100644 index 9a5caefa0..000000000 --- a/Runtime/Scripts/Animation/glTFast.Animation.asmdef +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "glTFast.Animation", - "rootNamespace": "GLTFast", - "references": [], - "includePlatforms": [], - "excludePlatforms": [], - "allowUnsafeCode": false, - "overrideReferences": false, - "precompiledReferences": [], - "autoReferenced": true, - "defineConstraints": [ - "UNITY_ANIMATION" - ], - "versionDefines": [ - { - "name": "com.unity.modules.animation", - "expression": "1.0.0", - "define": "UNITY_ANIMATION" - } - ], - "noEngineReferences": false -} \ No newline at end of file diff --git a/Runtime/Scripts/Animation/glTFast.Animation.asmdef.meta b/Runtime/Scripts/Animation/glTFast.Animation.asmdef.meta deleted file mode 100644 index 23a3455cc..000000000 --- a/Runtime/Scripts/Animation/glTFast.Animation.asmdef.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 6f659d78ae11d7743846a9526105dbbe -AssemblyDefinitionImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Runtime/Scripts/AnimationMethod.cs b/Runtime/Scripts/AnimationMethod.cs index b88ca1a5c..16cda6221 100644 --- a/Runtime/Scripts/AnimationMethod.cs +++ b/Runtime/Scripts/AnimationMethod.cs @@ -23,8 +23,12 @@ public enum AnimationMethod /// Mecanim, /// - /// Playables Animation System + /// Playables support has been removed since + /// it was not usable in builds. Use LegacyAnimation instead. + /// See: UseCaseCustomPlayablesAnimation /// + [Obsolete("Playables support has been removed since it was not usable in builds. Use LegacyAnimation instead. " + + "See: UseCaseCustomPlayablesAnimation")] Playables } } diff --git a/Runtime/Scripts/Export/Constants.cs b/Runtime/Scripts/Export/Constants.cs index 4edc9dbd4..b71cddd51 100644 --- a/Runtime/Scripts/Export/Constants.cs +++ b/Runtime/Scripts/Export/Constants.cs @@ -7,7 +7,7 @@ namespace GLTFast.Export { static class Constants { - public const string version = "6.13.0"; + public const string version = "6.13.1"; internal const string mimeTypePNG = "image/png"; internal const string mimeTypeJPG = "image/jpeg"; diff --git a/Runtime/Scripts/GameObjectInstantiator.cs b/Runtime/Scripts/GameObjectInstantiator.cs index c2285a4d2..38695e826 100644 --- a/Runtime/Scripts/GameObjectInstantiator.cs +++ b/Runtime/Scripts/GameObjectInstantiator.cs @@ -8,7 +8,6 @@ using UnityEngine; using UnityEngine.Profiling; #if UNITY_ANIMATION -using UnityEngine.Playables; using Animation = UnityEngine.Animation; #endif using Camera = UnityEngine.Camera; @@ -71,8 +70,6 @@ public class GameObjectInstantiator : IInstantiator /// public GameObjectSceneInstance SceneInstance { get; protected set; } - internal ImportSettings ImportSettings { get; set; } - // ReSharper restore MemberCanBePrivate.Global /// @@ -180,16 +177,6 @@ public virtual void AddAnimation(AnimationClip[] animationClips) { } else { SceneTransform.gameObject.AddComponent(); - if (ImportSettings.AnimationMethod == AnimationMethod.Playables) - { - var animationPlayableComponent = SceneTransform.gameObject.AddComponent(); - animationPlayableComponent.Init(animationClips, false); - - // this is always null for Editor imports - // Playables currently not supported in Editor workflow - if (animationPlayableComponent.Playable.HasValue) - SceneInstance.Playable = animationPlayableComponent.Playable.Value; - } } } } diff --git a/Runtime/Scripts/GameObjectSceneInstance.cs b/Runtime/Scripts/GameObjectSceneInstance.cs index d03460f38..43a38e8da 100644 --- a/Runtime/Scripts/GameObjectSceneInstance.cs +++ b/Runtime/Scripts/GameObjectSceneInstance.cs @@ -33,16 +33,18 @@ public class GameObjectSceneInstance #if UNITY_ANIMATION /// /// component. Is null if scene has no - /// legacy animation clips. + /// animation clips. /// Only available if the built-in Animation module is enabled. /// public Animation LegacyAnimation { get; private set; } /// - /// instance. Is null if scene has no - /// Playables animation clips. - /// Only available if the built-in Animation module is enabled. + /// Playables support has been removed since + /// it was not usable in builds. Use LegacyAnimation instead. + /// See: UseCaseCustomPlayablesAnimation /// + [Obsolete("Playables support has been removed since it was not usable in builds. Use LegacyAnimation instead. " + + "See: UseCaseCustomPlayablesAnimation")] public Playable? Playable { get; internal set; } #endif diff --git a/Runtime/Scripts/GltfAsset.cs b/Runtime/Scripts/GltfAsset.cs index 8a27e8252..32bb8c282 100644 --- a/Runtime/Scripts/GltfAsset.cs +++ b/Runtime/Scripts/GltfAsset.cs @@ -4,9 +4,6 @@ using System.IO; using System.Threading.Tasks; using UnityEngine; -#if UNITY_ANIMATION -using UnityEngine.Playables; -#endif namespace GLTFast { @@ -150,12 +147,8 @@ protected override void PostInstantiation(IInstantiator instantiator, bool succe { SceneInstance = (instantiator as GameObjectInstantiator)?.SceneInstance; #if UNITY_ANIMATION - if (SceneInstance != null) { - if (playAutomatically) { - SceneInstance.LegacyAnimation?.Play(); - SceneInstance.Playable?.GetGraph().Play(); - } - } + if (playAutomatically) + SceneInstance?.LegacyAnimation?.Play(); #endif base.PostInstantiation(instantiator, success); } diff --git a/Runtime/Scripts/GltfImport.cs b/Runtime/Scripts/GltfImport.cs index 31a410f1d..ca67a86cf 100755 --- a/Runtime/Scripts/GltfImport.cs +++ b/Runtime/Scripts/GltfImport.cs @@ -2894,11 +2894,6 @@ void PopulateHierarchy(uint nodeIndex, uint? parentIndex) instantiator.BeginScene(scene.name, scene.nodes); #if UNITY_ANIMATION - // TODO: this should be removed in favor of a cleaner way to access ImportSettings in the instantiator - // only available internally for now to avoid breaking changes - if (instantiator is GameObjectInstantiator gameObjectInstantiator) - gameObjectInstantiator.ImportSettings = m_Settings; - instantiator.AddAnimation(m_AnimationClips); #endif diff --git a/Runtime/Scripts/Material/BuiltInMaterialGenerator.cs b/Runtime/Scripts/Material/BuiltInMaterialGenerator.cs index b089348b5..55ae2820b 100644 --- a/Runtime/Scripts/Material/BuiltInMaterialGenerator.cs +++ b/Runtime/Scripts/Material/BuiltInMaterialGenerator.cs @@ -354,7 +354,10 @@ public override Material GenerateMaterial( #endif // Correct transmission is not supported in Built-In renderer // This is an approximation for some corner cases - if (transmission.transmissionFactor > 0f && transmission.transmissionTexture.index < 0) + if (transmission.transmissionFactor > 0f + && (transmission.transmissionTexture == null + || transmission.transmissionTexture.index < 0) + ) { var premultiply = TransmissionWorkaroundShaderMode(transmission, ref baseColorLinear); shaderMode = premultiply ? StandardShaderMode.Transparent : StandardShaderMode.Fade; diff --git a/Runtime/Scripts/Material/ShaderGraphMaterialGenerator.cs b/Runtime/Scripts/Material/ShaderGraphMaterialGenerator.cs index 95681506c..9e324ec6e 100644 --- a/Runtime/Scripts/Material/ShaderGraphMaterialGenerator.cs +++ b/Runtime/Scripts/Material/ShaderGraphMaterialGenerator.cs @@ -459,14 +459,16 @@ public override Material GenerateMaterial( ClearcoatRoughnessTextureScaleTransformProperty, ClearcoatRoughnessTextureRotationProperty, ClearcoatRoughnessTextureTexCoordProperty); - TrySetTexture(clearcoat.clearcoatNormalTexture, - material, - gltf, - ClearcoatNormalTextureProperty, - ClearcoatNormalTextureScaleTransformProperty, - ClearcoatNormalTextureRotationProperty, - ClearcoatNormalTextureTexCoordProperty); - material.SetFloat(ClearcoatNormalTextureScaleProperty, clearcoat.clearcoatNormalTexture.scale); + if (TrySetTexture(clearcoat.clearcoatNormalTexture, + material, + gltf, + ClearcoatNormalTextureProperty, + ClearcoatNormalTextureScaleTransformProperty, + ClearcoatNormalTextureRotationProperty, + ClearcoatNormalTextureTexCoordProperty)) + { + material.SetFloat(ClearcoatNormalTextureScaleProperty, clearcoat.clearcoatNormalTexture.scale); + } } return material; @@ -626,7 +628,11 @@ protected virtual void SetShaderModePremultiply(MaterialBase gltfMaterial, Mater #endif // Correct transmission is not supported in Built-In renderer // This is an approximation for some corner cases - if (transmission.transmissionFactor > 0f && transmission.transmissionTexture.index < 0) { + if (transmission.transmissionFactor > 0f + && ( transmission.transmissionTexture == null + || transmission.transmissionTexture.index < 0) + ) + { TransmissionWorkaroundShaderMode(transmission, ref baseColorLinear); } return renderQueue; diff --git a/Runtime/Scripts/glTFast.asmdef b/Runtime/Scripts/glTFast.asmdef index fd7e363b5..da13ad772 100644 --- a/Runtime/Scripts/glTFast.asmdef +++ b/Runtime/Scripts/glTFast.asmdef @@ -10,8 +10,7 @@ "Ktx", "Unity.Meshopt.Decompress", "Unity.RenderPipelines.Universal.Runtime", - "Unity.RenderPipelines.HighDefinition.Runtime", - "glTFast.Animation" + "Unity.RenderPipelines.HighDefinition.Runtime" ], "includePlatforms": [], "excludePlatforms": [], @@ -83,7 +82,7 @@ }, { "name": "com.unity.collections", - "expression": "1.5.0", + "expression": "1.4.0", "define": "UNITY_COLLECTIONS" }, { diff --git a/package.json b/package.json index 01d4042b6..5a7cb66de 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "com.atteneder.gltfast", - "version": "6.13.0", + "version": "6.13.1", "displayName": "glTFast", "description": "Use glTFast to import and export glTF 3D files efficiently at runtime or in the Editor", "unity": "2021.3", From 1a2ce4d8befb7783ef2db47f7b1394493f960c02 Mon Sep 17 00:00:00 2001 From: Andreas Atteneder Date: Tue, 16 Sep 2025 23:01:25 +0200 Subject: [PATCH 14/27] com.atteneder.gltfast Release 6.14.0 --- .github/workflows/renovate-validation.yml | 2 +- .github/workflows/renovate.yml | 2 +- CHANGELOG.md | 39 +- Documentation~/config.json | 4 +- Editor/Scripts/EditorDownloadProvider.cs | 6 +- Runtime/Scripts/AnimationUtils.cs | 15 +- Runtime/Scripts/DracoMeshGenerator.cs | 8 +- Runtime/Scripts/Export/Constants.cs | 2 +- Runtime/Scripts/Export/DracoExportSettings.cs | 4 +- Runtime/Scripts/Export/GltfWriter.cs | 15 +- Runtime/Scripts/Export/IMeshData.cs | 2 +- Runtime/Scripts/Export/KhrLightsPunctual.cs | 16 +- Runtime/Scripts/Export/ManagedNativeArray.cs | 4 +- Runtime/Scripts/Export/MeshDataProxy.cs | 2 +- Runtime/Scripts/Export/NonReadableMeshData.cs | 2 +- Runtime/Scripts/Export/glTFast.Export.asmdef | 2 +- Runtime/Scripts/GltfImport.cs | 511 +++++++++++------- Runtime/Scripts/IGltfBuffers.cs | 17 +- Runtime/Scripts/IGltfReadable.cs | 7 +- Runtime/Scripts/Jobs.cs | 428 +++++---------- Runtime/Scripts/KtxLoadContext.cs | 10 +- Runtime/Scripts/KtxLoadContextBase.cs | 8 +- Runtime/Scripts/KtxLoadNativeContext.cs | 16 +- Runtime/Scripts/LightPunctualExtension.cs | 7 + Runtime/Scripts/ManagedNativeArray.cs | 6 +- Runtime/Scripts/MeshGenerator.cs | 204 +++---- Runtime/Scripts/MorphTargetsGenerator.cs | 21 +- Runtime/Scripts/NativeArrayExtensions.cs | 12 - Runtime/Scripts/ReadOnlyNativeArray.cs | 215 ++++++++ Runtime/Scripts/ReadOnlyNativeArray.cs.meta | 11 + .../ReadOnlyNativeArrayFromManagedArray.cs | 53 ++ ...eadOnlyNativeArrayFromManagedArray.cs.meta | 3 + .../ReadOnlyNativeArrayFromNativeArray.cs | 48 ++ ...ReadOnlyNativeArrayFromNativeArray.cs.meta | 3 + Runtime/Scripts/ReadOnlyNativeStridedArray.cs | 66 +++ .../ReadOnlyNativeStridedArray.cs.meta | 3 + Runtime/Scripts/Schema/BufferView.cs | 3 + .../Schema/BufferViewMeshoptExtension.cs | 1 + .../Schema/FakeSchema/MeshPrimitive.cs | 2 +- Runtime/Scripts/Schema/IBufferView.cs | 6 + Runtime/Scripts/Schema/MeshPrimitive.cs | 8 +- Runtime/Scripts/Schema/Root.cs | 4 +- Runtime/Scripts/VertexBufferBones.cs | 40 +- Runtime/Scripts/VertexBufferColors.cs | 129 ++--- Runtime/Scripts/VertexBufferGenerator.cs | 40 +- Runtime/Scripts/VertexBufferGeneratorBase.cs | 191 ++++--- Runtime/Scripts/VertexBufferTexCoords.cs | 26 +- Runtime/Scripts/byte3.cs | 69 +++ Runtime/Scripts/byte3.cs.meta | 3 + Runtime/Scripts/glTFast.asmdef | 16 +- Runtime/Scripts/sbyte3.cs | 71 +++ Runtime/Scripts/sbyte3.cs.meta | 3 + Runtime/Scripts/sbyte4.cs | 53 ++ Runtime/Scripts/sbyte4.cs.meta | 3 + Runtime/Scripts/short3.cs | 71 +++ Runtime/Scripts/short3.cs.meta | 3 + Runtime/Scripts/short4.cs | 39 ++ Runtime/Scripts/short4.cs.meta | 3 + Runtime/Scripts/ushort3.cs | 56 ++ Runtime/Scripts/ushort3.cs.meta | 3 + package.json | 4 +- 61 files changed, 1702 insertions(+), 919 deletions(-) create mode 100644 Runtime/Scripts/ReadOnlyNativeArray.cs create mode 100644 Runtime/Scripts/ReadOnlyNativeArray.cs.meta create mode 100644 Runtime/Scripts/ReadOnlyNativeArrayFromManagedArray.cs create mode 100644 Runtime/Scripts/ReadOnlyNativeArrayFromManagedArray.cs.meta create mode 100644 Runtime/Scripts/ReadOnlyNativeArrayFromNativeArray.cs create mode 100644 Runtime/Scripts/ReadOnlyNativeArrayFromNativeArray.cs.meta create mode 100644 Runtime/Scripts/ReadOnlyNativeStridedArray.cs create mode 100644 Runtime/Scripts/ReadOnlyNativeStridedArray.cs.meta create mode 100644 Runtime/Scripts/byte3.cs create mode 100644 Runtime/Scripts/byte3.cs.meta create mode 100644 Runtime/Scripts/sbyte3.cs create mode 100644 Runtime/Scripts/sbyte3.cs.meta create mode 100644 Runtime/Scripts/sbyte4.cs create mode 100644 Runtime/Scripts/sbyte4.cs.meta create mode 100644 Runtime/Scripts/short3.cs create mode 100644 Runtime/Scripts/short3.cs.meta create mode 100644 Runtime/Scripts/short4.cs create mode 100644 Runtime/Scripts/short4.cs.meta create mode 100644 Runtime/Scripts/ushort3.cs create mode 100644 Runtime/Scripts/ushort3.cs.meta diff --git a/.github/workflows/renovate-validation.yml b/.github/workflows/renovate-validation.yml index 4d695add5..eba75dd54 100644 --- a/.github/workflows/renovate-validation.yml +++ b/.github/workflows/renovate-validation.yml @@ -32,7 +32,7 @@ jobs: with: # This is the image that contains our custom renovate and will be auto # updated by Renovate itself. - image: europe-docker.pkg.dev/unity-cds-services-prd/ds-docker/renovate:10.2.8@sha256:32dc5191f585eb83b36abecee781c5d0023ea6033b3216a1829bd68a1dbd194a + image: europe-docker.pkg.dev/unity-cds-services-prd/ds-docker/renovate:11.0.1@sha256:096e72ef7c63a4898b63716c0b2d08aa929d059bceaeca6fef3dcd75b8c27b8b dry-run: full log-level: ${{ github.event.inputs.log-level }} secrets: diff --git a/.github/workflows/renovate.yml b/.github/workflows/renovate.yml index ecce86ae8..73322a399 100644 --- a/.github/workflows/renovate.yml +++ b/.github/workflows/renovate.yml @@ -28,7 +28,7 @@ jobs: with: # This is the image that contains our custom renovate and will be auto # updated by Renovate itself. - image: europe-docker.pkg.dev/unity-cds-services-prd/ds-docker/renovate:10.2.8@sha256:32dc5191f585eb83b36abecee781c5d0023ea6033b3216a1829bd68a1dbd194a + image: europe-docker.pkg.dev/unity-cds-services-prd/ds-docker/renovate:11.0.1@sha256:096e72ef7c63a4898b63716c0b2d08aa929d059bceaeca6fef3dcd75b8c27b8b log-level: ${{ github.event.inputs.log-level }} secrets: renovate-auth-secret: ${{ secrets.RENOVATE_AUTH_SECRET }} diff --git a/CHANGELOG.md b/CHANGELOG.md index 85aedce44..b333b08e6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,33 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [6.14.0] - 2025-09-12 + +### Added +- Graphics Tests. +- [EditorConfig](https://editorconfig.org/) for keeping a consistent code-style. +- [IBufferView.ByteStride](xref:GLTFast.Schema.IBufferView.ByteStride). + +### Changed +- (CI) Consolidated multiple redundant packaging and vetting/API validation jobs. +- Changed internal buffer representation to custom native collection `ReadOnlyBuffer` (instead of [NativeArray<byte>.ReadOnly](xref:Unity.Collections.NativeArray`1.ReadOnly)) This enables sub-array slicing, has in-Editor safety checks and prepares for decommissioning misuse of NativeSlice. +- Bumped Burst dependency version to 1.8.24, which is the recommended version in 2021 xLTS. +- [KTX for Unity] minimum required version was raised to 3.5.0. +- [Draco for Unity] minimum required version was raised to 5.2.0. + +### Fixed +- (Export) Spotlight's inner cone angle is exported correctly on HDRP now. +- (Test) Disabled URP compatibility mode in URP presets as it's obsolete and unsupported from Unity 6.3 onward. +- (Import) Spotlight's inner cone angle is imported correctly on HDRP now. + +### Removed +- (CI) SonarQube scan job. + +### Deprecated +- [GLTFast.ManagedNativeArray](xref:GLTFast.ManagedNativeArray`2). It will be removed from public API in a future release. For internal development it's been replaced by `ReadOnlyBufferManagedArray`. +- [GLTFast.Export.ManagedNativeArray](xref:GLTFast.Export.ManagedNativeArray`2). It will get sealed or removed from public API in a future release. +- [IGltfReadable.GetAccessorData](xref:GLTFast.IGltfReadable.GetAccessorData(System.Int32)). Along with [IGltfReadable.GetAccessor](xref:GLTFast.IGltfReadable.GetAccessor(System.Int32)) it is going to be removed and replaced with an improved way to access accessors' data in a future release. + ## [6.13.1] - 2025-07-17 ### Added @@ -292,7 +319,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - On Apple visionOS, textures are always created readable, so that [PolySpatial visionOS][PolySpatialVisionOS] is able to convert them. - Draco compressed tangents import tangents correctly now. - Removed invalid attempt to calculate normals or tangents on point or line meshes. -- Consistent log message when a glTF extension cannot be supported due to a missing Unity package depenency (e.g. [KTX for Unity][KtxForUnity]). +- Consistent log message when a glTF extension cannot be supported due to a missing Unity package depenency (e.g. [KTX for Unity]). - All missing extensions are logged (not just the first one). - There's now a single message per missing package. - Depending on whether that extension is required the message's type is warning or error. @@ -334,7 +361,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Deprecated soft-dependency packages are detected and a warning with upgrade instructions is shown in the console. ### Changed -- Support for Draco 3D Data Compression is now provided by [*Draco for Unity* (com.unity.cloud.draco)][DracoForUnity], which is a fork of and replaces [*DracoUnity* (com.atteneder.draco)][DracoUnity]. +- Support for Draco 3D Data Compression is now provided by [*Draco for Unity* (com.unity.cloud.draco)][Draco For Unity], which is a fork of and replaces [*DracoUnity* (com.atteneder.draco)][DracoUnity]. ### Fixed - Compiler error when Newtonsoft JSON package was not installed. @@ -354,7 +381,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - CI maintenance ### Fixed -- Updated references to [KTX for Unity][KtxForUnity] +- Updated references to [KTX for Unity] ## [6.0.1] - 2023-10-11 @@ -413,7 +440,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Added proper root namespace to all assembly definitions - License and copyright notices - (Export) Increased performance due to concurrent buffer conversions -- Support for KTX (Khronos Texture) is now provided by [*KTX for Unity* (com.unity.cloud.ktx)][KtxForUnity], which is a fork of and replaces [*KtxUnity* (com.atteneder.ktx)][KtxUnity]. +- Support for KTX (Khronos Texture) is now provided by [*KTX for Unity* (com.unity.cloud.ktx)][Ktx for Unity], which is a fork of and replaces [*KtxUnity* (com.atteneder.ktx)][KtxUnity]. ## [5.0.4] - 2023-03-30 @@ -1403,9 +1430,9 @@ This release contains multiple breaking changes. Please read the [upgrade guide] [Collections]: https://docs.unity3d.com/Packages/com.unity.collections@latest/ [JobsPkg]: https://docs.unity3d.com/Packages/com.unity.jobs@latest/ [KtxUnity]: https://github.com/atteneder/KtxUnity -[KtxForUnity]: https://docs.unity3d.com/Packages/com.unity.cloud.ktx@latest/ +[Ktx for Unity]: https://docs.unity3d.com/Packages/com.unity.cloud.ktx@latest/ [DanDovi]: https://github.com/DanDovi -[DracoForUnity]: https://docs.unity3d.com/Packages/com.unity.cloud.draco@latest +[Draco for Unity]: https://docs.unity3d.com/Packages/com.unity.cloud.draco@latest [DracoUnity]: https://github.com/atteneder/DracoUnity [PolySpatialVisionOS]: https://docs.unity3d.com/Packages/com.unity.polyspatial.visionos@latest/ [meshoptUnity]: https://docs.unity3d.com/Packages/com.unity.meshopt.decompress@latest/ diff --git a/Documentation~/config.json b/Documentation~/config.json index b73898e2e..7af1ad869 100644 --- a/Documentation~/config.json +++ b/Documentation~/config.json @@ -1,3 +1,3 @@ { - "DefineConstants": "DRACO_UNITY;KTX_UNITY;KTX_UNITY_1_3_OR_NEWER;KTX_UNITY_2_2_OR_NEWER;USING_URP;USING_HDRP;USING_HDRP_10_OR_NEWER;UNITY_PHYSICS;UNITY_IMAGECONVERSION;UNITY_WEBREQUEST_TEXTURE;MESHOPT;USING_URP_12_OR_NEWER;UNITY_SHADER_GRAPH;UNITY_SHADER_GRAPH_12_OR_NEWER;UNITY_ANIMATION;UNITY_ENTITIES_GRAPHICS;NEWTONSOFT_JSON;UNITY_COLLECTIONS" -} \ No newline at end of file + "DefineConstants": "DRACO_IS_INSTALLED;DRACO_IS_RECENT;KTX_UNITY;KTX_UNITY_IS_UP_TO_DATE;USING_URP;USING_HDRP;USING_HDRP_10_OR_NEWER;UNITY_PHYSICS;UNITY_IMAGECONVERSION;UNITY_WEBREQUEST_TEXTURE;MESHOPT;USING_URP_12_OR_NEWER;UNITY_SHADER_GRAPH;UNITY_SHADER_GRAPH_12_OR_NEWER;UNITY_ANIMATION;UNITY_ENTITIES_GRAPHICS;NEWTONSOFT_JSON;UNITY_COLLECTIONS" +} diff --git a/Editor/Scripts/EditorDownloadProvider.cs b/Editor/Scripts/EditorDownloadProvider.cs index e6b72d5a1..3e20e04b5 100644 --- a/Editor/Scripts/EditorDownloadProvider.cs +++ b/Editor/Scripts/EditorDownloadProvider.cs @@ -47,7 +47,7 @@ public async Task RequestTexture(Uri url, bool nonReadable) class SyncFileLoader : IDownload, INativeDownload { - ManagedNativeArray m_ManagedNativeArray; + ReadOnlyNativeArrayFromManagedArray m_ManagedNativeArray; public SyncFileLoader(Uri url) { @@ -56,8 +56,8 @@ public SyncFileLoader(Uri url) { Data = File.ReadAllBytes(path); // TODO: Is there a better way to load a file into a NativeArray, like AsyncReadManager? - m_ManagedNativeArray = new ManagedNativeArray(Data); - NativeData = m_ManagedNativeArray.nativeArray.AsReadOnly(); + m_ManagedNativeArray = new ReadOnlyNativeArrayFromManagedArray(Data); + NativeData = m_ManagedNativeArray.Array.AsNativeArrayReadOnly(); } else { diff --git a/Runtime/Scripts/AnimationUtils.cs b/Runtime/Scripts/AnimationUtils.cs index 744aff3cf..67d99a68d 100644 --- a/Runtime/Scripts/AnimationUtils.cs +++ b/Runtime/Scripts/AnimationUtils.cs @@ -10,6 +10,7 @@ using Unity.Collections; using Unity.Mathematics; using UnityEngine; +using UnityEngine.Assertions; using UnityEngine.Profiling; namespace GLTFast { @@ -18,28 +19,21 @@ static class AnimationUtils { const float k_TimeEpsilon = 0.00001f; - public static void AddTranslationCurves(AnimationClip clip, string animationPath, NativeArray times, NativeArray translations, InterpolationType interpolationType) { - // TODO: Refactor interface to use Unity.Mathematics types and remove this Reinterpret - var values = translations.Reinterpret(); + public static void AddTranslationCurves(AnimationClip clip, string animationPath, NativeArray times, NativeArray values, InterpolationType interpolationType) { AddVec3Curves(clip, animationPath, "localPosition.", times, values, interpolationType); } - public static void AddScaleCurves(AnimationClip clip, string animationPath, NativeArray times, NativeArray translations, InterpolationType interpolationType) { - // TODO: Refactor interface to use Unity.Mathematics types and remove this Reinterpret - var values = translations.Reinterpret(); + public static void AddScaleCurves(AnimationClip clip, string animationPath, NativeArray times, NativeArray values, InterpolationType interpolationType) { AddVec3Curves(clip, animationPath, "localScale.", times, values, interpolationType); } - public static void AddRotationCurves(AnimationClip clip, string animationPath, NativeArray times, NativeArray quaternions, InterpolationType interpolationType) { + public static void AddRotationCurves(AnimationClip clip, string animationPath, NativeArray times, NativeArray values, InterpolationType interpolationType) { Profiler.BeginSample("AnimationUtils.AddRotationCurves"); var rotX = new AnimationCurve(); var rotY = new AnimationCurve(); var rotZ = new AnimationCurve(); var rotW = new AnimationCurve(); - // TODO: Refactor interface to use Unity.Mathematics types and remove this Reinterpret - var values = quaternions.Reinterpret(); - #if DEBUG uint duplicates = 0; #endif @@ -74,6 +68,7 @@ public static void AddRotationCurves(AnimationClip clip, string animationPath, N var prevValue = values[0]; var inTangent = new quaternion(new float4(0f)); + Assert.AreEqual(times.Length,values.Length); for (var i = 1; i < times.Length; i++) { var time = times[i]; var value = values[i]; diff --git a/Runtime/Scripts/DracoMeshGenerator.cs b/Runtime/Scripts/DracoMeshGenerator.cs index 0d0234a19..6ec54b0ce 100644 --- a/Runtime/Scripts/DracoMeshGenerator.cs +++ b/Runtime/Scripts/DracoMeshGenerator.cs @@ -1,7 +1,7 @@ // SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 -#if DRACO_UNITY +#if DRACO_IS_RECENT using System; using System.Collections.Generic; @@ -140,7 +140,7 @@ async Task Decode(IReadOnlyList primitives, IGltfBuffer { var dracoExt = primitive.Extensions.KHR_draco_mesh_compression; var buffer = buffers.GetBufferView(dracoExt.bufferView, out _); - mesh = await StartDecode(buffer, dracoExt.attributes); + mesh = await StartDecode(buffer.AsNativeArrayReadOnly(), dracoExt.attributes); } if (mesh is null) { @@ -184,7 +184,7 @@ async Task Decode(IReadOnlyList primitives, IGltfBuffer return mesh; } - async Task StartDecode(NativeSlice data, Attributes dracoAttributes) + async Task StartDecode(NativeArray.ReadOnly data, Attributes dracoAttributes) { var flags = DecodeSettings.ConvertSpace; if (m_NeedsTangents) @@ -238,4 +238,4 @@ static Dictionary GenerateAttributeIdMap(Attributes attrib } } } -#endif // DRACO_UNITY +#endif // DRACO_IS_RECENT diff --git a/Runtime/Scripts/Export/Constants.cs b/Runtime/Scripts/Export/Constants.cs index b71cddd51..f41baaa6d 100644 --- a/Runtime/Scripts/Export/Constants.cs +++ b/Runtime/Scripts/Export/Constants.cs @@ -7,7 +7,7 @@ namespace GLTFast.Export { static class Constants { - public const string version = "6.13.1"; + public const string version = "6.14.0"; internal const string mimeTypePNG = "image/png"; internal const string mimeTypeJPG = "image/jpeg"; diff --git a/Runtime/Scripts/Export/DracoExportSettings.cs b/Runtime/Scripts/Export/DracoExportSettings.cs index 1d5c5b765..ed60681da 100644 --- a/Runtime/Scripts/Export/DracoExportSettings.cs +++ b/Runtime/Scripts/Export/DracoExportSettings.cs @@ -1,7 +1,7 @@ // SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 -#if DRACO_UNITY +#if DRACO_IS_INSTALLED using Draco.Encode; #endif @@ -33,7 +33,7 @@ public class DracoExportSettings /// Color quantization. public int colorQuantization = 8; -#if DRACO_UNITY +#if DRACO_IS_INSTALLED public static implicit operator QuantizationSettings(DracoExportSettings s) => new QuantizationSettings( s.positionQuantization, s.normalQuantization, diff --git a/Runtime/Scripts/Export/GltfWriter.cs b/Runtime/Scripts/Export/GltfWriter.cs index 363d247d5..c8d4f78e1 100755 --- a/Runtime/Scripts/Export/GltfWriter.cs +++ b/Runtime/Scripts/Export/GltfWriter.cs @@ -12,7 +12,7 @@ using System.Runtime.InteropServices; using System.Threading.Tasks; -#if DRACO_UNITY +#if DRACO_IS_INSTALLED using Draco.Encode; #endif using GLTFast.Schema; @@ -900,7 +900,7 @@ async Task BakeMeshes() if ((m_Settings.Compression & Compression.Draco) != 0) { -#if DRACO_UNITY +#if DRACO_IS_INSTALLED RegisterExtensionUsage(Extension.DracoMeshCompression); if (m_Settings.DracoSettings == null) { @@ -930,7 +930,7 @@ async Task BakeMeshes() for (var meshId = 0; meshId < m_Meshes.Count; meshId++) { Task task; -#if DRACO_UNITY +#if DRACO_IS_INSTALLED if ((m_Settings.Compression & Compression.Draco) != 0) { task = BakeMeshDraco(meshId); @@ -1535,7 +1535,11 @@ async Task ExportBindPoses(int meshId, UnityEngine.Mesh uMesh) async Task WriteBindPosesToBuffer(Matrix4x4[] bindposes) { var bufferViewId = -1; +#pragma warning disable CS0618 // Type or member is obsolete + // See original ObsoleteAttribute: + // > ManagedNativeArray is going to get sealed or removed from the public API in a future release. var nativeBindPoses = new ManagedNativeArray(bindposes); +#pragma warning restore CS0618 // Type or member is obsolete var matrices = nativeBindPoses.nativeArray; var job = new ExportJobs.ConvertMatrixJob { @@ -1555,7 +1559,7 @@ async Task WriteBindPosesToBuffer(Matrix4x4[] bindposes) return bufferViewId; } -#if DRACO_UNITY +#if DRACO_IS_INSTALLED async Task BakeMeshDraco(int meshId) { var mesh = m_Meshes[meshId]; @@ -1723,7 +1727,7 @@ int dracoId break; } } -#endif // DRACO_UNITY +#endif // DRACO_IS_INSTALLED int AddAccessor(Accessor accessor) { @@ -2261,6 +2265,7 @@ unsafe int WriteBufferViewToBuffer(byte[] bufferViewData, BufferViewTarget targe #endif var bufferViewId = WriteBufferViewToBuffer(nativeData, target, byteStride); #if ENABLE_UNITY_COLLECTIONS_CHECKS + AtomicSafetyHandle.CheckDeallocateAndThrow(safetyHandle); AtomicSafetyHandle.Release(safetyHandle); #endif bufferHandle.Free(); diff --git a/Runtime/Scripts/Export/IMeshData.cs b/Runtime/Scripts/Export/IMeshData.cs index 1a2cd754e..ef5fbbfc3 100644 --- a/Runtime/Scripts/Export/IMeshData.cs +++ b/Runtime/Scripts/Export/IMeshData.cs @@ -29,7 +29,7 @@ interface IMeshData #endif } - interface IMeshData : IMeshData where TIndex : struct + interface IMeshData : IMeshData where TIndex : unmanaged { #if ASYNC_MESH_DATA Task> GetIndexData(); diff --git a/Runtime/Scripts/Export/KhrLightsPunctual.cs b/Runtime/Scripts/Export/KhrLightsPunctual.cs index 90c221964..f79066b71 100644 --- a/Runtime/Scripts/Export/KhrLightsPunctual.cs +++ b/Runtime/Scripts/Export/KhrLightsPunctual.cs @@ -49,8 +49,22 @@ public static LightPunctual ConvertToLight(Light uLight) light.spot = new SpotLight { outerConeAngle = uLight.spotAngle * Mathf.Deg2Rad * .5f, - innerConeAngle = uLight.innerSpotAngle * Mathf.Deg2Rad * .5f }; + +#if USING_HDRP && !UNITY_6000_3_OR_NEWER + if (renderPipeline == RenderPipeline.HighDefinition) + { + // Up until Unity 6.2/HDRP 17.2 lightHd.innerSpotPercent was used + // instead of uLight.innerSpotAngle. + light.spot.innerConeAngle = lightHd != null + ? uLight.spotAngle * Mathf.Deg2Rad * .5f * lightHd.innerSpotPercent01 + : 0; + } + else +#endif + { + light.spot.innerConeAngle = uLight.innerSpotAngle * Mathf.Deg2Rad * .5f; + } break; case LightType.Directional: light.SetLightType(LightPunctual.Type.Directional); diff --git a/Runtime/Scripts/Export/ManagedNativeArray.cs b/Runtime/Scripts/Export/ManagedNativeArray.cs index 5ead9b4ba..24c69f70d 100644 --- a/Runtime/Scripts/Export/ManagedNativeArray.cs +++ b/Runtime/Scripts/Export/ManagedNativeArray.cs @@ -13,8 +13,9 @@ namespace GLTFast.Export /// /// Wraps a managed TIn[] in a NativeArray<TOut>without copying memory. /// - /// Type of items in input array. + /// Type of items in the input array. /// Type of items in output NativeArray (might differ from input type TIn). + [Obsolete("This class is going to get sealed or removed from the public API in a future release.")] public class ManagedNativeArray : IDisposable where TIn : unmanaged where TOut : unmanaged @@ -77,6 +78,7 @@ protected virtual void Dispose(bool disposing) if (disposing && m_Pinned) { #if ENABLE_UNITY_COLLECTIONS_CHECKS + AtomicSafetyHandle.CheckDeallocateAndThrow(m_SafetyHandle); AtomicSafetyHandle.Release(m_SafetyHandle); #endif m_BufferHandle.Free(); diff --git a/Runtime/Scripts/Export/MeshDataProxy.cs b/Runtime/Scripts/Export/MeshDataProxy.cs index e9a771449..069a12c62 100644 --- a/Runtime/Scripts/Export/MeshDataProxy.cs +++ b/Runtime/Scripts/Export/MeshDataProxy.cs @@ -14,7 +14,7 @@ namespace GLTFast.Export { - class MeshDataProxy : IMeshData where TIndex : struct + class MeshDataProxy : IMeshData where TIndex : unmanaged { Mesh.MeshData m_MeshData; diff --git a/Runtime/Scripts/Export/NonReadableMeshData.cs b/Runtime/Scripts/Export/NonReadableMeshData.cs index 3f8b344ba..996a4f3b9 100644 --- a/Runtime/Scripts/Export/NonReadableMeshData.cs +++ b/Runtime/Scripts/Export/NonReadableMeshData.cs @@ -17,7 +17,7 @@ namespace GLTFast.Export { - class NonReadableMeshData : IMeshData where TIndex : struct + class NonReadableMeshData : IMeshData where TIndex : unmanaged { Mesh m_Mesh; diff --git a/Runtime/Scripts/Export/glTFast.Export.asmdef b/Runtime/Scripts/Export/glTFast.Export.asmdef index e2f8847ff..363cba1c7 100644 --- a/Runtime/Scripts/Export/glTFast.Export.asmdef +++ b/Runtime/Scripts/Export/glTFast.Export.asmdef @@ -46,7 +46,7 @@ { "name": "com.unity.cloud.draco", "expression": "5.0.0-pre.1", - "define": "DRACO_UNITY" + "define": "DRACO_IS_INSTALLED" }, { "name": "com.unity.shadergraph", diff --git a/Runtime/Scripts/GltfImport.cs b/Runtime/Scripts/GltfImport.cs index ca67a86cf..2dbf62b31 100755 --- a/Runtime/Scripts/GltfImport.cs +++ b/Runtime/Scripts/GltfImport.cs @@ -5,12 +5,18 @@ #define GLTFAST_THREADS #endif -#if KTX_UNITY_2_2_OR_NEWER || (!UNITY_2021_2_OR_NEWER && KTX_UNITY_1_3_OR_NEWER) -#define KTX -#elif KTX_UNITY +#if KTX_IS_RECENT +#define KTX_IS_ENABLED +#elif KTX_IS_INSTALLED #warning You have to update *KTX for Unity* to enable support for KTX textures in glTFast #endif +#if DRACO_IS_RECENT +#define DRACO_IS_ENABLED +#elif DRACO_IS_INSTALLED +#warning You have to update the *Draco for Unity* package to enable support for decompressing Draco meshes in glTFast. +#endif + // #define MEASURE_TIMINGS using System.Collections.Generic; @@ -27,7 +33,7 @@ #if MEASURE_TIMINGS using GLTFast.Tests; #endif -#if KTX +#if KTX_IS_ENABLED using KtxUnity; #endif #if MESHOPT @@ -146,12 +152,12 @@ public abstract class GltfImportBase : IGltfReadable, IGltfBuffers, IDisposable const string k_PrimitiveName = "Primitive"; static readonly HashSet k_SupportedExtensions = new HashSet { -#if DRACO_UNITY +#if DRACO_IS_ENABLED ExtensionName.DracoMeshCompression, #endif -#if KTX +#if KTX_IS_ENABLED ExtensionName.TextureBasisUniversal, -#endif // KTX_UNITY +#endif // KTX_IS_ENABLED #if MESHOPT ExtensionName.MeshoptCompression, #endif @@ -182,13 +188,13 @@ public abstract class GltfImportBase : IGltfReadable, IGltfBuffers, IDisposable ImportSettings m_Settings; - NativeArray.ReadOnly[] m_Buffers; + ReadOnlyNativeArray[] m_Buffers; List m_VolatileDisposables; GlbBinChunk[] m_BinChunks; Dictionary> m_DownloadTasks; -#if KTX +#if KTX_IS_ENABLED Dictionary> m_KtxDownloadTasks; #endif Dictionary m_TextureDownloadTasks; @@ -200,9 +206,9 @@ public abstract class GltfImportBase : IGltfReadable, IGltfBuffers, IDisposable List m_MeshOrders; List m_ImageCreateContexts; -#if KTX +#if KTX_IS_ENABLED List m_KtxLoadContextsBuffer; -#endif // KTX_UNITY +#endif // KTX_IS_ENABLED /// @@ -219,7 +225,7 @@ public abstract class GltfImportBase : IGltfReadable, IGltfBuffers, IDisposable /// Texture2D[] m_Textures; -#if KTX +#if KTX_IS_ENABLED HashSet m_NonFlippedYTextureIndices; #endif ImageFormat[] m_ImageFormats; @@ -433,11 +439,11 @@ public async Task Load( CancellationToken cancellationToken = default ) { - var managedNativeArray = new ManagedNativeArray(data); + var managedNativeArray = new ReadOnlyNativeArrayFromManagedArray(data); m_VolatileDisposables ??= new List(); m_VolatileDisposables.Add(managedNativeArray); return await Load( - managedNativeArray.nativeArray.AsReadOnly(), + managedNativeArray.Array.AsNativeArrayReadOnly(), uri, importSettings, cancellationToken @@ -920,7 +926,7 @@ public Texture2D GetTexture(int index = 0) /// public bool IsTextureYFlipped(int index = 0) { -#if KTX +#if KTX_IS_ENABLED return (m_NonFlippedYTextureIndices == null || !m_NonFlippedYTextureIndices.Contains(index)) && GetSourceTexture(index).IsKtx; #else return false; @@ -1124,13 +1130,14 @@ public Matrix4x4[] GetBindPoses(int skinId) } /// - [Obsolete("Use GetAccessorData instead.")] + [Obsolete("This is going to be removed and replaced with an improved way to access accessors' data in a future release.")] public NativeSlice GetAccessor(int accessorIndex) { return GetAccessorData(accessorIndex); } /// + [Obsolete("This is going to be removed and replaced with an improved way to access accessors' data in a future release.")] public NativeSlice GetAccessorData(int accessorIndex) { if (Root?.Accessors == null || accessorIndex < 0 || accessorIndex >= Root?.Accessors.Count) @@ -1138,19 +1145,12 @@ public NativeSlice GetAccessorData(int accessorIndex) return new NativeSlice(); } var accessor = Root.Accessors[accessorIndex]; - return ((IGltfBuffers)this).GetBufferView(accessor.bufferView, out _, accessor.byteOffset, accessor.ByteSize); - } - - /// - void IGltfBuffers.GetAccessorDataAndByteStride(int index, out NativeSlice data, out int byteStride) - { - if (Root?.Accessors == null || index < 0 || index >= Root?.Accessors.Count) - { - data = new NativeSlice(); - byteStride = 0; - } - var accessor = Root.Accessors[index]; - data = ((IGltfBuffers)this).GetBufferView(accessor.bufferView, out byteStride, accessor.byteOffset, accessor.ByteSize); + return ((IGltfBuffers)this).GetBufferView( + accessor.bufferView, + out _, + accessor.byteOffset, + accessor.ByteSize + ).ToSlice(); } /// @@ -1188,9 +1188,9 @@ async Task LoadFromUri(Uri url, CancellationToken cancellationToken) } else { - var managedNativeArray = new ManagedNativeArray(download.Data); + var managedNativeArray = new ReadOnlyNativeArrayFromManagedArray(download.Data); m_VolatileDisposables.Add(managedNativeArray); - data = managedNativeArray.nativeArray.AsReadOnly(); + data = managedNativeArray.Array.AsNativeArrayReadOnly(); } m_VolatileDisposables.Add(download); success = await LoadGltfBinaryBuffer(data, url); @@ -1251,12 +1251,12 @@ async Task LoadContent() m_TextureDownloadTasks.Clear(); } -#if KTX +#if KTX_IS_ENABLED if (m_KtxDownloadTasks != null) { success = success && await WaitForKtxDownloads(); m_KtxDownloadTasks.Clear(); } -#endif // KTX_UNITY +#endif // KTX_IS_ENABLED return success; } @@ -1305,7 +1305,7 @@ async Task ParseJsonAndLoadBuffers(string json, Uri baseUri) var bufferCount = Root.Buffers.Count; if (bufferCount > 0) { - m_Buffers = new NativeArray.ReadOnly[bufferCount]; + m_Buffers = new ReadOnlyNativeArray[bufferCount]; m_BinChunks = new GlbBinChunk[bufferCount]; } @@ -1325,10 +1325,10 @@ async Task ParseJsonAndLoadBuffers(string json, Uri baseUri) Logger?.Error(LogCode.EmbedBufferLoadFailed); return false; } - var decodedNativeBuffer = new ManagedNativeArray(decodedBuffer.Item1); + var decodedNativeBuffer = new ReadOnlyNativeArrayFromManagedArray(decodedBuffer.Item1); m_VolatileDisposables ??= new List(); m_VolatileDisposables.Add(decodedNativeBuffer); - m_Buffers[i] = decodedNativeBuffer.nativeArray.AsReadOnly(); + m_Buffers[i] = decodedNativeBuffer.Array; } else { @@ -1376,7 +1376,7 @@ bool CheckExtensionSupport(IEnumerable extensions, bool required = true) } if (!supported) { -#if !DRACO_UNITY +#if !DRACO_IS_ENABLED if (ext == ExtensionName.DracoMeshCompression) { Logger?.Log( @@ -1400,7 +1400,7 @@ bool CheckExtensionSupport(IEnumerable extensions, bool required = true) } else #endif -#if !KTX_UNITY +#if !KTX_IS_ENABLED if (ext == ExtensionName.TextureBasisUniversal) { Logger?.Log( @@ -1483,7 +1483,7 @@ void SetImageGamma(TextureInfoBase txtInfo) } } -#if KTX +#if KTX_IS_ENABLED // Derive image type from texture extension for (int i = 0; i < Root.Textures.Count; i++) { var texture = Root.Textures[i]; @@ -1492,7 +1492,7 @@ void SetImageGamma(TextureInfoBase txtInfo) m_ImageFormats[imgIndex] = ImageFormat.Ktx; } } -#endif // KTX_UNITY +#endif // KTX_IS_ENABLED // Determine which images need to be readable, because they // are applied using different samplers. @@ -1643,20 +1643,20 @@ async Task WaitForBufferDownloads() Profiler.BeginSample("GetData"); m_VolatileDisposables ??= new List(); - NativeArray.ReadOnly data; if (download is INativeDownload nativeDownload) { - data = nativeDownload.NativeData; + var wrapper = new ReadOnlyNativeArrayFromNativeArray(nativeDownload.NativeData); + m_Buffers[downloadPair.Key] = wrapper.Array; } else { - var managedNativeArray = new ManagedNativeArray(download.Data); - m_VolatileDisposables.Add(managedNativeArray); - data = managedNativeArray.nativeArray.AsReadOnly(); + var wrapper = new ReadOnlyNativeArrayFromManagedArray(download.Data); + m_Buffers[downloadPair.Key] = wrapper.Array; + m_VolatileDisposables.Add(wrapper); } m_VolatileDisposables.Add(download); - m_Buffers[downloadPair.Key] = data; + Profiler.EndSample(); } else @@ -1747,7 +1747,7 @@ async Task WaitForTextureDownloads() } -#if KTX +#if KTX_IS_ENABLED async Task WaitForKtxDownloads() { var tasks = new Task[m_KtxDownloadTasks.Count]; var i = 0; @@ -1772,10 +1772,10 @@ async Task ProcessKtxDownload(int imageIndex, Task downloadTask } else { - var managedNativeArray = new ManagedNativeArray(www.Data); + var managedNativeArray = new ReadOnlyNativeArrayFromManagedArray(www.Data); m_VolatileDisposables ??= new List(); m_VolatileDisposables.Add(managedNativeArray); - data = managedNativeArray.nativeArray.AsReadOnly(); + data = managedNativeArray.Array.AsNativeArrayReadOnly(); } var ktxContext = new KtxLoadContext(imageIndex,data); var forceSampleLinear = m_ImageGamma!=null && !m_ImageGamma[imageIndex]; @@ -1796,7 +1796,7 @@ async Task ProcessKtxDownload(int imageIndex, Task downloadTask www.Dispose(); return false; } -#endif // KTX_UNITY +#endif // KTX_IS_ENABLED void LoadBuffer(int index, Uri url) { @@ -1866,7 +1866,7 @@ void LoadImage(int imageIndex, Uri url, bool nonReadable, bool isKtx) if (isKtx) { -#if KTX +#if KTX_IS_ENABLED var downloadTask = m_DownloadProvider.Request(url); if(m_KtxDownloadTasks==null) { m_KtxDownloadTasks = new Dictionary>(); @@ -1876,7 +1876,7 @@ void LoadImage(int imageIndex, Uri url, bool nonReadable, bool isKtx) Logger?.Error(LogCode.PackageMissing, "KTX for Unity", ExtensionName.TextureBasisUniversal); Profiler.EndSample(); return; -#endif // KTX_UNITY +#endif // KTX_IS_ENABLED } else { @@ -2006,40 +2006,130 @@ async Task LoadGltfBinaryBuffer(NativeArray.ReadOnly bytes, Uri uri if (m_GlbBinChunk.HasValue && m_BinChunks != null) { m_BinChunks[0] = m_GlbBinChunk.Value; - m_Buffers[0] = bytes; + var wrapper = new ReadOnlyNativeArrayFromNativeArray(bytes); + m_Buffers[0] = wrapper.Array; } await LoadImages(baseUri); return true; } - NativeArray.ReadOnly GetBuffer(int index) + ReadOnlyNativeArray GetBuffer(int index) { return m_Buffers[index]; } - NativeSlice IGltfBuffers.GetBufferView(int bufferViewIndex, out int byteStride, int offset, int length) + ReadOnlyNativeArray IGltfBuffers.GetBufferView(int bufferViewIndex, out int byteStride, int offset, int length) { var bufferView = Root.BufferViews[bufferViewIndex]; #if MESHOPT if (bufferView.Extensions?.EXT_meshopt_compression != null) { byteStride = bufferView.Extensions.EXT_meshopt_compression.byteStride; - var fullSlice = m_MeshoptBufferViews[bufferViewIndex]; + var entireBuffer = m_MeshoptBufferViews[bufferViewIndex]; if (offset == 0 && length <= 0) { - return fullSlice; + return new ReadOnlyNativeArray(entireBuffer); } Assert.IsTrue(offset >= 0); if (length <= 0) { - length = fullSlice.Length - offset; + length = entireBuffer.Length - offset; } - Assert.IsTrue(offset+length <= fullSlice.Length); - return new NativeSlice(fullSlice,offset,length); + Assert.IsTrue(offset+length <= entireBuffer.Length); + return new ReadOnlyNativeArray(entireBuffer.GetSubArray(offset,length)); } #endif byteStride = bufferView.byteStride; - return GetBufferViewSlice(bufferView, offset, length); + return GetBufferView(bufferView, offset, length); + } + + + ReadOnlyNativeArray IGltfBuffers.GetAccessorData( + int bufferViewIndex, + int count, + int offset + ) + { + var bufferView = Root.BufferViews[bufferViewIndex]; +#if MESHOPT + if (bufferView.Extensions?.EXT_meshopt_compression != null) { + var fullSlice = m_MeshoptBufferViews[bufferViewIndex]; + if (offset == 0 && (count <= 0 || count * UnsafeUtility.SizeOf(typeof(T)) == fullSlice.Length)) { + return new ReadOnlyNativeArray(fullSlice).Reinterpret(); + } + Assert.IsTrue(offset >= 0); + Assert.IsTrue(count > 0); + Assert.IsTrue(offset + count * UnsafeUtility.SizeOf(typeof(T)) <= fullSlice.Length); + return new ReadOnlyNativeArray(fullSlice).GetSubArray(offset,count).Reinterpret(); + } +#endif + return GetAccessorData(bufferView, count, offset); + } + + ReadOnlyNativeStridedArray IGltfBuffers.GetStridedAccessorData( + int bufferViewIndex, + int count, + int offset + ) + { + var bufferView = Root.BufferViews[bufferViewIndex]; +#if MESHOPT + if (bufferView.Extensions?.EXT_meshopt_compression != null) { + unsafe + { + var fullSlice = m_MeshoptBufferViews[bufferViewIndex]; +#if ENABLE_UNITY_COLLECTIONS_CHECKS + var safety = NativeArrayUnsafeUtility.GetAtomicSafetyHandle(fullSlice); +#endif + return new ReadOnlyNativeStridedArray( + fullSlice.GetUnsafeReadOnlyPtr(), + fullSlice.Length, + offset, + count, + bufferView.byteStride +#if ENABLE_UNITY_COLLECTIONS_CHECKS + ,ref safety +#endif + ); + } + } +#endif + return GetStridedAccessorData(bufferView, count, offset); } - NativeSlice GetBufferViewSlice( + ReadOnlyNativeArray GetAccessorData( + IBufferView bufferView, + int count, + int offset = 0 + ) where T : unmanaged + { + Assert.IsTrue(offset >= 0); + var bufferIndex = bufferView.Buffer; + Assert.IsNotNull(m_Buffers); + Assert.IsTrue(bufferIndex < m_Buffers.Length); + Assert.IsTrue(m_Buffers[bufferIndex].IsCreated); + var chunk = m_BinChunks[bufferIndex]; + var totalOffset = chunk.Start + bufferView.ByteOffset + offset; + Assert.IsTrue(bufferView.ByteOffset + offset <= chunk.Length); + return m_Buffers[bufferIndex].GetSubArray(totalOffset, count * UnsafeUtility.SizeOf()).Reinterpret(); + } + + ReadOnlyNativeStridedArray GetStridedAccessorData( + IBufferView bufferView, + int count, + int offset = 0 + ) where T : unmanaged + { + Assert.IsTrue(offset >= 0); + var bufferIndex = bufferView.Buffer; + Assert.IsNotNull(m_Buffers); + Assert.IsTrue(bufferIndex < m_Buffers.Length); + Assert.IsTrue(m_Buffers[bufferIndex].IsCreated); + var chunk = m_BinChunks[bufferIndex]; + var totalOffset = chunk.Start + bufferView.ByteOffset + offset; + Assert.IsTrue(bufferView.ByteOffset + offset <= chunk.Length); + var byteStride = bufferView.ByteStride > 0 ? bufferView.ByteStride : UnsafeUtility.SizeOf(typeof(T)); + return m_Buffers[bufferIndex].ToStrided(totalOffset, count, byteStride); + } + + ReadOnlyNativeArray GetBufferView( IBufferView bufferView, int offset = 0, int length = 0 @@ -2062,7 +2152,7 @@ NativeSlice GetBufferViewSlice( var totalOffset = chunk.Start + bufferView.ByteOffset + offset; Assert.IsTrue(bufferView.ByteOffset + offset <= chunk.Length); Assert.IsTrue(totalOffset + length <= nativeBuffer.Length); - return m_Buffers[bufferIndex].Slice(totalOffset, length); + return m_Buffers[bufferIndex].GetSubArray(totalOffset, length); } #if MESHOPT @@ -2081,14 +2171,14 @@ void MeshoptDecode() { var arr = new NativeArray(meshopt.count * meshopt.byteStride, Allocator.Persistent); - var origBufferView = GetBufferViewSlice(meshopt); + var origBufferView = GetBufferView(meshopt); var jobHandle = Decode.DecodeGltfBuffer( new NativeSlice(m_MeshoptReturnValues,i,1), arr, meshopt.count, meshopt.byteStride, - origBufferView, + origBufferView.ToSlice(), meshopt.GetMode(), meshopt.GetFilter() ); @@ -2138,7 +2228,7 @@ async Task Prepare() Assert.AreEqual(m_Images.Length, Root.Images.Count); } m_ImageCreateContexts = new List(); -#if KTX +#if KTX_IS_ENABLED await #endif CreateTexturesFromBuffers(Root.Images, Root.BufferViews, m_ImageCreateContexts); @@ -2167,11 +2257,11 @@ async Task Prepare() } if (!success) return success; -#if KTX +#if KTX_IS_ENABLED if(m_KtxLoadContextsBuffer!=null) { await ProcessKtxLoadContexts(); } -#endif // KTX_UNITY +#endif // KTX_IS_ENABLED if (m_ImageCreateContexts != null) { @@ -2278,17 +2368,17 @@ void CreateAnimationClips(int[] parentIndex) switch (channel.Target.GetPath()) { case AnimationChannelBase.Path.Translation: { - var values = CastOrCreateTypedBuffer(outputData, times.Length, interpolationType); + var values = CastOrCreateTypedBuffer(outputData, times.Length, interpolationType); AnimationUtils.AddTranslationCurves(m_AnimationClips[i], path, times, values, interpolationType); break; } case AnimationChannelBase.Path.Rotation: { - var values = CastOrCreateTypedBuffer(outputData, times.Length, interpolationType); + var values = CastOrCreateTypedBuffer(outputData, times.Length, interpolationType); AnimationUtils.AddRotationCurves(m_AnimationClips[i], path, times, values, interpolationType); break; } case AnimationChannelBase.Path.Scale: { - var values = CastOrCreateTypedBuffer(outputData, times.Length, interpolationType); + var values = CastOrCreateTypedBuffer(outputData, times.Length, interpolationType); AnimationUtils.AddScaleCurves(m_AnimationClips[i], path, times, values, interpolationType); break; } @@ -2353,7 +2443,7 @@ void CreateAnimationClips(int[] parentIndex) /// the resulting length of the output if the input was unavailable. /// The expected type of the buffer. /// A . - static NativeArray CastOrCreateTypedBuffer(IDisposable input, int expectedLength, InterpolationType interpolationType) where T : struct + static NativeArray CastOrCreateTypedBuffer(IDisposable input, int expectedLength, InterpolationType interpolationType) where T : unmanaged { if (input is null) { @@ -2838,19 +2928,19 @@ void PopulateHierarchy(uint nodeIndex, uint? parentIndex) if (hasTranslations) { - positions = (NativeArray)m_AccessorData[meshInstancing.attributes.TRANSLATION]; + positions = ((NativeArray)m_AccessorData[meshInstancing.attributes.TRANSLATION]).Reinterpret(); instanceCount = (uint)positions.Value.Length; } if (hasRotations) { - rotations = (NativeArray)m_AccessorData[meshInstancing.attributes.ROTATION]; + rotations = ((NativeArray)m_AccessorData[meshInstancing.attributes.ROTATION]).Reinterpret(); instanceCount = (uint)rotations.Value.Length; } if (hasScales) { - scales = (NativeArray)m_AccessorData[meshInstancing.attributes.SCALE]; + scales = ((NativeArray)m_AccessorData[meshInstancing.attributes.SCALE]).Reinterpret(); instanceCount = (uint)scales.Value.Length; } @@ -3020,36 +3110,7 @@ int[] GetMaterialIndices(int meshIndex, IReadOnlyList primitiveIndices) return result; } - /// - /// Reinterprets a NativeSlice<byte> to another type of NativeArray. - /// TODO: Remove once Unity.Collections supports this for NativeSlice (NativeArray only atm) - /// - /// - /// Target type element count - /// Byte offset into the slice - /// Target type - /// - static unsafe NativeArray Reinterpret(NativeSlice slice, int count, int offset = 0) where T : struct - { - var address = (byte*)slice.GetUnsafeReadOnlyPtr(); - var result = NativeArrayUnsafeUtility.ConvertExistingDataToNativeArray(address + offset, count, Allocator.None); -#if ENABLE_UNITY_COLLECTIONS_CHECKS - var safetyHandle = AtomicSafetyHandle.Create(); - NativeArrayUnsafeUtility.SetAtomicSafetyHandle(array: ref result, safetyHandle); -#endif - return result; - } - - [Conditional("ENABLE_UNITY_COLLECTIONS_CHECKS")] - static void ReleaseReinterpret(NativeArray array) where T : struct - { -#if ENABLE_UNITY_COLLECTIONS_CHECKS - var safetyHandle = NativeArrayUnsafeUtility.GetAtomicSafetyHandle(array); - AtomicSafetyHandle.Release(safetyHandle); -#endif - } - -#if KTX +#if KTX_IS_ENABLED async Task #else void @@ -3086,18 +3147,19 @@ ICollection contexts if (imgFormat == ImageFormat.Ktx) { -#if KTX +#if KTX_IS_ENABLED Profiler.BeginSample("CreateTexturesFromBuffers.KtxLoadNativeContext"); if(m_KtxLoadContextsBuffer==null) { m_KtxLoadContextsBuffer = new List(); } - var ktxContext = new KtxLoadNativeContext(i,((IGltfBuffers)this).GetBufferView(img.bufferView, out _)); + var ktxContext = new KtxLoadNativeContext( + i,((IGltfBuffers)this).GetBufferView(img.bufferView, out _)); m_KtxLoadContextsBuffer.Add(ktxContext); Profiler.EndSample(); await DeferAgent.BreakPoint(); #else Logger?.Error(LogCode.PackageMissing, "KTX for Unity", ExtensionName.TextureBasisUniversal); -#endif // KTX_UNITY +#endif // KTX_IS_ENABLED } else { @@ -3129,7 +3191,7 @@ ICollection contexts static unsafe MemCopyJob CreateMemCopyJob( BufferViewBase bufferView, - NativeArray.ReadOnly buffer, + ReadOnlyNativeArray nativeArray, GlbBinChunk chunk, ImageCreateContext icc ) @@ -3137,7 +3199,7 @@ ImageCreateContext icc var job = new MemCopyJob { bufferSize = bufferView.byteLength, - input = (byte*)buffer.GetUnsafeReadOnlyPtr() + (bufferView.byteOffset + chunk.Start) + input = (byte*)nativeArray.GetUnsafeReadOnlyPtr() + (bufferView.byteOffset + chunk.Start) }; fixed (void* dst = &(icc.buffer[0])) { @@ -3229,13 +3291,13 @@ async Task LoadAccessorData() var mesh = Root.Meshes[meshIndex]; // TODO: Optimized path for single primitive meshes! var clusteredPrimitives = new Dictionary(); -#if DRACO_UNITY +#if DRACO_IS_ENABLED var singlePrimitives = new List(); #endif for (var primIndex = 0; primIndex < mesh.Primitives.Count; primIndex++) { var primitive = mesh.Primitives[primIndex]; -#if DRACO_UNITY +#if DRACO_IS_ENABLED var isDraco = primitive.IsDracoCompressed; if (isDraco) { @@ -3255,7 +3317,7 @@ async Task LoadAccessorData() if (primitive.indices >= 0) { AccessorUsage usage; -#if DRACO_UNITY +#if DRACO_IS_ENABLED if (isDraco) { usage = AccessorUsage.Ignore; @@ -3323,7 +3385,7 @@ out var primitives meshNumeration++; } -#if DRACO_UNITY +#if DRACO_IS_ENABLED foreach (var primitiveSingle in singlePrimitives) { #if DEBUG @@ -3365,7 +3427,7 @@ out _ #endif meshAssignmentCounter += clusteredPrimitives.Count; -#if DRACO_UNITY +#if DRACO_IS_ENABLED meshAssignmentCounter += singlePrimitives.Count; #endif meshAssignmentIndices[meshIndex + 1] = meshAssignmentCounter; @@ -3467,34 +3529,34 @@ out _ switch (acc.GetAttributeType()) { case GltfAccessorAttributeType.MAT4 when m_AccessorUsage[i] == AccessorUsage.InverseBindMatrix: - { - // TODO: Maybe use Matrix4x4[], since Mesh.bindposes only accepts C# arrays. - GetMatricesJob(i, out var matrices, out var jh); - tmpList.Add(jh.Value); - m_AccessorData[i] = matrices; - break; - } + { + // TODO: Maybe use Matrix4x4[], since Mesh.bindposes only accepts C# arrays. + GetMatricesJob(i, out var matrices, out var jh); + tmpList.Add(jh.Value); + m_AccessorData[i] = matrices; + break; + } case GltfAccessorAttributeType.VEC3 when (m_AccessorUsage[i] & AccessorUsage.Translation) != 0: - { - GetVector3Job(i, out var data, out var jh, true); - tmpList.Add(jh.Value); - m_AccessorData[i] = data; - break; - } + { + GetVector3Job(i, out var data, out var jh, true); + tmpList.Add(jh.Value); + m_AccessorData[i] = data; + break; + } case GltfAccessorAttributeType.VEC4 when (m_AccessorUsage[i] & AccessorUsage.Rotation) != 0: - { - GetVector4Job(i, out var data, out var jh); - tmpList.Add(jh.Value); - m_AccessorData[i] = data; - break; - } + { + GetVector4Job(i, out var data, out var jh); + tmpList.Add(jh.Value); + m_AccessorData[i] = data; + break; + } case GltfAccessorAttributeType.VEC3 when (m_AccessorUsage[i] & AccessorUsage.Scale) != 0: - { - GetVector3Job(i, out var data, out var jh, false); - tmpList.Add(jh.Value); - m_AccessorData[i] = data; - break; - } + { + GetVector3Job(i, out var data, out var jh, false); + tmpList.Add(jh.Value); + m_AccessorData[i] = data; + break; + } #if UNITY_ANIMATION case GltfAccessorAttributeType.SCALAR when m_AccessorUsage[i]==AccessorUsage.AnimationTimes || m_AccessorUsage[i]==AccessorUsage.Weight: { @@ -3597,7 +3659,7 @@ out MeshPrimitiveBase[] primitives MeshGeneratorBase generator; primitiveSet.BuildAndDispose(out primIndexArray, out primitives, out var subMeshes); var meshSubset = new MeshSubset(meshIndex, meshNumeration, primIndexArray); -#if DRACO_UNITY +#if DRACO_IS_ENABLED if (primitives[0].IsDracoCompressed) { generator = new DracoMeshGenerator(primitives, subMeshes, morphTargetNames, mesh.name, this); @@ -3634,7 +3696,9 @@ async Task AssignAllAccessorData() var skin = Root.Skins[s]; if (skin.inverseBindMatrices >= 0) { - m_SkinsInverseBindMatrices[s] = ((NativeArray)m_AccessorData[skin.inverseBindMatrices]).ToArray(); + m_SkinsInverseBindMatrices[s] = + ((NativeArray)m_AccessorData[skin.inverseBindMatrices]) + .Reinterpret().ToArray(); } Profiler.EndSample(); await DeferAgent.BreakPoint(); @@ -3642,15 +3706,20 @@ async Task AssignAllAccessorData() } } - unsafe void GetMatricesJob(int accessorIndex, out NativeArray matrices, out JobHandle? jobHandle) + void GetMatricesJob(int accessorIndex, out NativeArray matrices, out JobHandle? jobHandle) { Profiler.BeginSample("GetMatricesJob"); // index var accessor = Root.Accessors[accessorIndex]; - var bufferView = ((IGltfBuffers)this).GetBufferView(accessor.bufferView, out _, accessor.byteOffset); + var accessorData = ((IGltfBuffers)this).GetBufferView( + accessor.bufferView, + out _, + accessor.byteOffset, + accessor.ByteSize + ); Profiler.BeginSample("Alloc"); - matrices = new NativeArray(accessor.count, Allocator.Persistent); + matrices = new NativeArray(accessor.count, Allocator.Persistent); Profiler.EndSample(); Assert.AreEqual(accessor.GetAttributeType(), GltfAccessorAttributeType.MAT4); @@ -3666,8 +3735,8 @@ unsafe void GetMatricesJob(int accessorIndex, out NativeArray matrice case GltfComponentType.Float: var job32 = new ConvertMatricesJob { - input = (float4x4*)bufferView.GetUnsafeReadOnlyPtr(), - result = (float4x4*)matrices.GetUnsafePtr() + input = accessorData.Reinterpret().AsNativeArrayReadOnly(), + result = matrices }; jobHandle = job32.Schedule(accessor.count, DefaultBatchCount); break; @@ -3680,14 +3749,13 @@ unsafe void GetMatricesJob(int accessorIndex, out NativeArray matrice Profiler.EndSample(); } - unsafe void GetVector3Job(int accessorIndex, out NativeArray vectors, out JobHandle? jobHandle, bool flip) + unsafe void GetVector3Job(int accessorIndex, out NativeArray vectors, out JobHandle? jobHandle, bool flip) { Profiler.BeginSample("GetVector3Job"); var accessor = Root.Accessors[accessorIndex]; - var bufferView = ((IGltfBuffers)this).GetBufferView(accessor.bufferView, out _, accessor.byteOffset); Profiler.BeginSample("Alloc"); - vectors = new NativeArray(accessor.count, Allocator.Persistent); + vectors = new NativeArray(accessor.count, Allocator.Persistent); Profiler.EndSample(); Assert.AreEqual(accessor.GetAttributeType(), GltfAccessorAttributeType.VEC3); @@ -3700,28 +3768,38 @@ unsafe void GetVector3Job(int accessorIndex, out NativeArray vectors, o switch (accessor.componentType) { case GltfComponentType.Float: + { + if (flip) { - if (flip) + var accessorData = ((IGltfBuffers)this).GetStridedAccessorData( + accessor.bufferView, + accessor.count, + accessor.byteOffset + ); + var job = new ConvertVector3FloatToFloatJob { - var job = new ConvertVector3FloatToFloatJob - { - input = (float3*)bufferView.GetUnsafeReadOnlyPtr(), - result = (float3*)vectors.GetUnsafePtr() - }; - jobHandle = job.Schedule(accessor.count, DefaultBatchCount); - } - else + input = accessorData, + result = vectors + }; + jobHandle = job.Schedule(accessor.count, DefaultBatchCount); + } + else + { + var accessorData = ((IGltfBuffers)this).GetAccessorData( + accessor.bufferView, + accessor.count, + accessor.byteOffset + ); + var job = new MemCopyJob { - var job = new MemCopyJob - { - input = (float*)bufferView.GetUnsafeReadOnlyPtr(), - bufferSize = accessor.count * 12, - result = (float*)vectors.GetUnsafePtr() - }; - jobHandle = job.Schedule(); - } - break; + input = (float*)accessorData.GetUnsafeReadOnlyPtr(), + bufferSize = accessor.count * 12, + result = (float*)vectors.GetUnsafePtr() + }; + jobHandle = job.Schedule(); } + break; + } default: Logger?.Error(LogCode.IndexFormatInvalid, accessor.componentType.ToString()); jobHandle = null; @@ -3731,15 +3809,20 @@ unsafe void GetVector3Job(int accessorIndex, out NativeArray vectors, o Profiler.EndSample(); } - unsafe void GetVector4Job(int accessorIndex, out NativeArray vectors, out JobHandle? jobHandle) + void GetVector4Job(int accessorIndex, out NativeArray vectors, out JobHandle? jobHandle) { Profiler.BeginSample("GetVector4Job"); // index var accessor = Root.Accessors[accessorIndex]; - var bufferView = ((IGltfBuffers)this).GetBufferView(accessor.bufferView, out _, accessor.byteOffset); + var accessorData = ((IGltfBuffers)this).GetBufferView( + accessor.bufferView, + out _, + accessor.byteOffset, + accessor.ByteSize + ); Profiler.BeginSample("Alloc"); - vectors = new NativeArray(accessor.count, Allocator.Persistent); + vectors = new NativeArray(accessor.count, Allocator.Persistent); Profiler.EndSample(); Assert.AreEqual(accessor.GetAttributeType(), GltfAccessorAttributeType.VEC4); @@ -3752,35 +3835,35 @@ unsafe void GetVector4Job(int accessorIndex, out NativeArray vectors switch (accessor.componentType) { case GltfComponentType.Float: + { + var job = new ConvertRotationsFloatToFloatJob { - var job = new ConvertRotationsFloatToFloatJob - { - input = (float4*)bufferView.GetUnsafeReadOnlyPtr(), - result = (float4*)vectors.GetUnsafePtr() - }; - jobHandle = job.Schedule(accessor.count, DefaultBatchCount); - break; - } + input = accessorData.Reinterpret().AsNativeArrayReadOnly(), + result = vectors + }; + jobHandle = job.Schedule(accessor.count, DefaultBatchCount); + break; + } case GltfComponentType.Short: + { + var job = new ConvertRotationsInt16ToFloatJob { - var job = new ConvertRotationsInt16ToFloatJob - { - input = (short*)bufferView.GetUnsafeReadOnlyPtr(), - result = (float*)vectors.GetUnsafePtr() - }; - jobHandle = job.Schedule(accessor.count, DefaultBatchCount); - break; - } + input = accessorData.Reinterpret().AsNativeArrayReadOnly(), + result = vectors + }; + jobHandle = job.Schedule(accessor.count, DefaultBatchCount); + break; + } case GltfComponentType.Byte: + { + var job = new ConvertRotationsInt8ToFloatJob { - var job = new ConvertRotationsInt8ToFloatJob - { - input = (sbyte*)bufferView.GetUnsafeReadOnlyPtr(), - result = (float*)vectors.GetUnsafePtr() - }; - jobHandle = job.Schedule(accessor.count, DefaultBatchCount); - break; - } + input = accessorData.Reinterpret().AsNativeArrayReadOnly(), + result = vectors + }; + jobHandle = job.Schedule(accessor.count, DefaultBatchCount); + break; + } default: Logger?.Error(LogCode.IndexFormatInvalid, accessor.componentType.ToString()); jobHandle = null; @@ -3796,7 +3879,12 @@ unsafe void GetScalarJob(int accessorIndex, out NativeArray? scalars, out scalars = null; jobHandle = null; var accessor = Root.Accessors[accessorIndex]; - var buffer = ((IGltfBuffers)this).GetBufferView(accessor.bufferView, out _,accessor.byteOffset); + var accessorData = ((IGltfBuffers)this).GetBufferView( + accessor.bufferView, + out _, + accessor.byteOffset, + accessor.ByteSize + ); Assert.AreEqual(accessor.GetAttributeType(), GltfAccessorAttributeType.SCALAR); if (accessor.IsSparse) { @@ -3805,11 +3893,20 @@ unsafe void GetScalarJob(int accessorIndex, out NativeArray? scalars, out if (accessor.componentType == GltfComponentType.Float) { Profiler.BeginSample("CopyAnimationTimes"); - // TODO: For long animations with lots of times, threading this just like everything else maybe makes sense. - var bufferTimes = Reinterpret(buffer, accessor.count); - // Copy values - scalars = new NativeArray(bufferTimes, Allocator.Persistent); - ReleaseReinterpret(bufferTimes); + var bufferTimes = accessorData + .Reinterpret() + .GetSubArray(0, accessor.count); + scalars = new NativeArray(bufferTimes.Length, Allocator.Persistent); + unsafe + { + var job = new MemCopyJob + { + bufferSize = bufferTimes.Length * sizeof(float), + input = bufferTimes.GetUnsafeReadOnlyPtr(), + result = scalars.Value.GetUnsafePtr() + }; + jobHandle = job.Schedule(); + } Profiler.EndSample(); } else if( accessor.normalized ) { @@ -3820,7 +3917,7 @@ unsafe void GetScalarJob(int accessorIndex, out NativeArray? scalars, out switch( accessor.componentType ) { case GltfComponentType.Byte: { var job = new ConvertScalarInt8ToFloatNormalizedJob { - input = (sbyte*)buffer.GetUnsafeReadOnlyPtr(), + input = accessorData.Reinterpret().AsNativeArrayReadOnly(), result = scalars.Value }; jobHandle = job.Schedule(accessor.count,DefaultBatchCount); @@ -3828,7 +3925,7 @@ unsafe void GetScalarJob(int accessorIndex, out NativeArray? scalars, out } case GltfComponentType.UnsignedByte: { var job = new ConvertScalarUInt8ToFloatNormalizedJob { - input = (byte*)buffer.GetUnsafeReadOnlyPtr(), + input = accessorData.Reinterpret().AsNativeArrayReadOnly(), result = scalars.Value }; jobHandle = job.Schedule(accessor.count,DefaultBatchCount); @@ -3836,7 +3933,7 @@ unsafe void GetScalarJob(int accessorIndex, out NativeArray? scalars, out } case GltfComponentType.Short: { var job = new ConvertScalarInt16ToFloatNormalizedJob { - input = (short*) ((byte*)buffer.GetUnsafeReadOnlyPtr()), + input = accessorData.Reinterpret().AsNativeArrayReadOnly(), result = scalars.Value }; jobHandle = job.Schedule(accessor.count,DefaultBatchCount); @@ -3844,7 +3941,7 @@ unsafe void GetScalarJob(int accessorIndex, out NativeArray? scalars, out } case GltfComponentType.UnsignedShort: { var job = new ConvertScalarUInt16ToFloatNormalizedJob { - input = (ushort*) ((byte*)buffer.GetUnsafeReadOnlyPtr()), + input = accessorData.Reinterpret().AsNativeArrayReadOnly(), result = scalars.Value }; jobHandle = job.Schedule(accessor.count,DefaultBatchCount); @@ -3971,7 +4068,7 @@ static ImageFormat GetImageFormatFromMimeType(string mimeType) } } -#if KTX +#if KTX_IS_ENABLED struct KtxTranscodeTaskWrapper { public int index; public TextureResult result; @@ -4017,7 +4114,7 @@ async Task ProcessKtxLoadContexts() { m_KtxLoadContextsBuffer.Clear(); } -#endif // KTX +#endif // KTX_IS_ENABLED #if UNITY_EDITOR /// diff --git a/Runtime/Scripts/IGltfBuffers.cs b/Runtime/Scripts/IGltfBuffers.cs index bd81095fc..87ea21e95 100644 --- a/Runtime/Scripts/IGltfBuffers.cs +++ b/Runtime/Scripts/IGltfBuffers.cs @@ -12,10 +12,23 @@ namespace GLTFast interface IGltfBuffers { AccessorBase GetAccessor(int index); - void GetAccessorDataAndByteStride(int index, out NativeSlice data, out int byteStride); unsafe void GetAccessorAndData(int index, out AccessorBase accessor, out void* data, out int byteStride); unsafe void GetAccessorSparseIndices(AccessorSparseIndices sparseIndices, out void* data); unsafe void GetAccessorSparseValues(AccessorSparseValues sparseValues, out void* data); - NativeSlice GetBufferView(int bufferViewIndex, out int byteStride, int offset = 0, int length = 0); + ReadOnlyNativeArray GetBufferView(int bufferViewIndex, out int byteStride, int offset = 0, int length = 0); + + ReadOnlyNativeArray GetAccessorData( + int bufferViewIndex, + int count, + int offset = 0 + ) + where T : unmanaged; + + ReadOnlyNativeStridedArray GetStridedAccessorData( + int bufferViewIndex, + int count, + int offset = 0 + ) + where T : unmanaged; } } diff --git a/Runtime/Scripts/IGltfReadable.cs b/Runtime/Scripts/IGltfReadable.cs index ab9e17297..1a2010d10 100644 --- a/Runtime/Scripts/IGltfReadable.cs +++ b/Runtime/Scripts/IGltfReadable.cs @@ -156,21 +156,22 @@ public interface IGltfReadable : IMaterialProvider /// /// Creates a generic byte-array view into an accessor. - /// Only available during loading phase as underlying buffers are disposed right afterwards. + /// Only available during loading phase as underlying buffers are disposed right afterward. /// /// glTF accessor index /// Valid byte-slice view into accessor's data if parameter was correct and buffers are available. /// Zero-length slice otherwise. - [Obsolete("Use GetAccessorData instead.")] + [Obsolete("This is going to be removed and replaced with an improved way to access accessors' data in a future release.")] NativeSlice GetAccessor(int accessorIndex); /// /// Creates a generic byte-array view into an accessor. - /// Only available during loading phase as underlying buffers are disposed right afterwards. + /// Only available during loading phase as underlying buffers are disposed right afterward. /// /// glTF accessor index /// Valid byte-slice view into accessor's data if parameter was correct and buffers are available. /// Zero-length slice otherwise. + [Obsolete("This is going to be removed and replaced with an improved way to access accessors' data in a future release.")] NativeSlice GetAccessorData(int accessorIndex); } } diff --git a/Runtime/Scripts/Jobs.cs b/Runtime/Scripts/Jobs.cs index 1d3695a80..59c59c858 100644 --- a/Runtime/Scripts/Jobs.cs +++ b/Runtime/Scripts/Jobs.cs @@ -1,7 +1,6 @@ // SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 -using System.Runtime.CompilerServices; using System; using AOT; using GLTFast.Vertex; @@ -418,12 +417,10 @@ public void Execute(int index) } [BurstCompile] - unsafe struct ConvertIndicesUInt8ToInt32Job : IJobParallelFor + struct ConvertIndicesUInt8ToInt32Job : IJobParallelFor { - [ReadOnly] - [NativeDisableUnsafePtrRestriction] - public byte* input; + public NativeArray.ReadOnly input; [WriteOnly] public NativeArray result; @@ -435,52 +432,40 @@ public void Execute(int index) } [BurstCompile] - unsafe struct ConvertIndicesUInt8ToInt32FlippedJob : IJobParallelFor + struct ConvertIndicesUInt8ToInt32FlippedJob : IJobParallelFor { - [ReadOnly] - [NativeDisableUnsafePtrRestriction] - public byte* input; + public NativeArray.ReadOnly input; [WriteOnly] public NativeArray result; public void Execute(int index) { - result[index] = new int3( - input[index * 3], - input[index * 3 + 2], - input[index * 3 + 1] - ); + result[index] = input[index].GltfToUnityTriangleIndies(); } } [BurstCompile] - unsafe struct ConvertIndicesUInt16ToInt32FlippedJob : IJobParallelFor + struct ConvertIndicesUInt16ToInt32FlippedJob : IJobParallelFor { [ReadOnly] - [NativeDisableUnsafePtrRestriction] - public ushort* input; + public NativeArray.ReadOnly input; [WriteOnly] public NativeArray result; public void Execute(int index) { - result[index] = new int3( - input[index * 3], - input[index * 3 + 2], - input[index * 3 + 1] - ); + result[index] = input[index].GltfToUnityTriangleIndies(); } } [BurstCompile] - unsafe struct ConvertIndicesUInt16ToInt32Job : IJobParallelFor + struct ConvertIndicesUInt16ToInt32Job : IJobParallelFor { [ReadOnly] - [NativeDisableUnsafePtrRestriction] - public ushort* input; + public NativeArray.ReadOnly input; [WriteOnly] public NativeArray result; @@ -492,11 +477,10 @@ public void Execute(int index) } [BurstCompile] - unsafe struct ConvertIndicesUInt32ToInt32Job : IJobParallelFor + struct ConvertIndicesUInt32ToInt32Job : IJobParallelFor { [ReadOnly] - [NativeDisableUnsafePtrRestriction] - public uint* input; + public NativeArray.ReadOnly input; [WriteOnly] public NativeArray result; @@ -508,22 +492,18 @@ public void Execute(int index) } [BurstCompile] - unsafe struct ConvertIndicesUInt32ToInt32FlippedJob : IJobParallelFor + struct ConvertIndicesUInt32ToInt32FlippedJob : IJobParallelFor { [ReadOnly] - [NativeDisableUnsafePtrRestriction] - public uint* input; + public NativeArray.ReadOnly input; [WriteOnly] public NativeArray result; public void Execute(int index) { - result[index] = new int3( - (int)input[index * 3], - (int)input[index * 3 + 2], - (int)input[index * 3 + 1] - ); + var idx = input[index]; + result[index] = new int3((int)idx.x, (int)idx.z, (int)idx.y); } } @@ -555,7 +535,7 @@ public void Execute(int startIndex, int count) var resultV = (float2*)((byte*)result + startIndex * outputByteStride); var off = input + (startIndex * inputByteStride); - for (var x = 0; x < count; x++) + for (var index = 0; index < count; index++) { *resultV = new float2(off[0], 1 - off[1]); resultV = (float2*)((byte*)resultV + outputByteStride); @@ -632,7 +612,7 @@ public void Execute(int startIndex, int count) var resultV = (float2*)((byte*)result + startIndex * outputByteStride); var uv = (ushort*)(input + startIndex * inputByteStride); - for (var x = 0; x < count; x++) + for (var index = 0; index < count; index++) { *resultV = new float2(uv[0], 1 - uv[1]); resultV = (float2*)((byte*)resultV + outputByteStride); @@ -709,7 +689,7 @@ public void Execute(int startIndex, int count) var resultV = (float2*)((byte*)result + startIndex * outputByteStride); var uv = (short*)((byte*)input + startIndex * inputByteStride); - for (var x = 0; x < count; x++) + for (var index = 0; index < count; index++) { *resultV = new float2(uv[0], 1 - uv[1]); resultV = (float2*)((byte*)resultV + outputByteStride); @@ -755,7 +735,7 @@ public void Execute(int startIndex, int count) var resultV = (float2*)((byte*)result + startIndex * outputByteStride); var uv = (short*)((byte*)input + startIndex * inputByteStride); - for (var x = 0; x < count; x++) + for (var index = 0; index < count; index++) { var tmp = new float2(uv[0], uv[1]) / short.MaxValue; var tmp2 = max(tmp, -1f); @@ -809,7 +789,7 @@ public void Execute(int startIndex, int count) var resultV = (float2*)((byte*)result + startIndex * outputByteStride); var off = input + startIndex * inputByteStride; - for (var x = 0; x < count; x++) + for (var index = 0; index < count; index++) { *resultV = new float2(off[0], 1 - off[1]); resultV = (float2*)((byte*)resultV + outputByteStride); @@ -855,7 +835,7 @@ public void Execute(int startIndex, int count) var resultV = (float2*)((byte*)result + startIndex * outputByteStride); var off = input + startIndex * inputByteStride; - for (var x = 0; x < count; x++) + for (var index = 0; index < count; index++) { var tmp = new float2(off[0], off[1]) / 127f; var tmp2 = max(tmp, -1f); @@ -972,9 +952,9 @@ public void Execute(int startIndex, int count) { var src = (ushort*)((byte*)input + startIndex * inputByteStride); var endIndex = startIndex + count; - for (var x = startIndex; x < endIndex; x++) + for (var index = startIndex; index < endIndex; index++) { - result[x] = new float4( + result[index] = new float4( src[0] / (float)ushort.MaxValue, src[1] / (float)ushort.MaxValue, src[2] / (float)ushort.MaxValue, @@ -1021,9 +1001,9 @@ public void Execute(int startIndex, int count) { var src = (float4*)(input + startIndex * inputByteStride); var endIndex = startIndex + count; - for (var x = startIndex; x < endIndex; x++) + for (var index = startIndex; index < endIndex; index++) { - result[x] = *src; + result[index] = *src; src = (float4*)((byte*)src + inputByteStride); } } @@ -1087,15 +1067,13 @@ public void Execute() /// General purpose vector 3 (position or normal) conversion /// [BurstCompile] - unsafe struct ConvertVector3FloatToFloatJob : IJobParallelFor + struct ConvertVector3FloatToFloatJob : IJobParallelFor { [ReadOnly] - [NativeDisableUnsafePtrRestriction] - public float3* input; + public ReadOnlyNativeStridedArray input; - [ReadOnly] - [NativeDisableUnsafePtrRestriction] - public float3* result; + [WriteOnly] + public NativeArray result; public void Execute(int index) { @@ -1106,16 +1084,13 @@ public void Execute(int index) } [BurstCompile] - unsafe struct ConvertRotationsFloatToFloatJob : IJobParallelFor + struct ConvertRotationsFloatToFloatJob : IJobParallelFor { - [ReadOnly] - [NativeDisableUnsafePtrRestriction] - public float4* input; + public NativeArray.ReadOnly input; - [ReadOnly] - [NativeDisableUnsafePtrRestriction] - public float4* result; + [WriteOnly] + public NativeArray result; public void Execute(int index) { @@ -1127,23 +1102,17 @@ public void Execute(int index) } [BurstCompile] - unsafe struct ConvertRotationsInt16ToFloatJob : IJobParallelFor + struct ConvertRotationsInt16ToFloatJob : IJobParallelFor { - [ReadOnly] - [NativeDisableUnsafePtrRestriction] - public short* input; + public NativeArray.ReadOnly input; - [ReadOnly] - [NativeDisableUnsafePtrRestriction] - public float* result; + [WriteOnly] + public NativeArray result; public void Execute(int index) { - result[index * 4] = Mathf.Max(input[index * 4] / (float)short.MaxValue, -1f); - result[index * 4 + 1] = -Mathf.Max(input[index * 4 + 1] / (float)short.MaxValue, -1f); - result[index * 4 + 2] = -Mathf.Max(input[index * 4 + 2] / (float)short.MaxValue, -1f); - result[index * 4 + 3] = Mathf.Max(input[index * 4 + 3] / (float)short.MaxValue, -1f); + result[index] = input[index].GltfToUnityRotation(); } } @@ -1152,23 +1121,17 @@ public void Execute(int index) /// Quaternions in Unity space (floats). /// [BurstCompile] - unsafe struct ConvertRotationsInt8ToFloatJob : IJobParallelFor + struct ConvertRotationsInt8ToFloatJob : IJobParallelFor { - [ReadOnly] - [NativeDisableUnsafePtrRestriction] - public sbyte* input; + public NativeArray.ReadOnly input; - [ReadOnly] - [NativeDisableUnsafePtrRestriction] - public float* result; + [WriteOnly] + public NativeArray result; public void Execute(int index) { - result[index * 4] = Mathf.Max(input[index * 4] / 127f, -1f); - result[index * 4 + 1] = -Mathf.Max(input[index * 4 + 1] / 127f, -1f); - result[index * 4 + 2] = -Mathf.Max(input[index * 4 + 2] / 127f, -1f); - result[index * 4 + 3] = Mathf.Max(input[index * 4 + 3] / 127f, -1f); + result[index] = input[index].GltfToUnityRotation(); } } @@ -1201,7 +1164,7 @@ public void Execute(int startIndex, int count) var resultV = (float2*)((byte*)result + startIndex * outputByteStride); var off = (float2*)(input + startIndex * inputByteStride); - for (var x = 0; x < count; x++) + for (var index = 0; index < count; index++) { var tmp = *off; tmp.y = 1 - tmp.y; @@ -1234,13 +1197,8 @@ unsafe struct ConvertVector3FloatToFloatInterleavedJob : IJobParallelFor #endif { - [ReadOnly] - public int inputByteStride; - - [ReadOnly] - [NativeDisableUnsafePtrRestriction] - public byte* input; + public ReadOnlyNativeStridedArray input; [ReadOnly] public int outputByteStride; @@ -1253,24 +1211,22 @@ unsafe struct ConvertVector3FloatToFloatInterleavedJob : public void Execute(int startIndex, int count) { var resultV = (float3*)((byte*)result + startIndex * outputByteStride); - var off = (float3*)(input + startIndex * inputByteStride); - for (var x = 0; x < count; x++) + var end = startIndex + count; + for (var index = startIndex; index < end; index++) { - var tmp = *off; + var tmp = input[index]; tmp.x *= -1; *resultV = tmp; resultV = (float3*)((byte*)resultV + outputByteStride); - off = (float3*)((byte*)off + inputByteStride); } } #else public void Execute(int index) { var resultV = (float3*)(((byte*)result) + (index * outputByteStride)); - var off = (float3*)(input + index * inputByteStride); - var tmp = *off; + var tmp = input[index]; tmp.x *= -1; *resultV = tmp; } @@ -1343,7 +1299,7 @@ public void Execute(int startIndex, int count) var resultV = (float4*)((byte*)result + startIndex * outputByteStride); var off = (float4*)(input + startIndex * inputByteStride); - for (var x = 0; x < count; x++) + for (var index = 0; index < count; index++) { var tmp = *off; tmp.z *= -1; @@ -1394,7 +1350,7 @@ public void Execute(int startIndex, int count) var resultV = (float4*)((byte*)result + startIndex * outputByteStride); var off = (float4*)(input + startIndex * inputByteStride); - for (var x = 0; x < count; x++) + for (var index = 0; index < count; index++) { *resultV = *off; resultV = (float4*)((byte*)resultV + outputByteStride); @@ -1440,7 +1396,7 @@ public void Execute(int startIndex, int count) var resultV = (float4*)((byte*)result + startIndex * outputByteStride); var off = input + startIndex * inputByteStride; - for (var x = 0; x < count; x++) + for (var index = 0; index < count; index++) { *resultV = new float4( off[0] / 255f, @@ -1496,7 +1452,7 @@ public void Execute(int startIndex, int count) var resultV = (float4*)((byte*)result + startIndex * outputByteStride); var off = (ushort*)(input + startIndex * inputByteStride); - for (var x = 0; x < count; x++) + for (var index = 0; index < count; index++) { *resultV = new float4( off[0] / (float)ushort.MaxValue, @@ -1552,7 +1508,7 @@ public void Execute(int startIndex, int count) var resultV = (float4*)((byte*)result + startIndex * outputByteStride); var off = (short*)((byte*)input + startIndex * inputByteStride); - for (var x = 0; x < count; x++) + for (var index = 0; index < count; index++) { var tmp = new float4(off[0], off[1], off[2], off[3]) / short.MaxValue; var tmp2 = max(tmp, -1f); @@ -1605,7 +1561,7 @@ public void Execute(int startIndex, int count) var resultV = (float4*)((byte*)result + startIndex * outputByteStride); var off = input + startIndex * inputByteStride; - for (var x = 0; x < count; x++) + for (var index = 0; index < count; index++) { var tmp = new float4(off[0], off[1], off[2], off[3]) / 127f; var tmp2 = max(tmp, -1f); @@ -1637,13 +1593,8 @@ unsafe struct ConvertPositionsUInt16ToFloatInterleavedJob : IJobParallelFor #endif { - [ReadOnly] - public int inputByteStride; - - [ReadOnly] - [NativeDisableUnsafePtrRestriction] - public byte* input; + public ReadOnlyNativeStridedArray input; [ReadOnly] public int outputByteStride; @@ -1656,21 +1607,19 @@ unsafe struct ConvertPositionsUInt16ToFloatInterleavedJob : public void Execute(int startIndex, int count) { var resultV = (float3*)((byte*)result + startIndex * outputByteStride); - var off = (ushort*)(input + startIndex * inputByteStride); + var end = startIndex + count; - for (var x = 0; x < count; x++) + for (var index = startIndex; index < end; index++) { - *resultV = new float3(-(float)off[0], off[1], off[2]); + *resultV = input[index].GltfToUnityFloat3(); resultV = (float3*)((byte*)resultV + outputByteStride); - off = (ushort*)((byte*)off + inputByteStride); } } #else public void Execute(int index) { var resultV = (float3*)(((byte*)result) + (index * outputByteStride)); - var off = (ushort*)(input + (inputByteStride * index)); - *resultV = new float3(-(float)off[0], off[1], off[2]); + *resultV = input[index].GltfToUnityFloat3(); } #endif } @@ -1684,11 +1633,7 @@ unsafe struct ConvertPositionsUInt16ToFloatInterleavedNormalizedJob : #endif { [ReadOnly] - public int inputByteStride; - - [ReadOnly] - [NativeDisableUnsafePtrRestriction] - public byte* input; + public ReadOnlyNativeStridedArray input; [ReadOnly] public int outputByteStride; @@ -1701,30 +1646,19 @@ unsafe struct ConvertPositionsUInt16ToFloatInterleavedNormalizedJob : public void Execute(int startIndex, int count) { var resultV = (float3*)((byte*)result + startIndex * outputByteStride); - var off = (ushort*)(input + startIndex * inputByteStride); + var end = startIndex + count; - for (var x = 0; x < count; x++) + for (var index = startIndex; index < end; index++) { - var tmp = new float3( - -(off[0] / (float)ushort.MaxValue), - off[1] / (float)ushort.MaxValue, - off[2] / (float)ushort.MaxValue - ); - *resultV = tmp; + *resultV = input[index].GltfToUnityNormalizedFloat3(); resultV = (float3*)((byte*)resultV + outputByteStride); - off = (ushort*)((byte*)off + inputByteStride); } } #else public void Execute(int index) { var resultV = (float3*)(((byte*)result) + (index * outputByteStride)); - var off = (ushort*)(input + (inputByteStride * index)); - *resultV = new float3( - -(off[0] / (float)ushort.MaxValue), - off[1] / (float)ushort.MaxValue, - off[2] / (float)ushort.MaxValue - ); + *resultV = input[index].GltfToUnityNormalizedFloat3(); } #endif } @@ -1737,14 +1671,8 @@ unsafe struct ConvertPositionsInt16ToFloatInterleavedJob : IJobParallelFor #endif { - [ReadOnly] - public int inputByteStride; - - - [ReadOnly] - [NativeDisableUnsafePtrRestriction] - public byte* input; + public ReadOnlyNativeStridedArray input; [ReadOnly] [NativeDisableUnsafePtrRestriction] @@ -1757,21 +1685,19 @@ unsafe struct ConvertPositionsInt16ToFloatInterleavedJob : public void Execute(int startIndex, int count) { var resultV = (float3*)((byte*)result + startIndex * outputByteStride); - var off = (short*)(input + startIndex * inputByteStride); + var end = startIndex + count; - for (var x = 0; x < count; x++) + for (var index = startIndex; index < end; index++) { - *resultV = new float3(-off[0], off[1], off[2]); + *resultV = input[index].GltfToUnityFloat3(); resultV = (float3*)((byte*)resultV + outputByteStride); - off = (short*)((byte*)off + inputByteStride); } } #else public void Execute(int index) { var resultV = (float3*)(((byte*)result) + (index * outputByteStride)); - var off = (short*)(input + (index * inputByteStride)); - *resultV = new float3(-(float)off[0], off[1], off[2]); + *resultV = input[index].GltfToUnityFloat3(); } #endif } @@ -1790,11 +1716,7 @@ unsafe struct ConvertVector3Int16ToFloatInterleavedNormalizedJob : { [ReadOnly] - public int inputByteStride; - - [ReadOnly] - [NativeDisableUnsafePtrRestriction] - public byte* input; + public ReadOnlyNativeStridedArray input; [ReadOnly] public int outputByteStride; @@ -1807,29 +1729,19 @@ unsafe struct ConvertVector3Int16ToFloatInterleavedNormalizedJob : public void Execute(int startIndex, int count) { var resultV = (float3*)((byte*)result + startIndex * outputByteStride); - var off = (short*)(input + startIndex * inputByteStride); + var end = startIndex + count; - for (var x = 0; x < count; x++) + for (var index = startIndex; index < end; index++) { - var tmp = new float3(off[0], off[1], off[2]) / short.MaxValue; - var tmp2 = max(tmp, -1f); - tmp2.x *= -1; - *resultV = tmp2; - + *resultV = input[index].GltfToUnityNormalizedFloat3(); resultV = (float3*)((byte*)resultV + outputByteStride); - off = (short*)((byte*)off + inputByteStride); } } #else public void Execute(int index) { var resultV = (float3*)(((byte*)result) + (index * outputByteStride)); - var off = (short*)(input + (index * inputByteStride)); - - var tmp = new float3(off[0], off[1], off[2]) / short.MaxValue; - var tmp2 = max(tmp, -1f); - tmp2.x *= -1; - *resultV = tmp2; + *resultV = input[index].GltfToUnityNormalizedFloat3(); } #endif } @@ -1848,11 +1760,7 @@ unsafe struct ConvertNormalsInt16ToFloatInterleavedNormalizedJob : { [ReadOnly] - public int inputByteStride; - - [ReadOnly] - [NativeDisableUnsafePtrRestriction] - public byte* input; + public ReadOnlyNativeStridedArray input; [ReadOnly] public int outputByteStride; @@ -1865,29 +1773,19 @@ unsafe struct ConvertNormalsInt16ToFloatInterleavedNormalizedJob : public void Execute(int startIndex, int count) { var resultV = (float3*)((byte*)result + startIndex * outputByteStride); - var off = (short*)(input + startIndex * inputByteStride); + var end = startIndex + count; - for (var x = 0; x < count; x++) + for (var index = startIndex; index < end; index++) { - var tmp = new float3(off[0], off[1], off[2]) / short.MaxValue; - var tmp2 = max(tmp, -1f); - tmp2.x *= -1; - *resultV = normalize(tmp2); - + *resultV = input[index].GltfNormalToUnityFloat3(); resultV = (float3*)((byte*)resultV + outputByteStride); - off = (short*)((byte*)off + inputByteStride); } } #else public void Execute(int index) { var resultV = (float3*)(((byte*)result) + (index * outputByteStride)); - var off = (short*)(input + (index * inputByteStride)); - - var tmp = new float3(off[0], off[1], off[2]) / short.MaxValue; - var tmp2 = max(tmp, -1f); - tmp2.x *= -1; - *resultV = normalize(tmp2); + *resultV = input[index].GltfNormalToUnityFloat3(); } #endif } @@ -1900,13 +1798,8 @@ unsafe struct ConvertPositionsInt8ToFloatInterleavedJob : IJobParallelFor #endif { - [ReadOnly] - public int inputByteStride; - - [ReadOnly] - [NativeDisableUnsafePtrRestriction] - public sbyte* input; + public ReadOnlyNativeStridedArray input; [ReadOnly] public int outputByteStride; @@ -1919,21 +1812,19 @@ unsafe struct ConvertPositionsInt8ToFloatInterleavedJob : public void Execute(int startIndex, int count) { var resultV = (float3*)((byte*)result + startIndex * outputByteStride); - var off = input + startIndex * inputByteStride; + var end = startIndex + count; - for (var x = 0; x < count; x++) + for (var index = startIndex; index < end; index++) { - *resultV = new float3(-off[0], off[1], off[2]); + *resultV = input[index].GltfToUnityFloat3(); resultV = (float3*)((byte*)resultV + outputByteStride); - off += inputByteStride; } } #else public void Execute(int index) { var resultV = (float3*)(((byte*)result) + (index * outputByteStride)); - var off = input + (inputByteStride * index); - *resultV = new float3(-(float)off[0], off[1], off[2]); + *resultV = input[index].GltfToUnityFloat3(); } #endif } @@ -1950,13 +1841,8 @@ unsafe struct ConvertVector3Int8ToFloatInterleavedNormalizedJob : IJobParallelFor #endif { - - [ReadOnly] - public int inputByteStride; - [ReadOnly] - [NativeDisableUnsafePtrRestriction] - public sbyte* input; + public ReadOnlyNativeStridedArray input; [ReadOnly] public int outputByteStride; @@ -1969,29 +1855,19 @@ unsafe struct ConvertVector3Int8ToFloatInterleavedNormalizedJob : public void Execute(int startIndex, int count) { var resultV = (float3*)((byte*)result + startIndex * outputByteStride); - var off = input + startIndex * inputByteStride; + var end = startIndex + count; - for (var x = 0; x < count; x++) + for (var index = startIndex; index < end; index++) { - var tmp = new float3(off[0], off[1], off[2]) / 127f; - var tmp2 = max(tmp, -1); - tmp2.x *= -1; - *resultV = tmp2; - + *resultV = input[index].GltfToUnityNormalizedFloat3(); resultV = (float3*)((byte*)resultV + outputByteStride); - off += inputByteStride; } } #else public void Execute(int index) { var resultV = (float3*)(((byte*)result) + (index * outputByteStride)); - var off = input + (inputByteStride * index); - - var tmp = new float3(off[0], off[1], off[2]) / 127f; - var tmp2 = max(tmp, -1); - tmp2.x *= -1; - *resultV = tmp2; + *resultV = input[index].GltfToUnityNormalizedFloat3(); } #endif } @@ -2008,13 +1884,8 @@ unsafe struct ConvertNormalsInt8ToFloatInterleavedNormalizedJob : IJobParallelFor #endif { - - [ReadOnly] - public int inputByteStride; - [ReadOnly] - [NativeDisableUnsafePtrRestriction] - public sbyte* input; + public ReadOnlyNativeStridedArray input; [ReadOnly] public int outputByteStride; @@ -2027,29 +1898,19 @@ unsafe struct ConvertNormalsInt8ToFloatInterleavedNormalizedJob : public void Execute(int startIndex, int count) { var resultV = (float3*)((byte*)result + startIndex * outputByteStride); - var off = input + startIndex * inputByteStride; + var end = startIndex + count; - for (var x = 0; x < count; x++) + for (var index = startIndex; index < end; index++) { - var tmp = new float3(off[0], off[1], off[2]) / 127f; - var tmp2 = max(tmp, -1); - tmp2.x *= -1; - *resultV = normalize(tmp2); - + *resultV = input[index].GltfNormalToUnityFloat3(); resultV = (float3*)((byte*)resultV + outputByteStride); - off += inputByteStride; } } #else public void Execute(int index) { var resultV = (float3*)(((byte*)result) + (index * outputByteStride)); - var off = input + (inputByteStride * index); - - var tmp = new float3(off[0], off[1], off[2]) / 127f; - var tmp2 = max(tmp, -1); - tmp2.x *= -1; - *resultV = normalize(tmp2); + *resultV = input[index].GltfNormalToUnityFloat3(); } #endif } @@ -2062,13 +1923,8 @@ unsafe struct ConvertPositionsUInt8ToFloatInterleavedJob : IJobParallelFor #endif { - - [ReadOnly] - public int inputByteStride; - [ReadOnly] - [NativeDisableUnsafePtrRestriction] - public byte* input; + public ReadOnlyNativeStridedArray input; [ReadOnly] public int outputByteStride; @@ -2081,21 +1937,19 @@ unsafe struct ConvertPositionsUInt8ToFloatInterleavedJob : public void Execute(int startIndex, int count) { var resultV = (float3*)((byte*)result + startIndex * outputByteStride); - var off = input + startIndex * inputByteStride; + var end = startIndex + count; - for (var x = 0; x < count; x++) + for (var index = startIndex; index < end; index++) { - *resultV = new float3(-(float)off[0], off[1], off[2]); + *resultV = input[index].GltfToUnityFloat3(); resultV = (float3*)((byte*)resultV + outputByteStride); - off += inputByteStride; } } #else public void Execute(int index) { - var off = input + (index * inputByteStride); var resultV = (float3*)(((byte*)result) + (index * outputByteStride)); - *resultV = new float3(-(float)off[0], off[1], off[2]); + *resultV = input[index].GltfToUnityFloat3(); } #endif } @@ -2108,13 +1962,8 @@ unsafe struct ConvertPositionsUInt8ToFloatInterleavedNormalizedJob : IJobParallelFor #endif { - - [ReadOnly] - public int inputByteStride; - [ReadOnly] - [NativeDisableUnsafePtrRestriction] - public byte* input; + public ReadOnlyNativeStridedArray input; [ReadOnly] public int outputByteStride; @@ -2127,29 +1976,19 @@ unsafe struct ConvertPositionsUInt8ToFloatInterleavedNormalizedJob : public void Execute(int startIndex, int count) { var resultV = (float3*)((byte*)result + startIndex * outputByteStride); - var off = input + startIndex * inputByteStride; + var end = startIndex + count; - for (var x = 0; x < count; x++) + for (var index = startIndex; index < end; index++) { - *resultV = new float3( - -(off[0] / 255f), - off[1] / 255f, - off[2] / 255f - ); + *resultV = input[index].GltfToUnityNormalizedFloat3(); resultV = (float3*)((byte*)resultV + outputByteStride); - off += inputByteStride; } } #else public void Execute(int index) { var resultV = (float3*)(((byte*)result) + (index * outputByteStride)); - var off = input + (index * inputByteStride); - *resultV = new float3( - -(off[0] / 255f), - off[1] / 255f, - off[2] / 255f - ); + *resultV = input[index].GltfToUnityNormalizedFloat3(); } #endif } @@ -2314,45 +2153,32 @@ public unsafe void Execute(int index) { #endif [BurstCompile] - unsafe struct ConvertMatricesJob : IJobParallelFor + struct ConvertMatricesJob : IJobParallelFor { [ReadOnly] - [NativeDisableUnsafePtrRestriction] - public float4x4* input; + public NativeArray.ReadOnly input; [WriteOnly] - [NativeDisableUnsafePtrRestriction] - public float4x4* result; + public NativeArray result; public void Execute(int index) { - var tmp = input[index].c0; - tmp.y *= -1; - tmp.z *= -1; - result[index].c0 = tmp; - - tmp = input[index].c1; - tmp.x *= -1; - result[index].c1 = tmp; - - tmp = input[index].c2; - tmp.x *= -1; - result[index].c2 = tmp; - - tmp = input[index].c3; - tmp.x *= -1; - result[index].c3 = tmp; + var tmp = input[index]; + result[index] = new float4x4( + tmp.c0.x, -tmp.c1.x, -tmp.c2.x, -tmp.c3.x, + -tmp.c0.y, tmp.c1.y, tmp.c2.y, tmp.c3.y, + -tmp.c0.z, tmp.c1.z, tmp.c2.z, tmp.c3.z, + tmp.c0.w, tmp.c1.w, tmp.c2.w, tmp.c3.w + ); } } [BurstCompile] - unsafe struct ConvertScalarInt8ToFloatNormalizedJob : IJobParallelFor + struct ConvertScalarInt8ToFloatNormalizedJob : IJobParallelFor { - [ReadOnly] - [NativeDisableUnsafePtrRestriction] - public sbyte* input; + public NativeArray.ReadOnly input; [WriteOnly] public NativeArray result; @@ -2364,12 +2190,10 @@ public void Execute(int index) } [BurstCompile] - unsafe struct ConvertScalarUInt8ToFloatNormalizedJob : IJobParallelFor + struct ConvertScalarUInt8ToFloatNormalizedJob : IJobParallelFor { - [ReadOnly] - [NativeDisableUnsafePtrRestriction] - public byte* input; + public NativeArray.ReadOnly input; [WriteOnly] public NativeArray result; @@ -2381,12 +2205,10 @@ public void Execute(int index) } [BurstCompile] - unsafe struct ConvertScalarInt16ToFloatNormalizedJob : IJobParallelFor + struct ConvertScalarInt16ToFloatNormalizedJob : IJobParallelFor { - [ReadOnly] - [NativeDisableUnsafePtrRestriction] - public short* input; + public NativeArray.ReadOnly input; [WriteOnly] public NativeArray result; @@ -2398,12 +2220,10 @@ public void Execute(int index) } [BurstCompile] - unsafe struct ConvertScalarUInt16ToFloatNormalizedJob : IJobParallelFor + struct ConvertScalarUInt16ToFloatNormalizedJob : IJobParallelFor { - [ReadOnly] - [NativeDisableUnsafePtrRestriction] - public ushort* input; + public NativeArray.ReadOnly input; [WriteOnly] public NativeArray result; diff --git a/Runtime/Scripts/KtxLoadContext.cs b/Runtime/Scripts/KtxLoadContext.cs index cdfef8aa3..7d8be10c9 100644 --- a/Runtime/Scripts/KtxLoadContext.cs +++ b/Runtime/Scripts/KtxLoadContext.cs @@ -1,11 +1,11 @@ // SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 -#if KTX_UNITY_2_2_OR_NEWER || (!UNITY_2021_2_OR_NEWER && KTX_UNITY_1_3_OR_NEWER) -#define KTX +#if KTX_IS_RECENT +#define KTX_IS_ENABLED #endif -#if KTX +#if KTX_IS_ENABLED using System.Threading.Tasks; using KtxUnity; @@ -23,7 +23,7 @@ public KtxLoadContext(int index, NativeArray.ReadOnly data) { public override async Task LoadTexture2D(bool linear) { // TODO: Wait for KTX for Unity to offer a non-slice API and avoid slice here. - var errorCode = m_KtxTexture.Open(m_Data.Slice(0, m_Data.Length)); + var errorCode = m_KtxTexture.Open(m_Data); if (errorCode != ErrorCode.Success) { return new TextureResult(errorCode); } @@ -35,4 +35,4 @@ public override async Task LoadTexture2D(bool linear) { } } } -#endif // KTX_UNITY +#endif // KTX_IS_INSTALLED diff --git a/Runtime/Scripts/KtxLoadContextBase.cs b/Runtime/Scripts/KtxLoadContextBase.cs index 9860e6948..ee3cc5795 100644 --- a/Runtime/Scripts/KtxLoadContextBase.cs +++ b/Runtime/Scripts/KtxLoadContextBase.cs @@ -1,11 +1,11 @@ // SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 -#if KTX_UNITY_2_2_OR_NEWER || (!UNITY_2021_2_OR_NEWER && KTX_UNITY_1_3_OR_NEWER) -#define KTX +#if KTX_IS_RECENT +#define KTX_IS_ENABLED #endif -#if KTX +#if KTX_IS_ENABLED using System.Threading.Tasks; using KtxUnity; @@ -19,4 +19,4 @@ abstract class KtxLoadContextBase { public abstract Task LoadTexture2D(bool linear); } } -#endif // KTX_UNITY +#endif // KTX_IS_INSTALLED diff --git a/Runtime/Scripts/KtxLoadNativeContext.cs b/Runtime/Scripts/KtxLoadNativeContext.cs index 6ae5983c4..88cc2e78d 100644 --- a/Runtime/Scripts/KtxLoadNativeContext.cs +++ b/Runtime/Scripts/KtxLoadNativeContext.cs @@ -1,11 +1,11 @@ // SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 -#if KTX_UNITY_2_2_OR_NEWER || (!UNITY_2021_2_OR_NEWER && KTX_UNITY_1_3_OR_NEWER) -#define KTX +#if KTX_IS_RECENT +#define KTX_IS_ENABLED #endif -#if KTX +#if KTX_IS_ENABLED using System.Threading.Tasks; using KtxUnity; @@ -13,16 +13,16 @@ namespace GLTFast { class KtxLoadNativeContext : KtxLoadContextBase { - NativeSlice m_Slice; + ReadOnlyNativeArray m_Data; - public KtxLoadNativeContext(int index,NativeSlice slice) { + public KtxLoadNativeContext(int index,ReadOnlyNativeArray data) { imageIndex = index; - m_Slice = slice; + m_Data = data; m_KtxTexture = new KtxTexture(); } public override async Task LoadTexture2D(bool linear) { - var errorCode = m_KtxTexture.Open(m_Slice); + var errorCode = m_KtxTexture.Open(m_Data.AsNativeArrayReadOnly()); if (errorCode != ErrorCode.Success) { return new TextureResult(errorCode); } @@ -33,4 +33,4 @@ public override async Task LoadTexture2D(bool linear) { } } } -#endif // KTX_UNITY +#endif // KTX_IS_INSTALLED diff --git a/Runtime/Scripts/LightPunctualExtension.cs b/Runtime/Scripts/LightPunctualExtension.cs index dd669e88d..a2790663d 100644 --- a/Runtime/Scripts/LightPunctualExtension.cs +++ b/Runtime/Scripts/LightPunctualExtension.cs @@ -59,6 +59,13 @@ public static void ToUnityLight(this LightPunctual lightSource, Light lightDesti { lightDestination.spotAngle = lightSource.spot.outerConeAngle * Mathf.Rad2Deg * 2f; lightDestination.innerSpotAngle = lightSource.spot.innerConeAngle * Mathf.Rad2Deg * 2f; +#if USING_HDRP && !UNITY_6000_3_OR_NEWER + var lightHd = lightDestination.gameObject.GetComponent(); + lightHd.SetSpotAngle( + lightSource.spot.outerConeAngle * Mathf.Rad2Deg * 2f, + 100 * lightSource.spot.innerConeAngle / lightSource.spot.outerConeAngle + ); +#endif } } diff --git a/Runtime/Scripts/ManagedNativeArray.cs b/Runtime/Scripts/ManagedNativeArray.cs index 46d1faa3a..b20b2af29 100644 --- a/Runtime/Scripts/ManagedNativeArray.cs +++ b/Runtime/Scripts/ManagedNativeArray.cs @@ -12,9 +12,12 @@ namespace GLTFast /// /// Wraps a managed TIn[] in a NativeArray<TOut>without copying memory. + /// Use for internal development instead. /// - /// Type of items in input array. + /// Type of items in an input array. /// Type of items in output NativeArray (might differ from input type TIn). + [Obsolete("This is going to be removed from the public API in a future release. " + + "For internal development, refer to ReadOnlyNativeArrayFromManagedArray.")] public sealed class ManagedNativeArray : IDisposable where TIn : unmanaged where TOut : unmanaged @@ -66,6 +69,7 @@ public void Dispose() if (m_Pinned) { #if ENABLE_UNITY_COLLECTIONS_CHECKS + AtomicSafetyHandle.CheckDeallocateAndThrow(m_SafetyHandle); AtomicSafetyHandle.Release(m_SafetyHandle); #endif m_BufferHandle.Free(); diff --git a/Runtime/Scripts/MeshGenerator.cs b/Runtime/Scripts/MeshGenerator.cs index dd3e81ea2..3f138c562 100644 --- a/Runtime/Scripts/MeshGenerator.cs +++ b/Runtime/Scripts/MeshGenerator.cs @@ -186,16 +186,9 @@ GltfImportBase gltfImport async Task GenerateMesh(GltfImportBase gltfImport) { - var jh = m_VertexData.CreateVertexBuffer(); - if (!jh.HasValue) + if (!await m_VertexData.CreateVertexBuffer()) return null; - while (!jh.Value.IsCompleted) - { - await Task.Yield(); - } - jh.Value.Complete(); - m_Indices = new NativeArray[SubMeshCount]; var tmpList = new List(SubMeshCount); @@ -213,59 +206,59 @@ async Task GenerateMesh(GltfImportBase gltfImport) switch (primitive.mode) { case DrawMode.LineLoop: - { - m_Indices[subMeshIndex] = new NativeArray(indices.Length + 1, Allocator.Persistent); + { + m_Indices[subMeshIndex] = new NativeArray(indices.Length + 1, Allocator.Persistent); - // TODO: Allocate larger index buffer right away and only set last index here - // Wait for indices to be ready. - while (!getIndicesJob.Value.IsCompleted) - { - await Task.Yield(); - } + // TODO: Allocate larger index buffer right away and only set last index here + // Wait for indices to be ready. + while (!getIndicesJob.Value.IsCompleted) + { + await Task.Yield(); + } - getIndicesJob.Value.Complete(); + getIndicesJob.Value.Complete(); - NativeArray.Copy(indices, m_Indices[subMeshIndex], indices.Length); - m_Indices[subMeshIndex][indices.Length] = indices[0]; - indices.Dispose(); - break; - } + NativeArray.Copy(indices, m_Indices[subMeshIndex], indices.Length); + m_Indices[subMeshIndex][indices.Length] = indices[0]; + indices.Dispose(); + break; + } case DrawMode.TriangleStrip: + { + // TODO: Allocate larger index buffer right away and recalculate indices in-place. + var triangleStripTriangleCount = indices.Length - 2; + m_Indices[subMeshIndex] = new NativeArray(triangleStripTriangleCount * 3, Allocator.Persistent); + var triangleStripJob = new RecalculateIndicesForTriangleStripJob { - // TODO: Allocate larger index buffer right away and recalculate indices in-place. - var triangleStripTriangleCount = indices.Length - 2; - m_Indices[subMeshIndex] = new NativeArray(triangleStripTriangleCount * 3, Allocator.Persistent); - var triangleStripJob = new RecalculateIndicesForTriangleStripJob - { - input = indices, - result = m_Indices[subMeshIndex] - }; - var job = triangleStripJob.Schedule( - triangleStripTriangleCount, - GltfImportBase.DefaultBatchCount, - getIndicesJob.Value - ); - tmpList.Add(job); - m_Disposables ??= new List(); - m_Disposables.Add(indices); - break; - } + input = indices, + result = m_Indices[subMeshIndex] + }; + var job = triangleStripJob.Schedule( + triangleStripTriangleCount, + GltfImportBase.DefaultBatchCount, + getIndicesJob.Value + ); + tmpList.Add(job); + m_Disposables ??= new List(); + m_Disposables.Add(indices); + break; + } case DrawMode.TriangleFan: + { + // TODO: Allocate larger index buffer right away and recalculate indices in-place. + var triangleFanTriangleCount = indices.Length - 2; + m_Indices[subMeshIndex] = new NativeArray(triangleFanTriangleCount * 3, Allocator.Persistent); + var triangleFanJob = new RecalculateIndicesForTriangleFanJob { - // TODO: Allocate larger index buffer right away and recalculate indices in-place. - var triangleFanTriangleCount = indices.Length - 2; - m_Indices[subMeshIndex] = new NativeArray(triangleFanTriangleCount * 3, Allocator.Persistent); - var triangleFanJob = new RecalculateIndicesForTriangleFanJob - { - input = indices, - result = m_Indices[subMeshIndex] - }; - var job = triangleFanJob.Schedule(triangleFanTriangleCount, GltfImportBase.DefaultBatchCount, getIndicesJob.Value); - m_Disposables ??= new List(); - m_Disposables.Add(indices); - tmpList.Add(job); - break; - } + input = indices, + result = m_Indices[subMeshIndex] + }; + var job = triangleFanJob.Schedule(triangleFanTriangleCount, GltfImportBase.DefaultBatchCount, getIndicesJob.Value); + m_Disposables ??= new List(); + m_Disposables.Add(indices); + tmpList.Add(job); + break; + } default: m_Indices[subMeshIndex] = indices; tmpList.Add(getIndicesJob.Value); @@ -482,11 +475,22 @@ protected override void Dispose(bool disposing) } } - static unsafe void GetIndicesJob(GltfImportBase gltfImport, int accessorIndex, out NativeArray indices, out JobHandle? jobHandle, bool flip) + static void GetIndicesJob( + GltfImportBase gltfImport, + int accessorIndex, + out NativeArray indices, + out JobHandle? jobHandle, + bool flip + ) { Profiler.BeginSample("PrepareGetIndicesJob"); var accessor = ((IGltfBuffers)gltfImport).GetAccessor(accessorIndex); - var bufferView = ((IGltfBuffers)gltfImport).GetBufferView(accessor.bufferView, out _, accessor.byteOffset); + var accessorData = ((IGltfBuffers)gltfImport).GetBufferView( + accessor.bufferView, + out _, + accessor.byteOffset, + accessor.ByteSize + ); Profiler.BeginSample("Alloc"); indices = new NativeArray(accessor.count, Allocator.Persistent); @@ -502,11 +506,12 @@ static unsafe void GetIndicesJob(GltfImportBase gltfImport, int accessorIndex, o switch (accessor.componentType) { case GltfComponentType.UnsignedByte: + { if (flip) { var job8 = new ConvertIndicesUInt8ToInt32FlippedJob { - input = (byte*)bufferView.GetUnsafeReadOnlyPtr(), + input = accessorData.Reinterpret().AsNativeArrayReadOnly(), result = indices.Reinterpret(sizeof(int)) }; jobHandle = job8.Schedule(accessor.count / 3, GltfImportBase.DefaultBatchCount); @@ -515,18 +520,20 @@ static unsafe void GetIndicesJob(GltfImportBase gltfImport, int accessorIndex, o { var job8 = new ConvertIndicesUInt8ToInt32Job { - input = (byte*)bufferView.GetUnsafeReadOnlyPtr(), + input = accessorData.AsNativeArrayReadOnly(), result = indices }; jobHandle = job8.Schedule(accessor.count, GltfImportBase.DefaultBatchCount); } break; + } case GltfComponentType.UnsignedShort: + { if (flip) { var job16 = new ConvertIndicesUInt16ToInt32FlippedJob { - input = (ushort*)bufferView.GetUnsafeReadOnlyPtr(), + input = accessorData.Reinterpret().AsNativeArrayReadOnly(), result = indices.Reinterpret(sizeof(int)) }; jobHandle = job16.Schedule(accessor.count / 3, GltfImportBase.DefaultBatchCount); @@ -535,18 +542,20 @@ static unsafe void GetIndicesJob(GltfImportBase gltfImport, int accessorIndex, o { var job16 = new ConvertIndicesUInt16ToInt32Job { - input = (ushort*)bufferView.GetUnsafeReadOnlyPtr(), + input = accessorData.Reinterpret().AsNativeArrayReadOnly(), result = indices }; jobHandle = job16.Schedule(accessor.count, GltfImportBase.DefaultBatchCount); } break; + } case GltfComponentType.UnsignedInt: + { if (flip) { var job32 = new ConvertIndicesUInt32ToInt32FlippedJob { - input = (uint*)bufferView.GetUnsafeReadOnlyPtr(), + input = accessorData.Reinterpret().AsNativeArrayReadOnly(), result = indices.Reinterpret(sizeof(int)) }; jobHandle = job32.Schedule(accessor.count / 3, GltfImportBase.DefaultBatchCount); @@ -555,12 +564,13 @@ static unsafe void GetIndicesJob(GltfImportBase gltfImport, int accessorIndex, o { var job32 = new ConvertIndicesUInt32ToInt32Job { - input = (uint*)bufferView.GetUnsafeReadOnlyPtr(), + input = accessorData.Reinterpret().AsNativeArrayReadOnly(), result = indices }; jobHandle = job32.Schedule(accessor.count, GltfImportBase.DefaultBatchCount); } break; + } default: gltfImport.Logger?.Error(LogCode.IndexFormatInvalid, accessor.componentType.ToString()); jobHandle = null; @@ -582,38 +592,38 @@ out JobHandle jobHandle switch (primitive.mode) { case DrawMode.LineLoop: + { + // extra index (first vertex again) for closing line loop + indices = new NativeArray(vertexCount + 1, Allocator.Persistent); + // Set the last index to the first vertex + indices[vertexCount] = 0; + var job = new CreateIndicesInt32Job() { - // extra index (first vertex again) for closing line loop - indices = new NativeArray(vertexCount + 1, Allocator.Persistent); - // Set the last index to the first vertex - indices[vertexCount] = 0; - var job = new CreateIndicesInt32Job() - { - result = indices - }; - jobHandle = job.Schedule(vertexCount, GltfImportBase.DefaultBatchCount); - break; - } + result = indices + }; + jobHandle = job.Schedule(vertexCount, GltfImportBase.DefaultBatchCount); + break; + } case DrawMode.Triangles: + { + indices = new NativeArray(vertexCount, Allocator.Persistent); + var job = new CreateIndicesInt32FlippedJob { - indices = new NativeArray(vertexCount, Allocator.Persistent); - var job = new CreateIndicesInt32FlippedJob - { - result = indices - }; - jobHandle = job.Schedule(indices.Length, GltfImportBase.DefaultBatchCount); - break; - } + result = indices + }; + jobHandle = job.Schedule(indices.Length, GltfImportBase.DefaultBatchCount); + break; + } case DrawMode.TriangleStrip: + { + indices = new NativeArray((vertexCount - 2) * 3, Allocator.Persistent); + var job = new CreateIndicesForTriangleStripJob { - indices = new NativeArray((vertexCount - 2) * 3, Allocator.Persistent); - var job = new CreateIndicesForTriangleStripJob - { - result = indices - }; - jobHandle = job.Schedule(indices.Length, GltfImportBase.DefaultBatchCount); - break; - } + result = indices + }; + jobHandle = job.Schedule(indices.Length, GltfImportBase.DefaultBatchCount); + break; + } case DrawMode.TriangleFan: indices = new NativeArray((vertexCount - 2) * 3, Allocator.Persistent); var triangleFanJob = new CreateIndicesForTriangleFanJob @@ -623,15 +633,15 @@ out JobHandle jobHandle jobHandle = triangleFanJob.Schedule(indices.Length, GltfImportBase.DefaultBatchCount); break; default: + { + indices = new NativeArray(vertexCount, Allocator.Persistent); + var job = new CreateIndicesInt32Job() { - indices = new NativeArray(vertexCount, Allocator.Persistent); - var job = new CreateIndicesInt32Job() - { - result = indices - }; - jobHandle = job.Schedule(vertexCount, GltfImportBase.DefaultBatchCount); - break; - } + result = indices + }; + jobHandle = job.Schedule(vertexCount, GltfImportBase.DefaultBatchCount); + break; + } } Profiler.EndSample(); } diff --git a/Runtime/Scripts/MorphTargetsGenerator.cs b/Runtime/Scripts/MorphTargetsGenerator.cs index 6ac0d4180..5dd610506 100644 --- a/Runtime/Scripts/MorphTargetsGenerator.cs +++ b/Runtime/Scripts/MorphTargetsGenerator.cs @@ -158,7 +158,7 @@ out var posByteStride var handles = new NativeArray(jobCount, VertexBufferGeneratorBase.defaultAllocator); var handleIndex = 0; - if (!SchedulePositionsJobs(offset, buffers, posData, posAcc, posByteStride, handles, ref handleIndex)) + if (!SchedulePositionsJobs(offset, buffers, posData, posAcc, handles, ref handleIndex)) return null; if (nrmAcc != null @@ -191,7 +191,6 @@ unsafe bool SchedulePositionsJobs( IGltfBuffers buffers, void* posData, AccessorBase posAcc, - int posByteStride, NativeArray handles, ref int handleIndex ) @@ -202,10 +201,8 @@ ref int handleIndex if (posData != null) { h = VertexBufferGeneratorBase.GetVector3Job( - posData, - posAcc.count, - posAcc.componentType, - posByteStride, + buffers, + posAcc, (float3*)dest, 12, posAcc.normalized, @@ -269,10 +266,8 @@ ref int handleIndex if (nrmAcc.bufferView >= 0) { h = VertexBufferGeneratorBase.GetVector3Job( - nrmInput, - nrmAcc.count, - nrmAcc.componentType, - nrmInputByteStride, + buffers, + nrmAcc, (float3*)dest, 12, nrmAcc.normalized, @@ -336,10 +331,8 @@ int handleIndex if (tanAcc.bufferView >= 0) { h = VertexBufferGeneratorBase.GetVector3Job( - tanInput, - tanAcc.count, - tanAcc.componentType, - tanInputByteStride, + buffers, + tanAcc, (float3*)dest, 12, tanAcc.normalized, diff --git a/Runtime/Scripts/NativeArrayExtensions.cs b/Runtime/Scripts/NativeArrayExtensions.cs index 113dac42c..e20235bc2 100644 --- a/Runtime/Scripts/NativeArrayExtensions.cs +++ b/Runtime/Scripts/NativeArrayExtensions.cs @@ -37,17 +37,5 @@ internal static unsafe uint ReadUInt32(this NativeArray.ReadOnly data, int var ptr = (uint*)((byte*)data.GetUnsafeReadOnlyPtr() + offset); return *ptr; } - - // TODO: Return NativeArray.ReadOnly - internal static unsafe NativeSlice Slice(this NativeArray.ReadOnly data, int start, int length) - { - var bufferAddress = (byte*)data.GetUnsafeReadOnlyPtr() + start; - var subArray = NativeArrayUnsafeUtility.ConvertExistingDataToNativeArray(bufferAddress, length, Allocator.None); -#if ENABLE_UNITY_COLLECTIONS_CHECKS - var safetyHandle = AtomicSafetyHandle.Create(); - NativeArrayUnsafeUtility.SetAtomicSafetyHandle(array: ref subArray, safetyHandle); -#endif - return subArray; - } } } diff --git a/Runtime/Scripts/ReadOnlyNativeArray.cs b/Runtime/Scripts/ReadOnlyNativeArray.cs new file mode 100644 index 000000000..300167dcf --- /dev/null +++ b/Runtime/Scripts/ReadOnlyNativeArray.cs @@ -0,0 +1,215 @@ +// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +using System.Diagnostics; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using Unity.Collections; +using Unity.Collections.LowLevel.Unsafe; +using UnityEngine; + +namespace GLTFast +{ + /// + /// This is a stripped-down version of that supports . + /// + /// Member type + [StructLayout(LayoutKind.Sequential)] + [NativeContainer] + [NativeContainerIsReadOnly] + [DebuggerDisplay("Length = {Length}")] + unsafe struct ReadOnlyNativeArray where T : unmanaged + { + [NativeDisableUnsafePtrRestriction] + internal void* m_Buffer; + internal int m_Length; + +#if ENABLE_UNITY_COLLECTIONS_CHECKS + internal AtomicSafetyHandle m_Safety; +#endif + + internal ReadOnlyNativeArray(NativeArray nativeArray) + { + m_Buffer = nativeArray.GetUnsafeReadOnlyPtr(); + m_Length = nativeArray.Length; +#if ENABLE_UNITY_COLLECTIONS_CHECKS + m_Safety = NativeArrayUnsafeUtility.GetAtomicSafetyHandle(nativeArray); +#endif + } + +#if ENABLE_UNITY_COLLECTIONS_CHECKS + internal ReadOnlyNativeArray(void* buffer, int length, ref AtomicSafetyHandle safety) + { + m_Buffer = buffer; + m_Length = length; + m_Safety = safety; + } +#else + internal ReadOnlyNativeArray(void* buffer, int length) + { + m_Buffer = buffer; + m_Length = length; + } + +#endif + + public int Length + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get => m_Length; + } + + public ReadOnlyNativeArray GetSubArray(int start, int length) + { + CheckGetSubArrayArguments(start, length); + +#if ENABLE_UNITY_COLLECTIONS_CHECKS + return new ReadOnlyNativeArray( + ((byte*)m_Buffer) + ((long)UnsafeUtility.SizeOf()) * start, length, ref m_Safety); +#else + return new ReadOnlyNativeArray( + ((byte*)m_Buffer) + ((long)UnsafeUtility.SizeOf()) * start, length); +#endif + } + + public NativeSlice ToSlice() + { + var array = NativeArrayUnsafeUtility.ConvertExistingDataToNativeArray(m_Buffer, m_Length, Allocator.None); +#if ENABLE_UNITY_COLLECTIONS_CHECKS + NativeArrayUnsafeUtility.SetAtomicSafetyHandle(ref array, m_Safety); +#endif + return array.Slice(); + } + + public NativeArray.ReadOnly AsNativeArrayReadOnly() + { + var array = NativeArrayUnsafeUtility.ConvertExistingDataToNativeArray(m_Buffer, m_Length, Allocator.None); +#if ENABLE_UNITY_COLLECTIONS_CHECKS + NativeArrayUnsafeUtility.SetAtomicSafetyHandle(ref array, m_Safety); +#endif + return array.AsReadOnly(); + } + + public ReadOnlyNativeStridedArray ToStrided(int offset, int count, int byteStride) where TTarget : unmanaged + { + return new ReadOnlyNativeStridedArray( + m_Buffer, + Length * UnsafeUtility.SizeOf(), + offset, + count, + byteStride +#if ENABLE_UNITY_COLLECTIONS_CHECKS + ,ref m_Safety +#endif + ); + } + + public void* GetUnsafeReadOnlyPtr() + { +#if ENABLE_UNITY_COLLECTIONS_CHECKS + AtomicSafetyHandle.CheckReadAndThrow(m_Safety); +#endif + return m_Buffer; + } + + [Conditional("ENABLE_UNITY_COLLECTIONS_CHECKS")] + void CheckGetSubArrayArguments(int start, int length) + { + if (start < 0) + { + throw new ArgumentOutOfRangeException(nameof(start), "start must be >= 0"); + } + + if (start + length > Length) + { + throw new ArgumentOutOfRangeException(nameof(length), $"sub array range {start}-{start + length - 1} is outside the range of the native array 0-{Length - 1}"); + } + + if (start + length < 0) + { + throw new ArgumentException($"sub array range {start}-{start + length - 1} caused an integer overflow and is outside the range of the native array 0-{Length - 1}"); + } + } + + public void CopyTo(NativeArray array) => Copy(this, array); + + public ReadOnlyNativeArray Reinterpret() where TTarget : unmanaged + { + long tSize = UnsafeUtility.SizeOf(); + long uSize = UnsafeUtility.SizeOf(); + + var byteLen = Length * tSize; + var uLen = byteLen / uSize; + + CheckReinterpretSize(uSize, byteLen, uLen); +#if ENABLE_UNITY_COLLECTIONS_CHECKS + return new ReadOnlyNativeArray(m_Buffer, (int)uLen, ref m_Safety); +#else + return new ReadOnlyNativeArray(m_Buffer, (int)uLen); +#endif + } + + [Conditional("ENABLE_UNITY_COLLECTIONS_CHECKS")] + void CheckReinterpretSize(long uSize, long byteLen, long uLen) + { + if (uLen * uSize != byteLen) + { + throw new InvalidOperationException($"Types {typeof(T)} (array length {Length}) and {typeof(TTarget)} cannot be aliased due to size constraints. The size of the types and lengths involved must line up."); + } + } + + public T this[int index] + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + CheckElementReadAccess(index); + return UnsafeUtility.ReadArrayElement(m_Buffer, index); + } + } + + [Conditional("ENABLE_UNITY_COLLECTIONS_CHECKS")] + [MethodImpl(MethodImplOptions.AggressiveInlining)] + void CheckElementReadAccess(int index) + { + if ((uint)index >= (uint)m_Length) + { + throw new IndexOutOfRangeException($"Index {index} is out of range (must be between 0 and {m_Length - 1})."); + } + +#if ENABLE_UNITY_COLLECTIONS_CHECKS + AtomicSafetyHandle.CheckReadAndThrow(m_Safety); +#endif + } + + public bool IsCreated + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get => m_Buffer != null; + } + + static void Copy(ReadOnlyNativeArray src, NativeArray dst) + { + CheckCopyLengths(src.Length, dst.Length); + +#if ENABLE_UNITY_COLLECTIONS_CHECKS + AtomicSafetyHandle.CheckReadAndThrow(src.m_Safety); + var dstSafetyHandle = NativeArrayUnsafeUtility.GetAtomicSafetyHandle(dst); + AtomicSafetyHandle.CheckWriteAndThrow(dstSafetyHandle); +#endif + var dstPointer = (byte*)dst.GetUnsafePtr(); + UnsafeUtility.MemCpy( + dstPointer, + (byte*)src.m_Buffer, + src.Length * UnsafeUtility.SizeOf()); + } + + [Conditional("ENABLE_UNITY_COLLECTIONS_CHECKS")] + static void CheckCopyLengths(int srcLength, int dstLength) + { + if (srcLength != dstLength) + throw new ArgumentException("source and destination length must be the same"); + } + } +} diff --git a/Runtime/Scripts/ReadOnlyNativeArray.cs.meta b/Runtime/Scripts/ReadOnlyNativeArray.cs.meta new file mode 100644 index 000000000..f76948e2c --- /dev/null +++ b/Runtime/Scripts/ReadOnlyNativeArray.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 791451921d1d94b91a3e74f2e1c0ec4f +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/ReadOnlyNativeArrayFromManagedArray.cs b/Runtime/Scripts/ReadOnlyNativeArrayFromManagedArray.cs new file mode 100644 index 000000000..0c2c76e80 --- /dev/null +++ b/Runtime/Scripts/ReadOnlyNativeArrayFromManagedArray.cs @@ -0,0 +1,53 @@ +// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +using System.Runtime.InteropServices; +using Unity.Collections.LowLevel.Unsafe; + +namespace GLTFast +{ + /// + /// Wraps a managed array and provides a for accessing it. + /// + sealed class ReadOnlyNativeArrayFromManagedArray : IDisposable + where T : unmanaged + { + public ReadOnlyNativeArray Array { get; } + + GCHandle m_BufferHandle; + readonly bool m_Pinned; + + public unsafe ReadOnlyNativeArrayFromManagedArray(T[] original) + { + if (original == null) + throw new ArgumentNullException(nameof(original)); + + m_BufferHandle = GCHandle.Alloc(original, GCHandleType.Pinned); + fixed (void* bufferAddress = &original[0]) + { +#if ENABLE_UNITY_COLLECTIONS_CHECKS + var safety = AtomicSafetyHandle.Create(); + Array = new ReadOnlyNativeArray(bufferAddress, original.Length, ref safety); +#else + Array = new ReadOnlyNativeArray(bufferAddress, original.Length); +#endif + } + + m_Pinned = true; + } + + /// + /// Disposes the managed . + /// + public void Dispose() + { + if (m_Pinned) + { +#if ENABLE_UNITY_COLLECTIONS_CHECKS +#endif + m_BufferHandle.Free(); + } + } + } +} diff --git a/Runtime/Scripts/ReadOnlyNativeArrayFromManagedArray.cs.meta b/Runtime/Scripts/ReadOnlyNativeArrayFromManagedArray.cs.meta new file mode 100644 index 000000000..04ef4f0c2 --- /dev/null +++ b/Runtime/Scripts/ReadOnlyNativeArrayFromManagedArray.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: a5186ab506ef4c799331461f95f8aac0 +timeCreated: 1754002315 \ No newline at end of file diff --git a/Runtime/Scripts/ReadOnlyNativeArrayFromNativeArray.cs b/Runtime/Scripts/ReadOnlyNativeArrayFromNativeArray.cs new file mode 100644 index 000000000..d87b6b690 --- /dev/null +++ b/Runtime/Scripts/ReadOnlyNativeArrayFromNativeArray.cs @@ -0,0 +1,48 @@ +// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +using Unity.Collections; +using Unity.Collections.LowLevel.Unsafe; + +namespace GLTFast +{ + /// + /// Wraps a and provides a for accessing it. + /// + readonly unsafe struct ReadOnlyNativeArrayFromNativeArray where T : unmanaged + { + readonly ReadOnlyNativeArray m_Array; + public ReadOnlyNativeArray Array + { + get + { +#if ENABLE_UNITY_COLLECTIONS_CHECKS && UNITY_2022_2_OR_NEWER + // Making sure the source was not disposed already. + // This indirectly triggers a check of the original's safety handle as in + // `AtomicSafetyHandle.CheckReadAndThrow(m_Source.m_Safety);` + m_Source.AsReadOnlySpan(); +#endif + return m_Array; + } + } + +#if ENABLE_UNITY_COLLECTIONS_CHECKS && UNITY_2022_2_OR_NEWER + readonly NativeArray.ReadOnly m_Source; +#endif + + public ReadOnlyNativeArrayFromNativeArray(NativeArray.ReadOnly data) + { + var bufferAddress = data.GetUnsafeReadOnlyPtr(); +#if ENABLE_UNITY_COLLECTIONS_CHECKS +#if UNITY_2022_2_OR_NEWER + m_Source = data; +#endif + var safety = AtomicSafetyHandle.Create(); + m_Array = new ReadOnlyNativeArray(bufferAddress, data.Length, ref safety); +#else + m_Array = new ReadOnlyNativeArray(bufferAddress, data.Length); +#endif + } + } +} diff --git a/Runtime/Scripts/ReadOnlyNativeArrayFromNativeArray.cs.meta b/Runtime/Scripts/ReadOnlyNativeArrayFromNativeArray.cs.meta new file mode 100644 index 000000000..7b96823ce --- /dev/null +++ b/Runtime/Scripts/ReadOnlyNativeArrayFromNativeArray.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 9aad0eede4374ffa90512938df866ee9 +timeCreated: 1754002299 \ No newline at end of file diff --git a/Runtime/Scripts/ReadOnlyNativeStridedArray.cs b/Runtime/Scripts/ReadOnlyNativeStridedArray.cs new file mode 100644 index 000000000..7aa073710 --- /dev/null +++ b/Runtime/Scripts/ReadOnlyNativeStridedArray.cs @@ -0,0 +1,66 @@ +// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +using System.Diagnostics; +using System.Runtime.CompilerServices; +using Unity.Collections.LowLevel.Unsafe; + +namespace GLTFast +{ + [NativeContainer] + [NativeContainerIsReadOnly] + [DebuggerDisplay("Length = {m_Count}")] + unsafe struct ReadOnlyNativeStridedArray where T : unmanaged + { + [NativeDisableUnsafePtrRestriction] + void* m_Buffer; + readonly int m_Count; + readonly int m_ByteStride; + +#if ENABLE_UNITY_COLLECTIONS_CHECKS + AtomicSafetyHandle m_Safety; +#endif + + internal ReadOnlyNativeStridedArray(void* buffer, int byteLength, int offset, int count, int byteStride +#if ENABLE_UNITY_COLLECTIONS_CHECKS + ,ref AtomicSafetyHandle safety +#endif + ) + { +#if ENABLE_UNITY_COLLECTIONS_CHECKS + if (offset < 0) + throw new ArgumentOutOfRangeException(nameof (offset), "offset must be >= 0"); + if (offset + (count-1) * byteStride + sizeof(T) > byteLength) + throw new ArgumentOutOfRangeException(nameof (count), $"accessor range is outside the range of the native array 0-{(object)(byteLength - 1)}"); +#endif + m_Buffer = (byte*)buffer + offset; + m_Count = count; + m_ByteStride = byteStride; +#if ENABLE_UNITY_COLLECTIONS_CHECKS + m_Safety = safety; +#endif + } + + public T this[int index] + { + [MethodImpl(MethodImplOptions.AggressiveInlining)] + get + { + CheckReadIndex(index); + return UnsafeUtility.ReadArrayElementWithStride(m_Buffer, index, m_ByteStride); + } + } + + [Conditional("ENABLE_UNITY_COLLECTIONS_CHECKS")] + [MethodImpl(MethodImplOptions.AggressiveInlining)] + void CheckReadIndex(int index) + { +#if ENABLE_UNITY_COLLECTIONS_CHECKS + AtomicSafetyHandle.CheckReadAndThrow(m_Safety); +#endif + if (index < 0 || index >= m_Count) + throw new IndexOutOfRangeException($"Index {index} is out of range (must be between 0 and {m_Count - 1})."); + } + } +} diff --git a/Runtime/Scripts/ReadOnlyNativeStridedArray.cs.meta b/Runtime/Scripts/ReadOnlyNativeStridedArray.cs.meta new file mode 100644 index 000000000..6ace16740 --- /dev/null +++ b/Runtime/Scripts/ReadOnlyNativeStridedArray.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: cbf4772ae96a408fb66956ed7762357e +timeCreated: 1742397269 \ No newline at end of file diff --git a/Runtime/Scripts/Schema/BufferView.cs b/Runtime/Scripts/Schema/BufferView.cs index 2b2636f64..abf220b66 100644 --- a/Runtime/Scripts/Schema/BufferView.cs +++ b/Runtime/Scripts/Schema/BufferView.cs @@ -77,6 +77,9 @@ public abstract class BufferViewBase : NamedObject, IBufferView /// public int ByteLength => byteLength; + /// + public int ByteStride => byteStride; + internal void GltfSerialize(JsonWriter writer) { writer.AddObject(); diff --git a/Runtime/Scripts/Schema/BufferViewMeshoptExtension.cs b/Runtime/Scripts/Schema/BufferViewMeshoptExtension.cs index eca861f08..ce099aaa5 100644 --- a/Runtime/Scripts/Schema/BufferViewMeshoptExtension.cs +++ b/Runtime/Scripts/Schema/BufferViewMeshoptExtension.cs @@ -47,6 +47,7 @@ public class BufferViewMeshoptExtension : IBufferView { public int Buffer => buffer; public int ByteOffset => byteOffset; public int ByteLength => byteLength; + public int ByteStride => byteStride; public Mode GetMode() { if (m_ModeEnum != Mode.Undefined) { diff --git a/Runtime/Scripts/Schema/FakeSchema/MeshPrimitive.cs b/Runtime/Scripts/Schema/FakeSchema/MeshPrimitive.cs index f98ed6fab..c25dc8c20 100644 --- a/Runtime/Scripts/Schema/FakeSchema/MeshPrimitive.cs +++ b/Runtime/Scripts/Schema/FakeSchema/MeshPrimitive.cs @@ -13,7 +13,7 @@ class MeshPrimitive [System.Serializable] class MeshPrimitiveExtensions { -#if DRACO_UNITY +#if DRACO_IS_INSTALLED public string KHR_draco_mesh_compression; #endif public string KHR_materials_variants; diff --git a/Runtime/Scripts/Schema/IBufferView.cs b/Runtime/Scripts/Schema/IBufferView.cs index f67107266..77d95ee7e 100644 --- a/Runtime/Scripts/Schema/IBufferView.cs +++ b/Runtime/Scripts/Schema/IBufferView.cs @@ -24,5 +24,11 @@ public interface IBufferView /// The length of the bufferView in bytes. /// int ByteLength { get; } + + /// + /// The stride, in bytes, between vertex attributes. + /// + /// When this is 0 or negative, data is tightly packed. + int ByteStride { get; } } } diff --git a/Runtime/Scripts/Schema/MeshPrimitive.cs b/Runtime/Scripts/Schema/MeshPrimitive.cs index 9b072b3e9..24d21c941 100644 --- a/Runtime/Scripts/Schema/MeshPrimitive.cs +++ b/Runtime/Scripts/Schema/MeshPrimitive.cs @@ -114,7 +114,7 @@ public int GetMaterialIndex(int variantIndex) /// internal abstract void UnsetExtensions(); -#if DRACO_UNITY +#if DRACO_IS_INSTALLED public bool IsDracoCompressed => Extensions!=null && Extensions.KHR_draco_mesh_compression != null; #endif @@ -350,7 +350,7 @@ internal void GltfSerialize(JsonWriter writer) [Serializable] public class MeshPrimitiveExtensions { -#if DRACO_UNITY +#if DRACO_IS_INSTALLED // ReSharper disable once InconsistentNaming public MeshPrimitiveDracoExtension KHR_draco_mesh_compression; #endif @@ -362,7 +362,7 @@ public class MeshPrimitiveExtensions internal void GltfSerialize(JsonWriter writer) { writer.AddObject(); -#if DRACO_UNITY +#if DRACO_IS_INSTALLED if (KHR_draco_mesh_compression != null) { writer.AddProperty("KHR_draco_mesh_compression"); KHR_draco_mesh_compression.GltfSerialize(writer); @@ -377,7 +377,7 @@ internal void GltfSerialize(JsonWriter writer) } } -#if DRACO_UNITY +#if DRACO_IS_INSTALLED [Serializable] public class MeshPrimitiveDracoExtension { public int bufferView; diff --git a/Runtime/Scripts/Schema/Root.cs b/Runtime/Scripts/Schema/Root.cs index 17fdcd351..358e93570 100644 --- a/Runtime/Scripts/Schema/Root.cs +++ b/Runtime/Scripts/Schema/Root.cs @@ -511,7 +511,7 @@ internal bool JsonUtilitySecondParseRequired() #endif // GLTFAST_SAFE } } -#if DRACO_UNITY +#if DRACO_IS_INSTALLED if(!check && Meshes!=null) { foreach (var mesh in Meshes) { if (mesh.Primitives != null) { @@ -600,7 +600,7 @@ internal void JsonUtilityCleanupAgainstSecondParse(FakeSchema.Root fakeRoot) var primitive = mesh.Primitives[j]; if (primitive.Extensions == null) continue; var fake = fakeRoot.meshes[i].primitives[j]; -#if DRACO_UNITY +#if DRACO_IS_INSTALLED if (fake.extensions.KHR_draco_mesh_compression == null) { primitive.Extensions.KHR_draco_mesh_compression = null; } diff --git a/Runtime/Scripts/VertexBufferBones.cs b/Runtime/Scripts/VertexBufferBones.cs index 24e2325ea..19b34fa44 100644 --- a/Runtime/Scripts/VertexBufferBones.cs +++ b/Runtime/Scripts/VertexBufferBones.cs @@ -181,37 +181,37 @@ int outputByteStride #endif break; case GltfComponentType.UnsignedShort: + { + var job = new ConvertBoneWeightsUInt16ToFloatInterleavedJob { - var job = new ConvertBoneWeightsUInt16ToFloatInterleavedJob - { - inputByteStride = inputByteStride > 0 ? inputByteStride : 8, - input = (byte*)input, - outputByteStride = outputByteStride, - result = output - }; + inputByteStride = inputByteStride > 0 ? inputByteStride : 8, + input = (byte*)input, + outputByteStride = outputByteStride, + result = output + }; #if UNITY_COLLECTIONS jobHandle = job.ScheduleBatch(count,GltfImport.DefaultBatchCount); #else - jobHandle = job.Schedule(count, GltfImport.DefaultBatchCount); + jobHandle = job.Schedule(count, GltfImport.DefaultBatchCount); #endif - break; - } + break; + } case GltfComponentType.UnsignedByte: + { + var job = new ConvertBoneWeightsUInt8ToFloatInterleavedJob { - var job = new ConvertBoneWeightsUInt8ToFloatInterleavedJob - { - inputByteStride = inputByteStride > 0 ? inputByteStride : 4, - input = (byte*)input, - outputByteStride = outputByteStride, - result = output - }; + inputByteStride = inputByteStride > 0 ? inputByteStride : 4, + input = (byte*)input, + outputByteStride = outputByteStride, + result = output + }; #if UNITY_COLLECTIONS jobHandle = job.ScheduleBatch(count,GltfImport.DefaultBatchCount); #else - jobHandle = job.Schedule(count, GltfImport.DefaultBatchCount); + jobHandle = job.Schedule(count, GltfImport.DefaultBatchCount); #endif - break; - } + break; + } default: m_Logger?.Error(LogCode.TypeUnsupported, "Weights", inputType.ToString()); jobHandle = null; diff --git a/Runtime/Scripts/VertexBufferColors.cs b/Runtime/Scripts/VertexBufferColors.cs index 9ec4877e3..c7392bc1d 100644 --- a/Runtime/Scripts/VertexBufferColors.cs +++ b/Runtime/Scripts/VertexBufferColors.cs @@ -38,7 +38,7 @@ public VertexBufferColors(int vertexCount, ICodeLogger logger) public unsafe bool ScheduleVertexColorJob( int colorAccessorIndex, int offset, - NativeSlice handles, + NativeArray handles, IGltfBuffers buffers ) { @@ -106,6 +106,7 @@ public void Dispose() { foreach (var handle in m_SafetyHandles) { + AtomicSafetyHandle.CheckDeallocateAndThrow(handle); AtomicSafetyHandle.Release(handle); } m_SafetyHandles = null; @@ -133,38 +134,38 @@ NativeArray output switch (inputType) { case GltfComponentType.UnsignedByte: + { + var job = new Jobs.ConvertColorsRgbUInt8ToRGBAFloatJob { - var job = new Jobs.ConvertColorsRgbUInt8ToRGBAFloatJob - { - input = (byte*)input, - inputByteStride = inputByteStride > 0 ? inputByteStride : 3, - result = output - }; - jobHandle = job.Schedule(output.Length, GltfImport.DefaultBatchCount); - } - break; + input = (byte*)input, + inputByteStride = inputByteStride > 0 ? inputByteStride : 3, + result = output + }; + jobHandle = job.Schedule(output.Length, GltfImport.DefaultBatchCount); + } + break; case GltfComponentType.Float: + { + var job = new Jobs.ConvertColorsRGBFloatToRGBAFloatJob { - var job = new Jobs.ConvertColorsRGBFloatToRGBAFloatJob - { - input = (byte*)input, - inputByteStride = inputByteStride > 0 ? inputByteStride : 12, - result = output - }; - jobHandle = job.Schedule(output.Length, GltfImport.DefaultBatchCount); - } - break; + input = (byte*)input, + inputByteStride = inputByteStride > 0 ? inputByteStride : 12, + result = output + }; + jobHandle = job.Schedule(output.Length, GltfImport.DefaultBatchCount); + } + break; case GltfComponentType.UnsignedShort: + { + var job = new Jobs.ConvertColorsRgbUInt16ToRGBAFloatJob { - var job = new Jobs.ConvertColorsRgbUInt16ToRGBAFloatJob - { - input = (ushort*)input, - inputByteStride = inputByteStride > 0 ? inputByteStride : 6, - result = output - }; - jobHandle = job.Schedule(output.Length, GltfImport.DefaultBatchCount); - } - break; + input = (ushort*)input, + inputByteStride = inputByteStride > 0 ? inputByteStride : 6, + result = output + }; + jobHandle = job.Schedule(output.Length, GltfImport.DefaultBatchCount); + } + break; default: m_Logger?.Error(LogCode.ColorFormatUnsupported, attributeType.ToString()); break; @@ -175,59 +176,59 @@ NativeArray output switch (inputType) { case GltfComponentType.UnsignedByte: + { + var job = new Jobs.ConvertColorsRgbaUInt8ToRGBAFloatJob { - var job = new Jobs.ConvertColorsRgbaUInt8ToRGBAFloatJob + input = (byte*)input, + inputByteStride = inputByteStride > 0 ? inputByteStride : 4, + result = output + }; + jobHandle = job.Schedule(output.Length, GltfImport.DefaultBatchCount); + } + break; + case GltfComponentType.Float: + { + if (inputByteStride == 16 || inputByteStride <= 0) + { + var job = new Jobs.MemCopyJob { - input = (byte*)input, - inputByteStride = inputByteStride > 0 ? inputByteStride : 4, - result = output + bufferSize = output.Length * 16, + input = input, + result = output.GetUnsafeReadOnlyPtr() }; - jobHandle = job.Schedule(output.Length, GltfImport.DefaultBatchCount); + jobHandle = job.Schedule(); } - break; - case GltfComponentType.Float: + else { - if (inputByteStride == 16 || inputByteStride <= 0) - { - var job = new Jobs.MemCopyJob - { - bufferSize = output.Length * 16, - input = input, - result = output.GetUnsafeReadOnlyPtr() - }; - jobHandle = job.Schedule(); - } - else + var job = new Jobs.ConvertColorsRGBAFloatToRGBAFloatJob { - var job = new Jobs.ConvertColorsRGBAFloatToRGBAFloatJob - { - input = (byte*)input, - inputByteStride = inputByteStride, - result = output - }; + input = (byte*)input, + inputByteStride = inputByteStride, + result = output + }; #if UNITY_COLLECTIONS jobHandle = job.ScheduleBatch(output.Length,GltfImport.DefaultBatchCount); #else - jobHandle = job.Schedule(output.Length, GltfImport.DefaultBatchCount); + jobHandle = job.Schedule(output.Length, GltfImport.DefaultBatchCount); #endif - } } - break; + } + break; case GltfComponentType.UnsignedShort: + { + var job = new Jobs.ConvertColorsRgbaUInt16ToRGBAFloatJob { - var job = new Jobs.ConvertColorsRgbaUInt16ToRGBAFloatJob - { - input = (ushort*)input, - inputByteStride = inputByteStride > 0 ? inputByteStride : 8, - result = output - }; + input = (ushort*)input, + inputByteStride = inputByteStride > 0 ? inputByteStride : 8, + result = output + }; #if UNITY_COLLECTIONS jobHandle = job.ScheduleBatch(output.Length,GltfImport.DefaultBatchCount); #else - jobHandle = job.Schedule(output.Length, GltfImport.DefaultBatchCount); + jobHandle = job.Schedule(output.Length, GltfImport.DefaultBatchCount); #endif - } - break; + } + break; default: m_Logger?.Error(LogCode.ColorFormatUnsupported, attributeType.ToString()); break; diff --git a/Runtime/Scripts/VertexBufferGenerator.cs b/Runtime/Scripts/VertexBufferGenerator.cs index dc6285324..6ebb20eab 100644 --- a/Runtime/Scripts/VertexBufferGenerator.cs +++ b/Runtime/Scripts/VertexBufferGenerator.cs @@ -3,6 +3,7 @@ using System; using System.Runtime.InteropServices; +using System.Threading.Tasks; using GLTFast.Logging; using GLTFast.Schema; using GLTFast.Vertex; @@ -20,7 +21,7 @@ namespace GLTFast { class VertexBufferGenerator : VertexBufferGeneratorBase - where TMainBuffer : struct + where TMainBuffer : unmanaged { NativeArray m_Data; @@ -87,7 +88,21 @@ public override void Initialize() VertexIntervals[m_Attributes.Length] = vertexCount; } - public override unsafe JobHandle? CreateVertexBuffer() + public override async Task CreateVertexBuffer() + { + var jh = CreateVertexBufferHandle(); + if (!jh.HasValue) + return false; + + while (!jh.Value.IsCompleted) + { + await Task.Yield(); + } + jh.Value.Complete(); + return true; + } + + unsafe JobHandle? CreateVertexBufferHandle() { Profiler.BeginSample("AllocateNativeArray"); m_Data = new NativeArray(VertexCount, defaultAllocator); @@ -203,16 +218,9 @@ unsafe bool SchedulePositionsJobs(int i, byte* vDataPtr, int outputByteStride, N if (m_PositionAccessors[i].bufferView >= 0) { - ((IGltfBuffers)m_GltfImport).GetAccessorDataAndByteStride( - m_Attributes[i].POSITION, - out var posData, - out var posByteStride - ); h = GetVector3Job( - posData.GetUnsafeReadOnlyPtr(), - m_PositionAccessors[i].count, - m_PositionAccessors[i].componentType, - posByteStride, + m_GltfImport, + m_PositionAccessors[i], (float3*)(vDataPtr + outputByteStride * VertexIntervals[i]), outputByteStride, m_PositionAccessors[i].normalized, @@ -275,10 +283,8 @@ out var inputByteStride } var h = GetVector3Job( - input, - nrmAcc.count, - nrmAcc.componentType, - inputByteStride, + m_GltfImport, + nrmAcc, (float3*)(vDataPtr + outputByteStride * VertexIntervals[i] + 12), outputByteStride, nrmAcc.normalized @@ -344,7 +350,7 @@ int ScheduleTexCoordJobs(Attributes att, int uvSetCount, int i, NativeArray handles, r var success = m_Colors.ScheduleVertexColorJob( att.COLOR_0, VertexIntervals[i], - handles.Slice(handleIndex, 1), + handles.GetSubArray(handleIndex, 1), m_GltfImport ); if (!success) diff --git a/Runtime/Scripts/VertexBufferGeneratorBase.cs b/Runtime/Scripts/VertexBufferGeneratorBase.cs index fcca721c8..bbbdb7a19 100644 --- a/Runtime/Scripts/VertexBufferGeneratorBase.cs +++ b/Runtime/Scripts/VertexBufferGeneratorBase.cs @@ -2,6 +2,7 @@ // SPDX-License-Identifier: Apache-2.0 using System; +using System.Threading.Tasks; using Unity.Collections; using Unity.Jobs; using Unity.Mathematics; @@ -38,7 +39,7 @@ protected VertexBufferGeneratorBase(int primitiveCount, GltfImportBase gltfImpor public abstract void AddPrimitive(Attributes att); public abstract void Initialize(); - public abstract JobHandle? CreateVertexBuffer(); + public abstract Task CreateVertexBuffer(); public abstract void ApplyOnMesh(UnityEngine.Mesh msh, MeshUpdateFlags flags = MeshGeneratorBase.defaultMeshUpdateFlags); public abstract int VertexCount { get; } @@ -57,20 +58,16 @@ public void Dispose() /// /// Schedules a job that converts input data into float3 arrays. /// - /// Points at the input data in memory - /// Attribute quantity - /// Input data type - /// Input byte stride + /// Buffer provider + /// glTF accessor /// Points at the destination buffer in memory /// Output byte stride /// If true, integer values have to be normalized /// If true, normalized values will be scaled to have unit length again (only if is true) /// public static unsafe JobHandle? GetVector3Job( - void* input, - int count, - GltfComponentType inputType, - int inputByteStride, + IGltfBuffers buffers, + AccessorBase accessor, float3* output, int outputByteStride, bool normalized = false, @@ -80,58 +77,70 @@ public void Dispose() JobHandle? jobHandle; Profiler.BeginSample("GetVector3Job"); - if (inputType == GltfComponentType.Float) + if (accessor.componentType == GltfComponentType.Float) { + var input = buffers.GetStridedAccessorData( + accessor.bufferView, + accessor.count, + accessor.byteOffset + ); var job = new ConvertVector3FloatToFloatInterleavedJob { - inputByteStride = (inputByteStride > 0) ? inputByteStride : 12, - input = (byte*)input, + input = input, outputByteStride = outputByteStride, result = output }; #if UNITY_COLLECTIONS - jobHandle = job.ScheduleBatch(count,GltfImport.DefaultBatchCount); + jobHandle = job.ScheduleBatch(accessor.count,GltfImport.DefaultBatchCount); #else - jobHandle = job.Schedule(count, GltfImport.DefaultBatchCount); + jobHandle = job.Schedule(accessor.count, GltfImport.DefaultBatchCount); #endif } else - if (inputType == GltfComponentType.UnsignedShort) + if (accessor.componentType == GltfComponentType.UnsignedShort) { + var input = buffers.GetStridedAccessorData( + accessor.bufferView, + accessor.count, + accessor.byteOffset + ); if (normalized) { var job = new ConvertPositionsUInt16ToFloatInterleavedNormalizedJob { - inputByteStride = (inputByteStride > 0) ? inputByteStride : 6, - input = (byte*)input, + input = input, outputByteStride = outputByteStride, result = output }; #if UNITY_COLLECTIONS - jobHandle = job.ScheduleBatch(count,GltfImport.DefaultBatchCount); + jobHandle = job.ScheduleBatch(accessor.count,GltfImport.DefaultBatchCount); #else - jobHandle = job.Schedule(count, GltfImport.DefaultBatchCount); + jobHandle = job.Schedule(accessor.count, GltfImport.DefaultBatchCount); #endif } else { var job = new ConvertPositionsUInt16ToFloatInterleavedJob { - inputByteStride = (inputByteStride > 0) ? inputByteStride : 6, - input = (byte*)input, + input = input, outputByteStride = outputByteStride, result = output }; #if UNITY_COLLECTIONS - jobHandle = job.ScheduleBatch(count,GltfImport.DefaultBatchCount); + jobHandle = job.ScheduleBatch(accessor.count,GltfImport.DefaultBatchCount); #else - jobHandle = job.Schedule(count, GltfImport.DefaultBatchCount); + jobHandle = job.Schedule(accessor.count, GltfImport.DefaultBatchCount); #endif } } else - if (inputType == GltfComponentType.Short) + if (accessor.componentType == GltfComponentType.Short) { + var input = buffers.GetStridedAccessorData( + accessor.bufferView, + accessor.count, + accessor.byteOffset + ); if (normalized) { if (ensureUnitLength) @@ -139,30 +148,28 @@ public void Dispose() // TODO: test. did not have test files var job = new ConvertNormalsInt16ToFloatInterleavedNormalizedJob { - inputByteStride = (inputByteStride > 0) ? inputByteStride : 6, - input = (byte*)input, + input = input, outputByteStride = outputByteStride, result = output }; #if UNITY_COLLECTIONS - jobHandle = job.ScheduleBatch(count,GltfImport.DefaultBatchCount); + jobHandle = job.ScheduleBatch(accessor.count, GltfImport.DefaultBatchCount); #else - jobHandle = job.Schedule(count, GltfImport.DefaultBatchCount); + jobHandle = job.Schedule(accessor.count, GltfImport.DefaultBatchCount); #endif } else { var job = new ConvertVector3Int16ToFloatInterleavedNormalizedJob { - inputByteStride = (inputByteStride > 0) ? inputByteStride : 6, - input = (byte*)input, + input = input, outputByteStride = outputByteStride, result = output }; #if UNITY_COLLECTIONS - jobHandle = job.ScheduleBatch(count,GltfImport.DefaultBatchCount); + jobHandle = job.ScheduleBatch(accessor.count, GltfImport.DefaultBatchCount); #else - jobHandle = job.Schedule(count, GltfImport.DefaultBatchCount); + jobHandle = job.Schedule(accessor.count, GltfImport.DefaultBatchCount); #endif } } @@ -170,51 +177,53 @@ public void Dispose() { var job = new ConvertPositionsInt16ToFloatInterleavedJob { - inputByteStride = (inputByteStride > 0) ? inputByteStride : 6, - input = (byte*)input, + input = input, outputByteStride = outputByteStride, result = output }; #if UNITY_COLLECTIONS - jobHandle = job.ScheduleBatch(count,GltfImport.DefaultBatchCount); + jobHandle = job.ScheduleBatch(accessor.count, GltfImport.DefaultBatchCount); #else - jobHandle = job.Schedule(count, GltfImport.DefaultBatchCount); + jobHandle = job.Schedule(accessor.count, GltfImport.DefaultBatchCount); #endif } } else - if (inputType == GltfComponentType.Byte) + if (accessor.componentType == GltfComponentType.Byte) { + var input = buffers.GetStridedAccessorData( + accessor.bufferView, + accessor.count, + accessor.byteOffset + ); if (normalized) { if (ensureUnitLength) { var job = new ConvertNormalsInt8ToFloatInterleavedNormalizedJob { - input = (sbyte*)input, - inputByteStride = (inputByteStride > 0) ? inputByteStride : 3, + input = input, outputByteStride = outputByteStride, result = output }; #if UNITY_COLLECTIONS - jobHandle = job.ScheduleBatch(count,GltfImport.DefaultBatchCount); + jobHandle = job.ScheduleBatch(accessor.count, GltfImport.DefaultBatchCount); #else - jobHandle = job.Schedule(count, GltfImport.DefaultBatchCount); + jobHandle = job.Schedule(accessor.count, GltfImport.DefaultBatchCount); #endif } else { var job = new ConvertVector3Int8ToFloatInterleavedNormalizedJob() { - input = (sbyte*)input, - inputByteStride = (inputByteStride > 0) ? inputByteStride : 3, + input = input, outputByteStride = outputByteStride, result = output }; #if UNITY_COLLECTIONS - jobHandle = job.ScheduleBatch(count,GltfImport.DefaultBatchCount); + jobHandle = job.ScheduleBatch(accessor.count, GltfImport.DefaultBatchCount); #else - jobHandle = job.Schedule(count, GltfImport.DefaultBatchCount); + jobHandle = job.Schedule(accessor.count, GltfImport.DefaultBatchCount); #endif } } @@ -223,50 +232,52 @@ public void Dispose() // TODO: test positions. did not have test files var job = new ConvertPositionsInt8ToFloatInterleavedJob { - inputByteStride = inputByteStride > 0 ? inputByteStride : 3, - input = (sbyte*)input, + input = input, outputByteStride = outputByteStride, result = output }; #if UNITY_COLLECTIONS - jobHandle = job.ScheduleBatch(count,GltfImport.DefaultBatchCount); + jobHandle = job.ScheduleBatch(accessor.count, GltfImport.DefaultBatchCount); #else - jobHandle = job.Schedule(count, GltfImport.DefaultBatchCount); + jobHandle = job.Schedule(accessor.count, GltfImport.DefaultBatchCount); #endif } } else - if (inputType == GltfComponentType.UnsignedByte) + if (accessor.componentType == GltfComponentType.UnsignedByte) { + var input = buffers.GetStridedAccessorData( + accessor.bufferView, + accessor.count, + accessor.byteOffset + ); // TODO: test. did not have test files if (normalized) { var job = new ConvertPositionsUInt8ToFloatInterleavedNormalizedJob { - input = (byte*)input, - inputByteStride = (inputByteStride > 0) ? inputByteStride : 3, + input = input, outputByteStride = outputByteStride, result = output }; #if UNITY_COLLECTIONS - jobHandle = job.ScheduleBatch(count,GltfImport.DefaultBatchCount); + jobHandle = job.ScheduleBatch(accessor.count, GltfImport.DefaultBatchCount); #else - jobHandle = job.Schedule(count, GltfImport.DefaultBatchCount); + jobHandle = job.Schedule(accessor.count, GltfImport.DefaultBatchCount); #endif } else { var job = new ConvertPositionsUInt8ToFloatInterleavedJob { - input = (byte*)input, - inputByteStride = (inputByteStride > 0) ? inputByteStride : 3, + input = input, outputByteStride = outputByteStride, result = output }; #if UNITY_COLLECTIONS - jobHandle = job.ScheduleBatch(count,GltfImport.DefaultBatchCount); + jobHandle = job.ScheduleBatch(accessor.count, GltfImport.DefaultBatchCount); #else - jobHandle = job.Schedule(count, GltfImport.DefaultBatchCount); + jobHandle = job.Schedule(accessor.count, GltfImport.DefaultBatchCount); #endif } } @@ -294,55 +305,55 @@ public void Dispose() switch (inputType) { case GltfComponentType.Float: + { + var jobTangent = new ConvertTangentsFloatToFloatInterleavedJob { - var jobTangent = new ConvertTangentsFloatToFloatInterleavedJob - { - inputByteStride = inputByteStride > 0 ? inputByteStride : 16, - input = (byte*)input, - outputByteStride = outputByteStride, - result = output - }; + inputByteStride = inputByteStride > 0 ? inputByteStride : 16, + input = (byte*)input, + outputByteStride = outputByteStride, + result = output + }; #if UNITY_COLLECTIONS jobHandle = jobTangent.ScheduleBatch(count,GltfImport.DefaultBatchCount); #else - jobHandle = jobTangent.Schedule(count, GltfImport.DefaultBatchCount); + jobHandle = jobTangent.Schedule(count, GltfImport.DefaultBatchCount); #endif - break; - } + break; + } case GltfComponentType.Short: + { + Assert.IsTrue(normalized); + var jobTangent = new ConvertTangentsInt16ToFloatInterleavedNormalizedJob { - Assert.IsTrue(normalized); - var jobTangent = new ConvertTangentsInt16ToFloatInterleavedNormalizedJob - { - inputByteStride = inputByteStride > 0 ? inputByteStride : 8, - input = (short*)input, - outputByteStride = outputByteStride, - result = output - }; + inputByteStride = inputByteStride > 0 ? inputByteStride : 8, + input = (short*)input, + outputByteStride = outputByteStride, + result = output + }; #if UNITY_COLLECTIONS jobHandle = jobTangent.ScheduleBatch(count,GltfImport.DefaultBatchCount); #else - jobHandle = jobTangent.Schedule(count, GltfImport.DefaultBatchCount); + jobHandle = jobTangent.Schedule(count, GltfImport.DefaultBatchCount); #endif - break; - } + break; + } case GltfComponentType.Byte: + { + Assert.IsTrue(normalized); + var jobTangent = new ConvertTangentsInt8ToFloatInterleavedNormalizedJob { - Assert.IsTrue(normalized); - var jobTangent = new ConvertTangentsInt8ToFloatInterleavedNormalizedJob - { - inputByteStride = inputByteStride > 0 ? inputByteStride : 4, - input = (sbyte*)input, - outputByteStride = outputByteStride, - result = output - }; + inputByteStride = inputByteStride > 0 ? inputByteStride : 4, + input = (sbyte*)input, + outputByteStride = outputByteStride, + result = output + }; #if UNITY_COLLECTIONS jobHandle = jobTangent.ScheduleBatch(count,GltfImport.DefaultBatchCount); #else - jobHandle = jobTangent.Schedule(count, GltfImport.DefaultBatchCount); + jobHandle = jobTangent.Schedule(count, GltfImport.DefaultBatchCount); #endif - break; - } + break; + } default: m_GltfImport.Logger?.Error(LogCode.TypeUnsupported, "Tangent", inputType.ToString()); jobHandle = null; diff --git a/Runtime/Scripts/VertexBufferTexCoords.cs b/Runtime/Scripts/VertexBufferTexCoords.cs index 26d53a189..34fb46457 100644 --- a/Runtime/Scripts/VertexBufferTexCoords.cs +++ b/Runtime/Scripts/VertexBufferTexCoords.cs @@ -30,7 +30,7 @@ protected VertexBufferTexCoordsBase(ICodeLogger logger) public abstract bool ScheduleVertexUVJobs( int offset, int[] uvAccessorIndices, - NativeSlice handles, + NativeArray handles, IGltfBuffers buffers ); public abstract void AddDescriptors(VertexAttributeDescriptor[] dst, ref int offset, int stream); @@ -49,7 +49,7 @@ public void Dispose() protected abstract void Dispose(bool disposing); } - class VertexBufferTexCoords : VertexBufferTexCoordsBase where T : struct + class VertexBufferTexCoords : VertexBufferTexCoordsBase where T : unmanaged { NativeArray m_Data; @@ -66,7 +66,7 @@ public VertexBufferTexCoords(int uvSetCount, int vertexCount, ICodeLogger logger public override unsafe bool ScheduleVertexUVJobs( int offset, int[] uvAccessorIndices, - NativeSlice handles, + NativeArray handles, IGltfBuffers buffers ) { @@ -155,21 +155,21 @@ protected override void Dispose(bool disposing) switch (inputType) { case GltfComponentType.Float: + { + var jobUv = new Jobs.ConvertUVsFloatToFloatInterleavedJob { - var jobUv = new Jobs.ConvertUVsFloatToFloatInterleavedJob - { - inputByteStride = (inputByteStride > 0) ? inputByteStride : sizeof(float2), - input = (byte*)input, - outputByteStride = outputByteStride, - result = output - }; + inputByteStride = (inputByteStride > 0) ? inputByteStride : sizeof(float2), + input = (byte*)input, + outputByteStride = outputByteStride, + result = output + }; #if UNITY_COLLECTIONS jobHandle = jobUv.ScheduleBatch(count,GltfImport.DefaultBatchCount); #else - jobHandle = jobUv.Schedule(count, GltfImport.DefaultBatchCount); + jobHandle = jobUv.Schedule(count, GltfImport.DefaultBatchCount); #endif - } - break; + } + break; case GltfComponentType.UnsignedByte: if (normalized) { diff --git a/Runtime/Scripts/byte3.cs b/Runtime/Scripts/byte3.cs new file mode 100644 index 000000000..65b780166 --- /dev/null +++ b/Runtime/Scripts/byte3.cs @@ -0,0 +1,69 @@ +// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +using System.Runtime.CompilerServices; +using Unity.Mathematics; + +namespace GLTFast +{ + /// A 3 component vector of unsigned bytes. + struct byte3 + { + /// x component of the vector. + public byte x; + /// y component of the vector. + public byte y; + /// z component of the vector. + public byte z; + + /// Constructs a byte3 vector from three byte values. + /// The constructed vector's x component will be set to this value. + /// The constructed vector's y component will be set to this value. + /// The constructed vector's z component will be set to this value. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public byte3(byte x, byte y, byte z) + { + this.x = x; + this.y = y; + this.z = z; + } + + /// + /// Converts 3 component vector from unsigned byte in glTF space to + /// float in Unity space. + /// + /// 3 component vector in Unity space. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public float3 GltfToUnityFloat3() + { + return new float3(-x, y, z); + } + + /// + /// Converts 3 component vector from unsigned byte in glTF space to + /// normalized float vector in Unity space. + /// + /// Normalized 3 component vector in Unity space. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public float3 GltfToUnityNormalizedFloat3() + { + return new float3( + -(x / 255f), + y / 255f, + z / 255f + ); + } + + /// + /// Converts triangle indices from unsigned byte in glTF space to + /// signed int indices in Unity space. + /// + /// Triangle indices vector in Unity space. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public int3 GltfToUnityTriangleIndies() + { + return new int3(x, z, y); + } + } +} diff --git a/Runtime/Scripts/byte3.cs.meta b/Runtime/Scripts/byte3.cs.meta new file mode 100644 index 000000000..22fc6dddb --- /dev/null +++ b/Runtime/Scripts/byte3.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 2439c3c7babb4551a10788676d062c63 +timeCreated: 1742557724 \ No newline at end of file diff --git a/Runtime/Scripts/glTFast.asmdef b/Runtime/Scripts/glTFast.asmdef index da13ad772..0503d1d87 100644 --- a/Runtime/Scripts/glTFast.asmdef +++ b/Runtime/Scripts/glTFast.asmdef @@ -23,22 +23,22 @@ { "name": "com.unity.cloud.draco", "expression": "5.0.0-pre.1", - "define": "DRACO_UNITY" + "define": "DRACO_IS_INSTALLED" }, { - "name": "com.unity.cloud.ktx", - "expression": "", - "define": "KTX_UNITY" + "name": "com.unity.cloud.draco", + "expression": "5.2.0-pre.1", + "define": "DRACO_IS_RECENT" }, { "name": "com.unity.cloud.ktx", - "expression": "1.3.0", - "define": "KTX_UNITY_1_3_OR_NEWER" + "expression": "", + "define": "KTX_IS_INSTALLED" }, { "name": "com.unity.cloud.ktx", - "expression": "2.2.1", - "define": "KTX_UNITY_2_2_OR_NEWER" + "expression": "3.5.0", + "define": "KTX_IS_RECENT" }, { "name": "com.unity.render-pipelines.universal", diff --git a/Runtime/Scripts/sbyte3.cs b/Runtime/Scripts/sbyte3.cs new file mode 100644 index 000000000..565ec0905 --- /dev/null +++ b/Runtime/Scripts/sbyte3.cs @@ -0,0 +1,71 @@ +// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +using System.Runtime.CompilerServices; +using Unity.Mathematics; + +namespace GLTFast +{ + /// A 3 component vector of signed bytes. + struct sbyte3 + { + /// x component of the vector. + public sbyte x; + /// y component of the vector. + public sbyte y; + /// z component of the vector. + public sbyte z; + + /// Constructs an sbyte3 vector from three sbyte values. + /// The constructed vector's x component will be set to this value. + /// The constructed vector's y component will be set to this value. + /// The constructed vector's z component will be set to this value. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public sbyte3(sbyte x, sbyte y, sbyte z) + { + this.x = x; + this.y = y; + this.z = z; + } + + /// + /// Converts 3 component vector from signed byte in glTF space to + /// float in Unity space. + /// + /// 3 component vector in Unity space. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public float3 GltfToUnityFloat3() + { + return new float3(-x, y, z); + } + + /// + /// Converts 3 component vector from signed byte in glTF space to + /// normalized float vector in Unity space. Applies normalization as last step to ensure a magnitude of 1.0. + /// + /// Normalized 3 component vector in Unity space. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public float3 GltfNormalToUnityFloat3() + { + var tmp = new float3(x, y, z) / 127f; + tmp = math.max(tmp, -1f); + tmp.x *= -1; + return math.normalize(tmp); + } + + /// + /// Converts 3 component vector from unsigned byte in glTF space to + /// normalized float vector in Unity space. + /// + /// Normalized 3 component vector in Unity space. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public float3 GltfToUnityNormalizedFloat3() + { + var tmp = new float3(x, y, z) / 127f; + tmp = math.max(tmp, -1f); + tmp.x *= -1; + return tmp; + } + } +} diff --git a/Runtime/Scripts/sbyte3.cs.meta b/Runtime/Scripts/sbyte3.cs.meta new file mode 100644 index 000000000..a5a471806 --- /dev/null +++ b/Runtime/Scripts/sbyte3.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 765bc881475b4cf7bd890fb7d49a70fd +timeCreated: 1742557714 \ No newline at end of file diff --git a/Runtime/Scripts/sbyte4.cs b/Runtime/Scripts/sbyte4.cs new file mode 100644 index 000000000..8a01d108b --- /dev/null +++ b/Runtime/Scripts/sbyte4.cs @@ -0,0 +1,53 @@ +// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +using System.Runtime.CompilerServices; +using Unity.Mathematics; +using static Unity.Mathematics.math; + +namespace GLTFast +{ + /// A 4 component vector of signed bytes. + struct sbyte4 + { + /// x component of the vector. + public sbyte x; + /// y component of the vector. + public sbyte y; + /// z component of the vector. + public sbyte z; + /// w component of the vector. + public sbyte w; + + /// Constructs an sbyte4 vector from four sbyte values. + /// The constructed vector's x component will be set to this value. + /// The constructed vector's y component will be set to this value. + /// The constructed vector's z component will be set to this value. + /// The constructed vector's z component will be set to this value. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public sbyte4(sbyte x, sbyte y, sbyte z, sbyte w) + { + this.x = x; + this.y = y; + this.z = z; + this.w = w; + } + + /// + /// Converts glTF rotation signed byte quaternion values in to a + /// quaternion rotation in Unity space. + /// + /// Rotation in Unity space. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public quaternion GltfToUnityRotation() + { + return new quaternion( + max(x / 127f, -1f), + -max(y / 127f, -1f), + -max(z / 127f, -1f), + max(w / 127f, -1f) + ); + } + } +} diff --git a/Runtime/Scripts/sbyte4.cs.meta b/Runtime/Scripts/sbyte4.cs.meta new file mode 100644 index 000000000..4acf37eb6 --- /dev/null +++ b/Runtime/Scripts/sbyte4.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: a8f23e44a1fe94ac1b62e4f79e5613bd +timeCreated: 1742557714 diff --git a/Runtime/Scripts/short3.cs b/Runtime/Scripts/short3.cs new file mode 100644 index 000000000..d8cfbc49a --- /dev/null +++ b/Runtime/Scripts/short3.cs @@ -0,0 +1,71 @@ +// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +using System.Runtime.CompilerServices; +using Unity.Mathematics; + +namespace GLTFast +{ + /// A 3 component vector of signed 16-bit integers. + struct short3 + { + /// x component of the vector. + public short x; + /// y component of the vector. + public short y; + /// z component of the vector. + public short z; + + /// Constructs a short3 vector from three short values. + /// The constructed vector's x component will be set to this value. + /// The constructed vector's y component will be set to this value. + /// The constructed vector's z component will be set to this value. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public short3(short x, short y, short z) + { + this.x = x; + this.y = y; + this.z = z; + } + + /// + /// Converts 3 component vector from signed byte in glTF space to + /// float in Unity space. + /// + /// 3 component vector in Unity space. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public float3 GltfToUnityFloat3() + { + return new float3(-x, y, z); + } + + /// + /// Converts 3 component vector from signed short in glTF space to + /// normalized float vector in Unity space. Applies normalization as last step to ensure a magnitude of 1.0. + /// + /// Normalized 3 component vector in Unity space. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public float3 GltfNormalToUnityFloat3() + { + var tmp = new float3(x, y, z) / short.MaxValue; + tmp = math.max(tmp, -1f); + tmp.x *= -1; + return math.normalize(tmp); + } + + /// + /// Converts 3 component vector from signed short in glTF space to + /// normalized float vector in Unity space. + /// + /// Normalized 3 component vector in Unity space. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public float3 GltfToUnityNormalizedFloat3() + { + var tmp = new float3(x, y, z) / short.MaxValue; + tmp = math.max(tmp, -1f); + tmp.x *= -1; + return tmp; + } + } +} diff --git a/Runtime/Scripts/short3.cs.meta b/Runtime/Scripts/short3.cs.meta new file mode 100644 index 000000000..ebbddbc3c --- /dev/null +++ b/Runtime/Scripts/short3.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 1180b2b47703400c811e91f629dddfdf +timeCreated: 1742557702 \ No newline at end of file diff --git a/Runtime/Scripts/short4.cs b/Runtime/Scripts/short4.cs new file mode 100644 index 000000000..3e4a16a08 --- /dev/null +++ b/Runtime/Scripts/short4.cs @@ -0,0 +1,39 @@ +// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +using System.Runtime.CompilerServices; +using Unity.Mathematics; +using static Unity.Mathematics.math; + +namespace GLTFast +{ + /// A 4 component vector of signed 16-bit integers. + struct short4 + { + /// x component of the vector. + public short x; + /// y component of the vector. + public short y; + /// z component of the vector. + public short z; + /// w component of the vector. + public short w; + + /// + /// Converts glTF rotation signed short quaternion values in to a + /// quaternion rotation in Unity space. + /// + /// Rotation in Unity space. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public quaternion GltfToUnityRotation() + { + return new quaternion( + max(x / (float)short.MaxValue, -1f), + -max(y / (float)short.MaxValue, -1f), + -max(z / (float)short.MaxValue, -1f), + max(w / (float)short.MaxValue, -1f) + ); + } + } +} diff --git a/Runtime/Scripts/short4.cs.meta b/Runtime/Scripts/short4.cs.meta new file mode 100644 index 000000000..d24ae07bc --- /dev/null +++ b/Runtime/Scripts/short4.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 09fdc6d217f5346208727f4fa6c0a557 +timeCreated: 1742557702 \ No newline at end of file diff --git a/Runtime/Scripts/ushort3.cs b/Runtime/Scripts/ushort3.cs new file mode 100644 index 000000000..dfe7bb759 --- /dev/null +++ b/Runtime/Scripts/ushort3.cs @@ -0,0 +1,56 @@ +// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System.Runtime.CompilerServices; +using Unity.Mathematics; + +namespace GLTFast +{ + /// A 3 component vector of unsigned 16-bit integers. + struct ushort3 + { + /// x component of the vector. + public ushort x; + /// y component of the vector. + public ushort y; + /// z component of the vector. + public ushort z; + + /// + /// Converts 3 component vector from unsigned short in glTF space to + /// float3 in Unity space. + /// + /// 3 component vector in Unity space. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public float3 GltfToUnityFloat3() + { + return new float3(-x, y, z); + } + + /// + /// Converts 3 component vector from unsigned short in glTF space to + /// normalized float vector in Unity space. + /// + /// Normalized 3 component vector in Unity space. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public float3 GltfToUnityNormalizedFloat3() + { + return new float3( + -(x / (float)ushort.MaxValue), + y / (float)ushort.MaxValue, + z / (float)ushort.MaxValue + ); + } + + /// + /// Converts triangle indices from unsigned short in glTF space to + /// signed int indices in Unity space. + /// + /// Triangle indices vector in Unity space. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public int3 GltfToUnityTriangleIndies() + { + return new int3(x, z, y); + } + } +} diff --git a/Runtime/Scripts/ushort3.cs.meta b/Runtime/Scripts/ushort3.cs.meta new file mode 100644 index 000000000..f7f519333 --- /dev/null +++ b/Runtime/Scripts/ushort3.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 49ccf4f02a5d4c2281734c86d16e3e51 +timeCreated: 1742552007 \ No newline at end of file diff --git a/package.json b/package.json index 5a7cb66de..38d1f908f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "com.atteneder.gltfast", - "version": "6.13.1", + "version": "6.14.0", "displayName": "glTFast", "description": "Use glTFast to import and export glTF 3D files efficiently at runtime or in the Editor", "unity": "2021.3", @@ -24,7 +24,7 @@ "com.unity.modules.jsonserialize": "1.0.0", "com.unity.modules.unitywebrequest": "1.0.0", "com.unity.mathematics": "1.2.6", - "com.unity.burst": "1.8.4", + "com.unity.burst": "1.8.24", "com.unity.collections": "1.2.4" }, "unityRelease": "46f1" From a77908be91ee0fdb6007e789aeed51f80580039a Mon Sep 17 00:00:00 2001 From: Andreas Atteneder Date: Thu, 2 Oct 2025 21:03:45 +0200 Subject: [PATCH 15/27] com.atteneder.gltfast Release 6.14.1 --- CHANGELOG.md | 8 ++ Runtime/Scripts/Export/Constants.cs | 2 +- Runtime/Scripts/Schema/MeshPrimitive.cs | 85 +++++++++++--------- Runtime/Scripts/VertexBufferGenerator.cs | 3 +- Runtime/Scripts/VertexBufferGeneratorBase.cs | 3 + package.json | 2 +- 6 files changed, 61 insertions(+), 42 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b333b08e6..b73add20c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,14 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [6.14.1] - 2025-09-30 + +### Changed +- [TryGetAllUVAccessors](xref:GLTFast.Schema.Attributes.TryGetAllUVAccessors*) only returns the first 8, actually supported UV sets (and not the ninth anymore). + +### Fixed +- Avoid crash when loading meshes with more than 8 texture coordinate sets by properly limiting them. + ## [6.14.0] - 2025-09-12 ### Added diff --git a/Runtime/Scripts/Export/Constants.cs b/Runtime/Scripts/Export/Constants.cs index f41baaa6d..1179dacf7 100644 --- a/Runtime/Scripts/Export/Constants.cs +++ b/Runtime/Scripts/Export/Constants.cs @@ -7,7 +7,7 @@ namespace GLTFast.Export { static class Constants { - public const string version = "6.14.0"; + public const string version = "6.14.1"; internal const string mimeTypePNG = "image/png"; internal const string mimeTypeJPG = "image/jpeg"; diff --git a/Runtime/Scripts/Schema/MeshPrimitive.cs b/Runtime/Scripts/Schema/MeshPrimitive.cs index 24d21c941..5c7c2561a 100644 --- a/Runtime/Scripts/Schema/MeshPrimitive.cs +++ b/Runtime/Scripts/Schema/MeshPrimitive.cs @@ -274,53 +274,60 @@ public int GetTexCoordsCount() } /// - /// Tries to consolidate all `TEXCOORD_*` accessor fields into a single array. + /// Consolidates all `TEXCOORD_*` accessor fields into a single array. + /// The result is delimited to the maximum count of texture coordinate sets Unity supports. /// /// Resulting array of accessor indices. - /// If true, the glTF has more UV sets than glTFast supports. + /// If true, the attributes has more UV sets than Unity supports + /// and uvAccessors is delimited. /// True if there's one or more UV sets and the result is valid. False otherwise. public bool TryGetAllUVAccessors(out int[] uvAccessors, out bool limitExceeded) { - if (TEXCOORD_0 >= 0) + var uvCount = GetTexCoordsCount(); + if (uvCount < 1) { - var uvCount = GetTexCoordsCount(); - uvAccessors = new int[uvCount]; - uvAccessors[0] = TEXCOORD_0; - if (TEXCOORD_1 >= 0) - { - uvAccessors[1] = TEXCOORD_1; - } - if (TEXCOORD_2 >= 0) - { - uvAccessors[2] = TEXCOORD_2; - } - if (TEXCOORD_3 >= 0) - { - uvAccessors[3] = TEXCOORD_3; - } - if (TEXCOORD_4 >= 0) - { - uvAccessors[4] = TEXCOORD_4; - } - if (TEXCOORD_5 >= 0) - { - uvAccessors[5] = TEXCOORD_5; - } - if (TEXCOORD_6 >= 0) - { - uvAccessors[6] = TEXCOORD_6; - } - if (TEXCOORD_7 >= 0) - { - uvAccessors[7] = TEXCOORD_7; - } - limitExceeded = TEXCOORD_8 >= 0; - return true; + uvAccessors = null; + limitExceeded = false; + return false; } - uvAccessors = null; - limitExceeded = false; - return false; + limitExceeded = uvCount > VertexBufferGeneratorBase.maxUvSetCount; + if (limitExceeded) + { + uvCount = VertexBufferGeneratorBase.maxUvSetCount; + } + + uvAccessors = new int[uvCount]; + uvAccessors[0] = TEXCOORD_0; + if (uvAccessors.Length >= 2) + { + uvAccessors[1] = TEXCOORD_1; + } + if (uvAccessors.Length >= 3) + { + uvAccessors[2] = TEXCOORD_2; + } + if (uvAccessors.Length >= 4) + { + uvAccessors[3] = TEXCOORD_3; + } + if (uvAccessors.Length >= 5) + { + uvAccessors[4] = TEXCOORD_4; + } + if (uvAccessors.Length >= 6) + { + uvAccessors[5] = TEXCOORD_5; + } + if (uvAccessors.Length >= 7) + { + uvAccessors[6] = TEXCOORD_6; + } + if (uvAccessors.Length >= 8) + { + uvAccessors[7] = TEXCOORD_7; + } + return true; } internal void GltfSerialize(JsonWriter writer) diff --git a/Runtime/Scripts/VertexBufferGenerator.cs b/Runtime/Scripts/VertexBufferGenerator.cs index 6ebb20eab..37e144511 100644 --- a/Runtime/Scripts/VertexBufferGenerator.cs +++ b/Runtime/Scripts/VertexBufferGenerator.cs @@ -116,10 +116,11 @@ public override async Task CreateVertexBuffer() var uvSetCount = firstAttributes.GetTexCoordsCount(); if (uvSetCount > 0) { - if (uvSetCount > 8) + if (uvSetCount > maxUvSetCount) { // More than eight UV sets are not supported yet m_GltfImport.Logger?.Warning(LogCode.UVLimit); + uvSetCount = maxUvSetCount; } jobCount += uvSetCount * m_Attributes.Length; diff --git a/Runtime/Scripts/VertexBufferGeneratorBase.cs b/Runtime/Scripts/VertexBufferGeneratorBase.cs index bbbdb7a19..818f3e62f 100644 --- a/Runtime/Scripts/VertexBufferGeneratorBase.cs +++ b/Runtime/Scripts/VertexBufferGeneratorBase.cs @@ -19,6 +19,9 @@ namespace GLTFast abstract class VertexBufferGeneratorBase : IDisposable { + /// Maximum number of texture coordinate sets Unity supports. + /// + public const int maxUvSetCount = 8; public const Allocator defaultAllocator = Allocator.Persistent; diff --git a/package.json b/package.json index 38d1f908f..ceb060444 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "com.atteneder.gltfast", - "version": "6.14.0", + "version": "6.14.1", "displayName": "glTFast", "description": "Use glTFast to import and export glTF 3D files efficiently at runtime or in the Editor", "unity": "2021.3", From e35dbd7f157d8fdfac3ea33189f4682101b6e613 Mon Sep 17 00:00:00 2001 From: Andreas Atteneder Date: Tue, 25 Nov 2025 12:41:41 +0100 Subject: [PATCH 16/27] com.atteneder.gltfast Release 6.15.0 --- .github/workflows/dotnet-format.yml | 169 ++++ .github/workflows/renovate-validation.yml | 2 +- .github/workflows/renovate.yml | 4 +- CHANGELOG.md | 47 +- DocExamples/LoadGltfFromMemory.cs | 151 +++- .../glTFast.Documentation.Examples.asmdef | 5 + Documentation~/ExportRuntime.md | 2 +- Documentation~/ImportRuntime.md | 166 +--- Documentation~/Original.md | 4 +- Documentation~/UpgradeGuides.md | 2 +- Documentation~/config.json | 3 - Documentation~/features.md | 2 +- Documentation~/installation.md | 15 +- Documentation~/projectMetadata.json | 3 + Documentation~/tests.md | 2 +- Editor/Scripts/GltfImporter.cs | 2 + Editor/Scripts/InstantiationSettingsEditor.cs | 2 - .../MaterialsVariantsComponentInspector.cs | 33 - Editor/Scripts/PackageSetupCheck.cs | 22 +- Editor/Scripts/ShaderGraphGUI.cs | 2 +- README.md | 2 +- Runtime/Scripts/DracoMeshGenerator.cs | 227 ++--- Runtime/Scripts/Export/Constants.cs | 2 +- .../Export/GltfShaderGraphMaterialExporter.cs | 20 - Runtime/Scripts/Export/GltfWriter.cs | 19 +- Runtime/Scripts/Export/ImageExportBase.cs | 10 +- Runtime/Scripts/Export/NonReadableMeshData.cs | 2 - Runtime/Scripts/Export/OrmImageExport.cs | 8 +- Runtime/Scripts/Export/StreamExtension.cs | 38 - Runtime/Scripts/Export/glTFast.Export.asmdef | 5 - Runtime/Scripts/GltfGlobals.cs | 9 - Runtime/Scripts/GltfImport.cs | 787 +++++++++++------- Runtime/Scripts/ImageCreateContext.cs | 4 + Runtime/Scripts/ImageFormat.cs | 16 + ...iveContext.cs.meta => ImageFormat.cs.meta} | 2 +- Runtime/Scripts/ImageFormatExtensions.cs | 27 + ....cs.meta => ImageFormatExtensions.cs.meta} | 2 +- Runtime/Scripts/KtxLoadContext.cs | 13 +- Runtime/Scripts/KtxLoadContextBase.cs | 14 +- Runtime/Scripts/KtxLoadNativeContext.cs | 36 - .../Loading/DefaultDownloadProvider.cs | 12 +- Runtime/Scripts/Logging/ICodeLogger.cs | 4 - Runtime/Scripts/Logging/LogMessages.cs | 15 +- Runtime/Scripts/MainBufferType.cs | 4 +- .../Material/BuiltInMaterialGenerator.cs | 2 +- .../BuiltInShaderGraphMaterialGenerator.cs | 2 +- .../HighDefinitionRPMaterialGenerator.cs | 41 - Runtime/Scripts/Material/MaterialGenerator.cs | 4 +- Runtime/Scripts/Material/MaterialProperty.cs | 2 - .../Material/ShaderGraphMaterialGenerator.cs | 109 +-- .../Material/UniveralRPMaterialGenerator.cs | 4 - .../MaterialsVariantsSlotInstances.cs | 4 - .../MultiMaterialsVariantsSlotInstances.cs | 10 - Runtime/Scripts/MeshGenerator.cs | 3 +- Runtime/Scripts/MeshGeneratorBase.cs | 2 +- Runtime/Scripts/MorphTargetsGenerator.cs | 8 +- .../ReadOnlyNativeArrayFromNativeArray.cs | 6 +- Runtime/Scripts/VertexBufferBones.cs | 23 +- Runtime/Scripts/VertexBufferGenerator.cs | 55 +- Runtime/Scripts/glTFast.asmdef | 19 +- Runtime/Shader/Legacy.meta | 8 - Runtime/Shader/Legacy/README.txt | 3 - Runtime/Shader/Legacy/README.txt.meta | 7 - Runtime/Shader/Legacy/SubGraphs.meta | 8 - .../SubGraphs/EmissionLegacy.shadersubgraph | 156 ---- .../EmissionLegacy.shadersubgraph.meta | 7 - ...R_metallic_roughness_Legacy.shadersubgraph | 753 ----------------- ...allic_roughness_Legacy.shadersubgraph.meta | 7 - ..._specular_glossiness_Legacy.shadersubgraph | 729 ---------------- ...ular_glossiness_Legacy.shadersubgraph.meta | 7 - ...MetallicRoughness-Blend-double.shadergraph | 753 ----------------- ...licRoughness-Blend-double.shadergraph.meta | 7 - ...lTF-pbrMetallicRoughness-Blend.shadergraph | 753 ----------------- ...brMetallicRoughness-Blend.shadergraph.meta | 7 - ...etallicRoughness-Opaque-double.shadergraph | 753 ----------------- ...icRoughness-Opaque-double.shadergraph.meta | 7 - ...TF-pbrMetallicRoughness-Opaque.shadergraph | 693 --------------- ...rMetallicRoughness-Opaque.shadergraph.meta | 7 - ...icRoughness-Premultiply-double.shadergraph | 603 -------------- ...ghness-Premultiply-double.shadergraph.meta | 7 - ...rMetallicRoughness-Premultiply.shadergraph | 603 -------------- ...llicRoughness-Premultiply.shadergraph.meta | 7 - ...pecularGlossiness-Blend-double.shadergraph | 603 -------------- ...arGlossiness-Blend-double.shadergraph.meta | 7 - ...TF-pbrSpecularGlossiness-Blend.shadergraph | 603 -------------- ...rSpecularGlossiness-Blend.shadergraph.meta | 7 - ...ecularGlossiness-Opaque-double.shadergraph | 603 -------------- ...rGlossiness-Opaque-double.shadergraph.meta | 7 - ...F-pbrSpecularGlossiness-Opaque.shadergraph | 603 -------------- ...SpecularGlossiness-Opaque.shadergraph.meta | 7 - .../glTF-unlit-Blend-double.shadergraph | 165 ---- .../glTF-unlit-Blend-double.shadergraph.meta | 7 - .../Legacy/glTF-unlit-Blend.shadergraph | 165 ---- .../Legacy/glTF-unlit-Blend.shadergraph.meta | 7 - .../glTF-unlit-Opaque-double.shadergraph | 165 ---- .../glTF-unlit-Opaque-double.shadergraph.meta | 7 - .../Legacy/glTF-unlit-Opaque.shadergraph | 165 ---- .../Legacy/glTF-unlit-Opaque.shadergraph.meta | 7 - package.json | 6 +- 99 files changed, 1207 insertions(+), 10022 deletions(-) create mode 100644 .github/workflows/dotnet-format.yml delete mode 100644 Documentation~/config.json create mode 100644 Documentation~/projectMetadata.json delete mode 100644 Runtime/Scripts/Export/StreamExtension.cs create mode 100644 Runtime/Scripts/ImageFormat.cs rename Runtime/Scripts/{KtxLoadNativeContext.cs.meta => ImageFormat.cs.meta} (83%) create mode 100644 Runtime/Scripts/ImageFormatExtensions.cs rename Runtime/Scripts/{Export/StreamExtension.cs.meta => ImageFormatExtensions.cs.meta} (83%) delete mode 100644 Runtime/Scripts/KtxLoadNativeContext.cs delete mode 100644 Runtime/Shader/Legacy.meta delete mode 100644 Runtime/Shader/Legacy/README.txt delete mode 100644 Runtime/Shader/Legacy/README.txt.meta delete mode 100644 Runtime/Shader/Legacy/SubGraphs.meta delete mode 100644 Runtime/Shader/Legacy/SubGraphs/EmissionLegacy.shadersubgraph delete mode 100644 Runtime/Shader/Legacy/SubGraphs/EmissionLegacy.shadersubgraph.meta delete mode 100644 Runtime/Shader/Legacy/SubGraphs/PBR_metallic_roughness_Legacy.shadersubgraph delete mode 100644 Runtime/Shader/Legacy/SubGraphs/PBR_metallic_roughness_Legacy.shadersubgraph.meta delete mode 100644 Runtime/Shader/Legacy/SubGraphs/PBR_specular_glossiness_Legacy.shadersubgraph delete mode 100644 Runtime/Shader/Legacy/SubGraphs/PBR_specular_glossiness_Legacy.shadersubgraph.meta delete mode 100644 Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Blend-double.shadergraph delete mode 100644 Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Blend-double.shadergraph.meta delete mode 100644 Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Blend.shadergraph delete mode 100644 Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Blend.shadergraph.meta delete mode 100644 Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Opaque-double.shadergraph delete mode 100644 Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Opaque-double.shadergraph.meta delete mode 100644 Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Opaque.shadergraph delete mode 100644 Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Opaque.shadergraph.meta delete mode 100644 Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Premultiply-double.shadergraph delete mode 100644 Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Premultiply-double.shadergraph.meta delete mode 100644 Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Premultiply.shadergraph delete mode 100644 Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Premultiply.shadergraph.meta delete mode 100644 Runtime/Shader/Legacy/glTF-pbrSpecularGlossiness-Blend-double.shadergraph delete mode 100644 Runtime/Shader/Legacy/glTF-pbrSpecularGlossiness-Blend-double.shadergraph.meta delete mode 100644 Runtime/Shader/Legacy/glTF-pbrSpecularGlossiness-Blend.shadergraph delete mode 100644 Runtime/Shader/Legacy/glTF-pbrSpecularGlossiness-Blend.shadergraph.meta delete mode 100644 Runtime/Shader/Legacy/glTF-pbrSpecularGlossiness-Opaque-double.shadergraph delete mode 100644 Runtime/Shader/Legacy/glTF-pbrSpecularGlossiness-Opaque-double.shadergraph.meta delete mode 100644 Runtime/Shader/Legacy/glTF-pbrSpecularGlossiness-Opaque.shadergraph delete mode 100644 Runtime/Shader/Legacy/glTF-pbrSpecularGlossiness-Opaque.shadergraph.meta delete mode 100644 Runtime/Shader/Legacy/glTF-unlit-Blend-double.shadergraph delete mode 100644 Runtime/Shader/Legacy/glTF-unlit-Blend-double.shadergraph.meta delete mode 100644 Runtime/Shader/Legacy/glTF-unlit-Blend.shadergraph delete mode 100644 Runtime/Shader/Legacy/glTF-unlit-Blend.shadergraph.meta delete mode 100644 Runtime/Shader/Legacy/glTF-unlit-Opaque-double.shadergraph delete mode 100644 Runtime/Shader/Legacy/glTF-unlit-Opaque-double.shadergraph.meta delete mode 100644 Runtime/Shader/Legacy/glTF-unlit-Opaque.shadergraph delete mode 100644 Runtime/Shader/Legacy/glTF-unlit-Opaque.shadergraph.meta diff --git a/.github/workflows/dotnet-format.yml b/.github/workflows/dotnet-format.yml new file mode 100644 index 000000000..4f660de85 --- /dev/null +++ b/.github/workflows/dotnet-format.yml @@ -0,0 +1,169 @@ +name: Code Format (dotnet) + +on: + workflow_dispatch: + inputs: + # NOTICE: run-name seems like it might not be needed but it's necessary in order to leverage + # Yamato's `action_run_name_source` feature which ensures the right jobs gets connected when multiple + # ones are run in parallel. + run-name: + description: "Name of the job run to be presented in the UI." + default: "Code Format (dotnet)" + required: true + type: string + GIT_BRANCH: + description: "Current branch. Normally the value of the GIT_BRANCH environment variable from Yamato." + required: true + type: string + commit: + description: "Commit changes to the branch" + default: "false" + type: choice + options: + - "true" + - "false" + filter: + description: "List of glob pattern to filter files to format separated by new line." + default: "**/*.cs" + type: string + + workflow_call: + inputs: + GIT_BRANCH: + description: "Current branch. Normally the value of the GIT_BRANCH environment variable from Yamato." + required: true + type: string + commit: + description: "Commit changes to the branch" + default: "false" + type: string + filter: + description: "List of glob pattern to filter files to format separated by new line." + default: "**/*.cs" + type: string + +run-name: ${{ inputs.run-name }} + +env: + COMMIT_CHANGES: ${{ inputs.commit }} + CURRENT_BRANCH: ${{ inputs.GIT_BRANCH }} + FILTER: ${{ inputs.filter }} + + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GH_ENTERPRISE_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GH_HOST: "github.cds.internal.unity3d.com" + +jobs: + format: + name: Format (http://go/format) + runs-on: unity-linux-runner + container: + image: europe-docker.pkg.dev/unity-cds-services-prd/ds-docker/unity-ci-format:latest@sha256:73b38fb713c2b95a142ffe870c6e130edda9d3aad61adadfda24fe985973f6b1 + steps: + - name: Checkout + uses: actions/checkout@v5 + with: + ref: ${{ inputs.GIT_BRANCH }} + filter: blob:none + fetch-depth: 1 + sparse-checkout-cone-mode: false + sparse-checkout: | + /.github/workflows/**/* + **/.editorconfig + ${{ inputs.filter }} + + # A reusable workflow consumed from a different repository won't be able to access other files than the workflow itself, therefore we keep configuration embedded + - name: Create and add problem matcher + shell: bash + env: + PROBLEM_MATCHER_CONTENT: | + { + "problemMatcher": [ + { + "owner": "dotnet-format", + "pattern": [ + { + "regexp": "^(.*)\\((\\d+),(\\d+)\\):\\s(.*)\\[\\.\\]$", + "file": 1, + "line": 2, + "column": 3, + "message": 4 + } + ] + } + ] + } + run: | + echo "$PROBLEM_MATCHER_CONTENT" > "$RUNNER_TEMP/problem-matcher.json" + echo "Temp file: $RUNNER_TEMP/problem-matcher.json" + cat "$RUNNER_TEMP/problem-matcher.json" + echo "::add-matcher::$RUNNER_TEMP/problem-matcher.json" + + - name: Log versions + shell: bash + run: | + DOTNET_VERSION=$(dotnet --version) + echo "Read more about code formatting: [http://go/format](http://go/format)" >> $GITHUB_STEP_SUMMARY + echo "dotnet: $DOTNET_VERSION" >> $GITHUB_STEP_SUMMARY + + # Create a rsp file to overcome potential issues with the command line length with a large number of files + - name: Build RSP file + shell: bash + run: | + { + echo "format " + echo "whitespace " + echo ". " + echo "--folder " + echo "--verbosity " + echo "detailed " + } >> args.rsp + + if [[ "$COMMIT_CHANGES" != "true" ]]; + then + echo "--verify-no-changes " >> args.rsp + fi + + PR_FILES=$(gh pr view $CURRENT_BRANCH --json files --jq '.files.[].path') + printf "PR files:\n$PR_FILES\n\n" + + if [[ "$PR_FILES" == "" ]]; + then + echo "No files to format." + echo "No files to format." >> $GITHUB_STEP_SUMMARY + # Add a marker to the args.rsp file to avoid passing an empty list of files + PR_FILES="NOTHING_TO_FORMAT_MARKER" + fi + + echo "--include " >> args.rsp + echo "$PR_FILES" >> args.rsp + + echo "rsp file:" + cat args.rsp + + - name: Run Format + id: format + shell: bash + run: > + DOTNET_NOLOGO=1 + dotnet @args.rsp + + - name: Clean-up RSP file + shell: bash + run: | + rm args.rsp + + - name: Commit changes + if: | + inputs.commit == 'true' + shell: bash + env: + ACTOR: ${{ github.actor }} + ACTOR_ID: ${{ github.actor_id }} + run: | + git config user.name "$ACTOR (via GitHub Actions)" + git config user.email "$ACTOR_ID+$ACTOR@users.noreply.github.com" + git add . + git diff-index --quiet HEAD || git commit -m "[skip ci] Code format" + git push + diff --git a/.github/workflows/renovate-validation.yml b/.github/workflows/renovate-validation.yml index eba75dd54..d35ae8f67 100644 --- a/.github/workflows/renovate-validation.yml +++ b/.github/workflows/renovate-validation.yml @@ -32,7 +32,7 @@ jobs: with: # This is the image that contains our custom renovate and will be auto # updated by Renovate itself. - image: europe-docker.pkg.dev/unity-cds-services-prd/ds-docker/renovate:11.0.1@sha256:096e72ef7c63a4898b63716c0b2d08aa929d059bceaeca6fef3dcd75b8c27b8b + image: europe-docker.pkg.dev/unity-cds-services-prd/ds-docker/renovate:11.0.2@sha256:5763c5480cd516edcac86211601f7650cb01a4a5de296b2a09c9267072e16f52 dry-run: full log-level: ${{ github.event.inputs.log-level }} secrets: diff --git a/.github/workflows/renovate.yml b/.github/workflows/renovate.yml index 73322a399..f80f82ab7 100644 --- a/.github/workflows/renovate.yml +++ b/.github/workflows/renovate.yml @@ -19,7 +19,7 @@ on: required: false schedule: # Default daily scheduled run. Feel free to change this to run when you want it to. - - cron: '25 17 * * *' + - cron: '25 7 * * 1-5' jobs: renovate: @@ -28,7 +28,7 @@ jobs: with: # This is the image that contains our custom renovate and will be auto # updated by Renovate itself. - image: europe-docker.pkg.dev/unity-cds-services-prd/ds-docker/renovate:11.0.1@sha256:096e72ef7c63a4898b63716c0b2d08aa929d059bceaeca6fef3dcd75b8c27b8b + image: europe-docker.pkg.dev/unity-cds-services-prd/ds-docker/renovate:11.0.2@sha256:5763c5480cd516edcac86211601f7650cb01a4a5de296b2a09c9267072e16f52 log-level: ${{ github.event.inputs.log-level }} secrets: renovate-auth-secret: ${{ secrets.RENOVATE_AUTH_SECRET }} diff --git a/CHANGELOG.md b/CHANGELOG.md index b73add20c..15ef61e8a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,45 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [6.15.0] - 2025-11-17 + +### Added +- Loading KTX textures from data URIs. +- (Test) OpenGltfScene: Shortcut Control+X clears the previously loaded glTF. Useful for testing resource deallocation. +- (Test) Assets variants of *SubMesh* and *Rainbow Cuboid* for testing import of compressed/uncompressed multi-primitive meshes. +- (Test) glTFs with different kinds of image formats and sources. +- (Test) *No Normal* test asset. + +### Changed +- *glTFast* will return a success value of `true` even if an image fails to load (which has not been consistent across the API before). This makes it easier to display assets despite of non-critical loading errors. Users who need stricter behavior can resort to monitoring for error logs (see the runtime import manual about logging or the `logger` parameter of [GltfImport constructor](xref:GLTFast.GltfImportBase.#ctor(GLTFast.Loading.IDownloadProvider,GLTFast.IDeferAgent,GLTFast.Materials.IMaterialGenerator,GLTFast.Logging.ICodeLogger))). +- Primitives of a Draco compressed mesh will be decoded into in a single Unity mesh with multiple sub-meshes instead of multiple Unity meshes (thanks [Kibsgaard](https://github.com/Kibsgaard) for initiating this in [#33](https://github.com/Unity-Technologies/com.unity.cloud.gltfast/pull/33)). +- [Draco for Unity] minimum required version was raised to 5.4.0. +- (Performance) Texture data is not copied into managed memory before loading via [Texture2D.LoadImage](xref:UnityEngine.ImageConversion.LoadImage(UnityEngine.Texture2D,System.Byte[],System.Boolean)) (applies for Unity 6.0 or newer). +- (Performance) Avoid copy of entire data URI string by using `ReadOnlySpan` instead sub-stringing. +- (Performance) Base64-encoded data URIs are now decoded into [NativeArray<byte>](xref:Unity.Collections.NativeArray`1) instead of `byte[]`, reducing GC allocations. +- [KTX for Unity] minimum required version was raised to 3.6.0. +- Up-to-date versions of soft-dependencies [KTX for Unity] or [Draco for Unity] are enforced by raising a compiler error if an outdated version of either of those is installed. + +### Fixed +- Corrected test cases for `GltfTestModels` importer tests. +- Properly dispose GPU instancing buffers after Editor imports. +- Multi-primitive, skinned meshes import properly to Unity meshes with multiple sub-meshes. +- For Draco compressed meshes, it's now ensured that morph targets are retrieved to completion and resources are disposed properly. +- Sampler settings conflicts result in a proper warning message if they cannot be resolved by instantiating the Texture2D (can occur on design-time imports). +- Implicitly add normals to the vertex attribute layout if tangents are required (fixes [#41](https://github.com/Unity-Technologies/com.unity.cloud.gltfast/issues/41)). +- Properly release native resources bound by morph targets jobs in context of decoding Draco compressed meshes. +- Avoid pointless copying of glb-embedded textures if ImageConversion module is disabled anyways. +- Avoid download of textures if ImageConversion module is disabled anyways. +- Gracefully fail when buffer data URI has incorrect media-type field or undersized content length. +- Just like PNG or Jpeg, KTX textures are now loaded readable as well if it's required by the import settings, the platform or for applying multiple sampler settings. +- Properly abort if loading of a data URI encoded image failed. +- Don't crash when a buffer failed to load when loading from `string`, `byte` arrays or `Stream`. +- Return value of [GltfImport](xref:GLTFast.GltfImportBase) loading methods ([Load](xref:GLTFast.GltfImportBase.Load*), [LoadFile](xref:GLTFast.GltfImportBase.LoadFile*), [LoadGltfBinary](xref:GLTFast.GltfImportBase.LoadGltfBinary*), [LoadGltfBinary](xref:GLTFast.GltfImportBase.LoadGltfJson*) and [LoadStream](xref:GLTFast.GltfImportBase.LoadStream*)) has been made consistent. +- (Documentation) various broken links fixed. + +### Removed +- Broken consistency check between image data URI mediatype against image's mimeType. + ## [6.14.1] - 2025-09-30 ### Changed @@ -35,8 +74,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - (CI) SonarQube scan job. ### Deprecated -- [GLTFast.ManagedNativeArray](xref:GLTFast.ManagedNativeArray`2). It will be removed from public API in a future release. For internal development it's been replaced by `ReadOnlyBufferManagedArray`. -- [GLTFast.Export.ManagedNativeArray](xref:GLTFast.Export.ManagedNativeArray`2). It will get sealed or removed from public API in a future release. +- `GLTFast.ManagedNativeArray`. It will be removed from public API in a future release. For internal development it's been replaced by `ReadOnlyNativeArrayFromManagedArray`. +- `GLTFast.Export.ManagedNativeArray`. It will get sealed or removed from public API in a future release. - [IGltfReadable.GetAccessorData](xref:GLTFast.IGltfReadable.GetAccessorData(System.Int32)). Along with [IGltfReadable.GetAccessor](xref:GLTFast.IGltfReadable.GetAccessor(System.Int32)) it is going to be removed and replaced with an improved way to access accessors' data in a future release. ## [6.13.1] - 2025-07-17 @@ -83,12 +122,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed - (Import)`InvalidOperationException` on multi-primitive meshes with vertex colors thrown by the native container safety system (fixes [#30](https://github.com/Unity-Technologies/com.unity.cloud.gltfast/issues/30)). - (Export) Sub-meshes that have a base vertex other than zero are exported with correct indices now. -- Reliability issues related to lack of certain async calls in [GltfImport](xref:GLTFast.GltfImport*) and [GltfWriter](xref:GLTFast.GltfWriter*). +- Reliability issues related to lack of certain async calls in [GltfImport](xref:GLTFast.GltfImport) and [GltfWriter](xref:GLTFast.Export.GltfWriter). ## [6.11.0] - 2025-03-13 ### Added -- [GltfImport.Load](xref:GLTFast.GltfImportBase.Load(Unity.Collections.NativeArray{System.Byte}.ReadOnly,Uri,GLTFast.ImportSettings,CancellationToken)) overload that accept glTF data in form of [NativeArray<byte>.ReadOnly](xref:Unity.Collections.NativeArray`1.ReadOnly). +- [GltfImport.Load](xref:GLTFast.GltfImportBase.Load(Unity.Collections.NativeArray{System.Byte}.ReadOnly,System.Uri,GLTFast.ImportSettings,System.Threading.CancellationToken)) overload that accept glTF data in form of [NativeArray<byte>.ReadOnly](xref:Unity.Collections.NativeArray`1.ReadOnly). - [INativeDownload](xref:GLTFast.Loading.INativeDownload), which can be used to expand [IDownload](xref:GLTFast.Loading.IDownload) implementations to provide access to downloaded data directly without creating a copy in managed memory. - Content-based glTF JSON vs. glTF-Binary detection (limited to Unity 2021 LTS or newer; resolves [#193](https://github.com/atteneder/glTFast/issues/193)). diff --git a/DocExamples/LoadGltfFromMemory.cs b/DocExamples/LoadGltfFromMemory.cs index 43caa89e0..10c36d7e3 100644 --- a/DocExamples/LoadGltfFromMemory.cs +++ b/DocExamples/LoadGltfFromMemory.cs @@ -1,6 +1,7 @@ // SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 +using System.Collections.Generic; using System.IO; using System.Threading.Tasks; using GLTFast.Logging; @@ -24,7 +25,6 @@ async Task Start() await LoadGltfFile(); } -#if UNITY_2021_3_OR_NEWER #region LoadGltfFromMemory async Task LoadGltfFile() { @@ -41,21 +41,148 @@ async Task LoadGltfFile() } } #endregion -#else - async Task LoadGltfFile() + + void LoadViaComponent() { - var gltfDataAsByteArray = File.ReadAllBytes(filePath); - var gltf = new GltfImport(logger: new ConsoleLogger()); - var success = await gltf.Load( - gltfDataAsByteArray, - // The URI of the original data is important for resolving relative URIs within the glTF - new Uri(filePath) - ); + #region LoadViaComponent + var gltf = gameObject.AddComponent(); + gltf.Url = "https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Assets/main/Models/Duck/glTF/Duck.gltf"; + #endregion + } + + async Task ImportSettings() + { + #region ImportSettings + var gltf = new GltfImport(); + + // Create a settings object and configure it accordingly + var settings = new ImportSettings + { + GenerateMipMaps = true, + AnisotropicFilterLevel = 3, + NodeNameMethod = NameImportMethod.OriginalUnique + }; + // Load the glTF and pass along the settings + var success = await gltf.Load("file:///path/to/file.gltf", settings); + if (success) { - await gltf.InstantiateMainSceneAsync(transform); + var gameObject = new GameObject("glTF"); + await gltf.InstantiateMainSceneAsync(gameObject.transform); + } + else + { + Debug.LogError("Loading glTF failed!"); } + #endregion + } + + async Task Instantiation() + { + #region Instantiation + // First step: load glTF + var gltf = new GLTFast.GltfImport(); + var success = await gltf.Load("file:///path/to/file.gltf"); + + if (success) + { + // Here you can customize the post-loading behavior + + // Get the first material + var material = gltf.GetMaterial(); + Debug.LogFormat("The first material is called {0}", material.name); + + // Instantiate the glTF's main scene + await gltf.InstantiateMainSceneAsync(new GameObject("Instance 1").transform); + // Instantiate the glTF's main scene + await gltf.InstantiateMainSceneAsync(new GameObject("Instance 2").transform); + + // Instantiate each of the glTF's scenes + for (var sceneId = 0; sceneId < gltf.SceneCount; sceneId++) + { + await gltf.InstantiateSceneAsync(transform, sceneId); + } + } + else + { + Debug.LogError("Loading glTF failed!"); + } + #endregion + } + +#if UNITY_ANIMATION + async Task SceneInstanceAccess() + { + #region SceneInstanceAccess + var gltfImport = new GltfImport(); + await gltfImport.Load("test.gltf"); + var instantiator = new GameObjectInstantiator(gltfImport, transform); + var success = await gltfImport.InstantiateMainSceneAsync(instantiator); + if (success) + { + + // Get the SceneInstance to access the instance's properties + var sceneInstance = instantiator.SceneInstance; + + // Enable the first imported camera (which are disabled by default) + if (sceneInstance.Cameras is { Count: > 0 }) + { + sceneInstance.Cameras[0].enabled = true; + } + + // Decrease lights' ranges + if (sceneInstance.Lights != null) + { + foreach (var gltfLight in sceneInstance.Lights) + { + gltfLight.range *= 0.1f; + } + } + + // Play the default (i.e. the first) animation clip + var legacyAnimation = instantiator.SceneInstance.LegacyAnimation; + if (legacyAnimation is not null) + { + legacyAnimation.Play(); + } + } + #endregion + } +#endif // UNITY_ANIMATION + + async Task CustomDeferAgent() + { + var manyUrls = new[] + { + "https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Assets/main/Models/Duck/glTF/Duck.gltf" + }; + #region CustomDeferAgent + // Recommended: Use a common defer agent across multiple GltfImport instances! + // For a stable frame rate: + IDeferAgent deferAgent = gameObject.AddComponent(); + // Or for faster loading: + deferAgent = new UninterruptedDeferAgent(); + + var tasks = new List(); + + foreach (var url in manyUrls) + { + var gltf = new GltfImport(null, deferAgent); + var task = gltf.Load(url).ContinueWith( + async t => + { + if (t.Result) + { + await gltf.InstantiateMainSceneAsync(transform); + } + }, + TaskScheduler.FromCurrentSynchronizationContext() + ); + tasks.Add(task); + } + + await Task.WhenAll(tasks); + #endregion } -#endif } } diff --git a/DocExamples/glTFast.Documentation.Examples.asmdef b/DocExamples/glTFast.Documentation.Examples.asmdef index 33815d462..fb50cc469 100644 --- a/DocExamples/glTFast.Documentation.Examples.asmdef +++ b/DocExamples/glTFast.Documentation.Examples.asmdef @@ -15,6 +15,11 @@ "autoReferenced": false, "defineConstraints": [], "versionDefines": [ + { + "name": "com.unity.modules.animation", + "expression": "", + "define": "UNITY_ANIMATION" + }, { "name": "com.unity.nuget.newtonsoft-json", "expression": "3", diff --git a/Documentation~/ExportRuntime.md b/Documentation~/ExportRuntime.md index a1f10b091..b9dc3d25e 100644 --- a/Documentation~/ExportRuntime.md +++ b/Documentation~/ExportRuntime.md @@ -36,7 +36,7 @@ Further, the export can be customized by passing [ExportSettings](xref:GLTFast.E ### Scene Origin -When adding GameObjects to a glTF scene, the resulting glTF root nodes' positions will be their original GameObjects' world position in the Unity scene. That might be undesirable (e.g. if the scene is far off the origin and thus not centered), so [AddScene](xref:GLTFast.Export.GameObjectExport.AddScene(ICollection{UnityEngine.GameObject},Unity.Mathematics.float4x4,System.String)) allows you to provide an inverse scene origin matrix that'll be applied to all root-level nodes. +When adding GameObjects to a glTF scene, the resulting glTF root nodes' positions will be their original GameObjects' world position in the Unity scene. That might be undesirable (e.g. if the scene is far off the origin and thus not centered), so [AddScene](xref:GLTFast.Export.GameObjectExport.AddScene(System.Collections.Generic.ICollection{UnityEngine.GameObject},Unity.Mathematics.float4x4,System.String)) allows you to provide an inverse scene origin matrix that'll be applied to all root-level nodes. Here's an example how to export a GameObject, discarding its transform: diff --git a/Documentation~/ImportRuntime.md b/Documentation~/ImportRuntime.md index fb5482194..7afff1142 100644 --- a/Documentation~/ImportRuntime.md +++ b/Documentation~/ImportRuntime.md @@ -7,20 +7,38 @@ You can load a glTF™ asset from an URL or a file path. ## Runtime Loading via Component -Add a `GltfAsset` component to a GameObject. It offers a lot of settings for import and instantiation. +Add a [GltfAsset] component to a GameObject. It offers a lot of settings for import and instantiation. ![GltfAsset component][gltfasset_component] ## Runtime Loading via Script -```C# -var gltf = gameObject.AddComponent(); -gltf.Url = "https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Models/master/2.0/Duck/glTF/Duck.gltf"; -``` +Conveniently you can re-use the [GltfAsset] component to load from script: + +[!code-cs [load-via-component](../DocExamples/LoadGltfFromMemory.cs#LoadViaComponent)] + +To load from sources other than a URI or for advanced [customization](#customize-loading-behavior), loading is performed with these generalized steps: + +1. Create a [GltfImport] instance. +2. Call one of the instance's loading methods, depending on your source. + - From URI, [Load(Uri,…)](xref:GLTFast.GltfImportBase.Load(System.Uri,GLTFast.ImportSettings,System.Threading.CancellationToken)) or [Load(string,…)](xref:GLTFast.GltfImportBase.Load(System.String,GLTFast.ImportSettings,System.Threading.CancellationToken)) + - From a buffer [Load(NativeArray<byte>.ReadOnly,…)](xref:GLTFast.GltfImportBase.Load(Unity.Collections.NativeArray{System.Byte}.ReadOnly,System.Uri,GLTFast.ImportSettings,System.Threading.CancellationToken)) + - From a managed buffer [Load(byte[],…)](xref:GLTFast.GltfImportBase.Load(System.Byte[],System.Uri,GLTFast.ImportSettings,System.Threading.CancellationToken)) + - From a file path [LoadFile(string,…)](xref:GLTFast.GltfImportBase.LoadFile*) + - From a glTF JSON string [LoadGltfJson(string,…)][GltfImportLoadGltfJson] + - From a [Stream] [LoadStream(Stream,…)][GltfImportLoadStream] +3. Instantiate one ore more scenes however often you need. + - The main scene [InstantiateMainSceneAsync](xref:GLTFast.GltfImportBase.InstantiateMainSceneAsync*) + - Or select one by index [InstantiateSceneAsync](xref:GLTFast.GltfImportBase.InstantiateSceneAsync*) +4. Destroy your scene instances after they're no longer needed. +5. Call [Dispose](xref:GLTFast.GltfImportBase.Dispose) on your [GltfImport] instance. -### Load from byte array +Both the loading and instantiation methods return a boolean value indicating if the procedure was successful. -glTF data can be loaded directly from memory using [GltfImport.Load][GltfImportLoad] overloads that accept data in form of [NativeArray<byte>.ReadOnly][NativeArrayByteReadOnly] or `byte[]`. +> [!IMPORTANT] +> Loading/instantiation methods returning `true` merely indicates that no critical error occurred. That includes partially loaded scenes (e.g. a texture failed to load). To enforce stricter behavior one has to consider the log items in addition (see [Logging](#logging)). + +### Example: Load from byte array [!code-cs [load-gltf-from-memory](../DocExamples/LoadGltfFromMemory.cs#LoadGltfFromMemory)] @@ -37,68 +55,20 @@ Loading via script allows you to: - Customize [instantiation](#instantiation) - Load glTF once and instantiate its scenes many times (see example [below](#custom-post-loading-behavior)) - Access data of glTF scene (for example get material; see example [below](#custom-post-loading-behavior)) -- [Logging](#logging) allow reacting and communicating incidents during loading and instantiation +- [Logging](#logging) allows reacting to and communicating incidents during loading and instantiation - Tweak and optimize loading performance ### Import Settings `GltfImport.Load` accepts an optional instance of [`ImportSettings`][ImportSettings] as parameter. Have a look at this class to see all options available. Here's an example usage: -```C# -async void Start() -{ - var gltf = new GLTFast.GltfImport(); - - // Create a settings object and configure it accordingly - var settings = new ImportSettings { - GenerateMipMaps = true, - AnisotropicFilterLevel = 3, - NodeNameMethod = NameImportMethod.OriginalUnique - }; - // Load the glTF and pass along the settings - var success = await gltf.Load("file:///path/to/file.gltf", settings); - - if (success) { - var gameObject = new GameObject("glTF"); - await gltf.InstantiateMainSceneAsync(gameObject.transform); - } - else { - Debug.LogError("Loading glTF failed!"); - } -} -``` +[!code-cs [import-settings](../DocExamples/LoadGltfFromMemory.cs#ImportSettings)] ### Custom Post-Loading Behavior The async `Load` method can be awaited and followed up by custom behavior. -```C# -async void Start() { - // First step: load glTF - var gltf = new GLTFast.GltfImport(); - var success = await gltf.Load("file:///path/to/file.gltf"); - - if (success) { - // Here you can customize the post-loading behavior - - // Get the first material - var material = gltf.GetMaterial(); - Debug.LogFormat("The first material is called {0}", material.name); - - // Instantiate the glTF's main scene - await gltf.InstantiateMainSceneAsync( new GameObject("Instance 1").transform ); - // Instantiate the glTF's main scene - await gltf.InstantiateMainSceneAsync( new GameObject("Instance 2").transform ); - - // Instantiate each of the glTF's scenes - for (int sceneId = 0; sceneId < gltf.SceneCount; sceneId++) { - await gltf.InstantiateSceneAsync(transform, sceneId); - } - } else { - Debug.LogError("Loading glTF failed!"); - } -} -``` +[!code-cs [instantiation](../DocExamples/LoadGltfFromMemory.cs#Instantiation)] ### Instantiation @@ -165,51 +135,20 @@ After a glTF scene was instanced, you can access selected components for further [`GameObjectInstantiator`][GameObjectInstantiator] provides a [`SceneInstance`][GameObjectSceneInstance] for that purpose. Here's some code that demonstrates how to access it -```csharp -async void Start() -{ - - var gltfImport = new GltfImport(); - await gltfImport.Load("test.gltf"); - var instantiator = new GameObjectInstantiator(gltfImport,transform); - var success = await gltfImport.InstantiateMainSceneAsync(instantiator); - if (success) { - - // Get the SceneInstance to access the instance's properties - var sceneInstance = instantiator.SceneInstance; - - // Enable the first imported camera (which are disabled by default) - if (sceneInstance.Cameras is { Count: > 0 }) { - sceneInstance.Cameras[0].enabled = true; - } - - // Decrease lights' ranges - if (sceneInstance.Lights != null) { - foreach (var glTFLight in sceneInstance.Lights) { - glTFLight.range *= 0.1f; - } - } - - // Play the default (i.e. the first) animation clip - var legacyAnimation = instantiator.SceneInstance.LegacyAnimation; - if (legacyAnimation != null) { - legacyAnimation.Play(); - } - } -} -``` +[!code-cs [SceneInstanceAccess](../DocExamples/LoadGltfFromMemory.cs#SceneInstanceAccess)] ### Logging When loading a glTF file, *Unity glTFast* logs messages of varying severity (errors, warnings or infos). Developers can choose what to make of those log messages. Examples: - Log to console in readable form +- React to non-critical errors (like an image texture failed to load) in a nuanced way - Feed the information into an analytics framework - Display details to the users -The [GltfAsset][GltfAsset] component logs all of those messages to the console by default. +The [GltfAsset] component logs all of those messages to the console by default. -You can customize logging by providing an implementation of [ICodeLogger][ICodeLogger] to the constructors of [GltfImport][GltfImportCtor] or [GameObjectInstantiator][GameObjectInstantiatorCtor]. +You can customize logging by providing an implementation of [ICodeLogger][ICodeLogger] to the constructors of [GltfImport] or [GameObjectInstantiator]. > [!IMPORTANT] > Not providing an `ICodeLogger` will disable logging altogether, which makes finding the cause of problems hard! Always use a logger like the `ConsoleLogger` during development. @@ -225,7 +164,7 @@ When loading glTFs, *Unity glTFast* let's you optimize towards one of two diamet - A stable frame rate - Fastest loading time -By default each `GltfAsset` instance tries not to block the main thread for longer than a certain time budget and defer the remaining loading process to the next frame / game loop iteration. +By default each [GltfAsset] instance tries not to block the main thread for longer than a certain time budget and defer the remaining loading process to the next frame / game loop iteration. If you load many glTF files at once, by default they won't be aware of each other and collectively might block the main game loop for too long. @@ -240,36 +179,12 @@ You can accomplish the same from script by calling `GltfImport.SetDefaultDeferAg For most granular control, you can pass a custom defer agent to each individual `GltfImport` instance: -```C# -async Task CustomDeferAgentPerGltfImport() { - // Recommended: Use a common defer agent across multiple GltfImport instances! - // For a stable frame rate: - IDeferAgent deferAgent = gameObject.AddComponent(); - // Or for faster loading: - deferAgent = new UninterruptedDeferAgent(); - - var tasks = new List(); - - foreach( var url in manyUrls) { - var gltf = new GLTFast.GltfImport(null,deferAgent); - var task = gltf.Load(url).ContinueWith( - async t => { - if (t.Result) { - await gltf.InstantiateMainSceneAsync(transform); - } - }, - TaskScheduler.FromCurrentSynchronizationContext() - ); - tasks.Add(task); - } - - await Task.WhenAll(tasks); -} -``` +[!code-cs [CustomDeferAgent](../DocExamples/LoadGltfFromMemory.cs#CustomDeferAgent)] -> Note 1: Depending on your glTF scene, using the `UninterruptedDeferAgent` may block the main thread for up to multiple seconds. Be sure to not do this during critical game play action. +> [!NOTE] +> Depending on your glTF scene, using the `UninterruptedDeferAgent` may block the main thread for up to multiple seconds. Be sure to not do this during critical game play action. > -> Note2 : Using the `TimeBudgetPerFrameDeferAgent` does **not** guarantee a stutter free frame rate. This is because some sub tasks of the loading routine (like uploading a texture to the GPU) may take too long, cannot be interrupted and **have** to be done on the main thread. +> Using the `TimeBudgetPerFrameDeferAgent` does **not** guarantee a stutter free frame rate. This is because some sub tasks of the loading routine (like uploading a texture to the GPU) may take too long, cannot be interrupted and **have** to be done on the main thread. ### Disposing Resources @@ -285,12 +200,12 @@ When you no longer need a loaded instance of a glTF scene you might want to remo [ConsoleLogger]: xref:GLTFast.Logging.ConsoleLogger [GltfAsset]: xref:GLTFast.GltfAsset [GltfImport]: xref:GLTFast.GltfImport -[GltfImportCtor]: xref:GLTFast.GltfImport.#ctor* -[GltfImportDispose]: xref:GLTFast.GltfImport.Dispose +[GltfImportDispose]: xref:GLTFast.GltfImportBase.Dispose [GltfImportLoad]: xref:GLTFast.GltfImportBase.Load* [GltfImportLoadGltfBinary]: xref:GLTFast.GltfImportBase.LoadGltfBinary* +[GltfImportLoadGltfJson]: xref:GLTFast.GltfImportBase.LoadGltfJson* +[GltfImportLoadStream]: xref:GLTFast.GltfImportBase.LoadStream* [GameObjectInstantiator]: xref:GLTFast.GameObjectInstantiator -[GameObjectInstantiatorCtor]: xref:GLTFast.GameObjectInstantiator.#ctor* [gltfasset_component]: Images/gltfasset_component.png "Inspector showing a GltfAsset component added to a GameObject" [ICodeLogger]: xref:GLTFast.Logging.ICodeLogger [IDownload]: xref:GLTFast.Loading.IDownload @@ -303,4 +218,5 @@ When you no longer need a loaded instance of a glTF scene you might want to remo [NativeArrayByteReadOnly]: xref:Unity.Collections.NativeArray`1.ReadOnly [GameObjectSceneInstance]: xref:GLTFast.GameObjectSceneInstance [SceneObjectCreation]: xref:GLTFast.SceneObjectCreation +[Stream]: xref:System.IO.Stream [Unity]: https://unity.com diff --git a/Documentation~/Original.md b/Documentation~/Original.md index 77f1d9fac..8ca31f624 100644 --- a/Documentation~/Original.md +++ b/Documentation~/Original.md @@ -19,6 +19,6 @@ If you want to clone the GIT repository and installed the package locally (which The package identifier in the `main` branch was changed, which likely leads to errors if you've cloned it before and pulled that change. In that case either switch to the `openupm` branch or [transition to the new package identifier][transition]. -[fork]: ./UpgradeGuides#unity-fork -[transition]: ./UpgradeGuides#transition-to-unity-gltfast +[fork]: ./UpgradeGuides.md#unity-fork +[transition]: ./UpgradeGuides.md#transition-to-unity-gltfast [OpenUPM]: https://openupm.com/ diff --git a/Documentation~/UpgradeGuides.md b/Documentation~/UpgradeGuides.md index 2cf38eb43..1e52f3496 100644 --- a/Documentation~/UpgradeGuides.md +++ b/Documentation~/UpgradeGuides.md @@ -38,7 +38,7 @@ For now, both the Unity variant and the original version will receive updates. The C# namespaces are identical between the variants, so all you need to do is: - Removed original *glTFast* (with package identifier `com.atteneder.gltfast`). -- [Install *Unity glTFast*](installation.html) (`com.unity.cloud.gltfast`). +- [Install *Unity glTFast*](installation.md) (`com.unity.cloud.gltfast`). - Update assembly definition references (if your project had any). - Update any dependencies in your packages manifest (if your package had any) diff --git a/Documentation~/config.json b/Documentation~/config.json deleted file mode 100644 index 7af1ad869..000000000 --- a/Documentation~/config.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "DefineConstants": "DRACO_IS_INSTALLED;DRACO_IS_RECENT;KTX_UNITY;KTX_UNITY_IS_UP_TO_DATE;USING_URP;USING_HDRP;USING_HDRP_10_OR_NEWER;UNITY_PHYSICS;UNITY_IMAGECONVERSION;UNITY_WEBREQUEST_TEXTURE;MESHOPT;USING_URP_12_OR_NEWER;UNITY_SHADER_GRAPH;UNITY_SHADER_GRAPH_12_OR_NEWER;UNITY_ANIMATION;UNITY_ENTITIES_GRAPHICS;NEWTONSOFT_JSON;UNITY_COLLECTIONS" -} diff --git a/Documentation~/features.md b/Documentation~/features.md index 4e88b2659..7edfde0b4 100644 --- a/Documentation~/features.md +++ b/Documentation~/features.md @@ -308,7 +308,7 @@ Possibly incomplete list of things that are known to not work with Entities yet: ## Unity Version Support -*Unity glTFast* requires Unity 2021.3.46f1 or newer. +*Unity glTFast* requires Unity 2022.3.67f2 or newer. ## Legend diff --git a/Documentation~/installation.md b/Documentation~/installation.md index 7bc42f322..037fa1dd9 100644 --- a/Documentation~/installation.md +++ b/Documentation~/installation.md @@ -2,14 +2,17 @@ ## Install the *Unity glTFast* package using the Unity Package Manager +> [!TIP] +> Click the following link to fast-track the installation and skip to step 5: [com.unity.cloud.gltfast](com.unity3d.kharma:upmpackage/com.unity.cloud.gltfast) + To install the *Unity glTFast* package, follow these steps: -- In your Unity project, go to Windows > Package Manager. -- On the status bar, select the Add (+) button. -- From the Add menu, select Add + package by name. Name and Version fields appear. -- In the Name field, enter `com.unity.cloud.gltfast`. -- Select Add. -- The Editor installs the latest available version of the package and any dependent packages. +1. In your Unity project, go to Windows > Package Manager. +2. On the status bar, select the Add (+) button. +3. From the Add menu, select Add + package by name. Name and Version fields appear. +4. In the Name field, enter `com.unity.cloud.gltfast`. +5. Click *Add*. +6. The Editor installs the latest available version of the package and any dependent packages. ## Optional Packages diff --git a/Documentation~/projectMetadata.json b/Documentation~/projectMetadata.json new file mode 100644 index 000000000..5852d2bdb --- /dev/null +++ b/Documentation~/projectMetadata.json @@ -0,0 +1,3 @@ +{ + "pmdt-additional-preprocessors": "DRACO_IS_INSTALLED;DRACO_IS_RECENT;KTX_IS_INSTALLED;KTX_IS_RECENT;USING_URP;USING_HDRP;USING_HDRP_17_OR_NEWER;UNITY_PHYSICS;UNITY_IMAGECONVERSION;UNITY_WEBREQUEST_TEXTURE;MESHOPT;UNITY_SHADER_GRAPH;UNITY_ANIMATION;UNITY_ENTITIES_GRAPHICS;NEWTONSOFT_JSON;UNITY_COLLECTIONS;UNITY_MATH_1_3_OR_NEWER" +} diff --git a/Documentation~/tests.md b/Documentation~/tests.md index db5bb34bb..af81d6deb 100644 --- a/Documentation~/tests.md +++ b/Documentation~/tests.md @@ -8,7 +8,7 @@ Once your project is correctly setup (by either opening one of the provided [test projects](test-project-setup.md#test-projects) or following the steps to [setup your own project](test-project-setup.md#setup-a-custom-project)) you'll be able to run all tests via the *Test Runner* window (under *Window* → *General* → *Test Runner*; see [Test Framework documentation][UTFRunTests] for details about running tests). > [!NOTE] -> Passing all tests is a requirement for getting a [contribution](contribute.md) accepted. +> Passing all tests is a requirement for getting a [contribution](contributing.md) accepted. On an unmodified copy of *glTFast* all tests should pass. Once you start introducing changes it's recommended to periodically check that the tests still pass. diff --git a/Editor/Scripts/GltfImporter.cs b/Editor/Scripts/GltfImporter.cs index c0c6b3dc2..833296b38 100644 --- a/Editor/Scripts/GltfImporter.cs +++ b/Editor/Scripts/GltfImporter.cs @@ -290,6 +290,8 @@ public override void OnImportAsset(AssetImportContext ctx) Debug.LogError($"Failed to import {assetPath} (see inspector for details)", this); } reportItems = reportItemList.ToArray(); + + m_Gltf.DisposeRequiredForInstantiationData(); } void ImportScene( diff --git a/Editor/Scripts/InstantiationSettingsEditor.cs b/Editor/Scripts/InstantiationSettingsEditor.cs index 519cbffc0..3c900bfcf 100644 --- a/Editor/Scripts/InstantiationSettingsEditor.cs +++ b/Editor/Scripts/InstantiationSettingsEditor.cs @@ -30,9 +30,7 @@ internal static void CreateUI(SerializedObject serializedObject, VisualElement c prop = serializedObject.FindProperty($"{pathPrefix}layer"); var layerField = new LayerField("Destination Layer"); -#if UNITY_2021_2_OR_NEWER layerField.AddToClassList(BaseField.alignedFieldUssClassName); -#endif layerField.BindProperty(prop); container.Add(layerField); diff --git a/Editor/Scripts/MaterialsVariantsComponentInspector.cs b/Editor/Scripts/MaterialsVariantsComponentInspector.cs index 257251e90..dbf02239c 100644 --- a/Editor/Scripts/MaterialsVariantsComponentInspector.cs +++ b/Editor/Scripts/MaterialsVariantsComponentInspector.cs @@ -14,9 +14,7 @@ class MaterialsVariantsComponentInspector : UnityEditor.Editor [SerializeField] VisualTreeAsset m_MainMarkup; List m_VariantNames; -#if UNITY_2021_2_OR_NEWER DropdownField m_Dropdown; -#endif public override VisualElement CreateInspectorGUI() { @@ -37,7 +35,6 @@ public override VisualElement CreateInspectorGUI() } } var myInspector = new VisualElement(); -#if UNITY_2021_2_OR_NEWER m_MainMarkup.CloneTree(myInspector); m_Dropdown = myInspector.Query().First(); @@ -52,29 +49,9 @@ public override VisualElement CreateInspectorGUI() m_Dropdown.RegisterValueChangedCallback(OnMaterialsVariantChanged); myInspector.Add(m_Dropdown); } -#else - if (m_VariantNames == null) - { - myInspector.SetEnabled(false); - } - else - { - for (var i = 0; i < m_VariantNames.Count; i++) - { - var button = new Button - { - text = m_VariantNames[i] - }; - - button.RegisterCallback(OnVariantButtonClicked, i - 1); // asset is the root visual element that will be closed - myInspector.Add(button); - } - } -#endif return myInspector; } -#if UNITY_2021_2_OR_NEWER void OnMaterialsVariantChanged(ChangeEvent evt) { var control = (target as MaterialsVariantsComponent)?.Control; @@ -83,15 +60,5 @@ void OnMaterialsVariantChanged(ChangeEvent evt) _ = control.ApplyMaterialsVariantAsync(m_Dropdown.index - 1); } } -#else - void OnVariantButtonClicked(ClickEvent evt, int variantIndex) - { - var control = (target as MaterialsVariantsComponent)?.Control; - if (control != null) - { - _ = control.ApplyMaterialsVariantAsync(variantIndex); - } - } -#endif } } diff --git a/Editor/Scripts/PackageSetupCheck.cs b/Editor/Scripts/PackageSetupCheck.cs index 775fa47a6..e21383573 100644 --- a/Editor/Scripts/PackageSetupCheck.cs +++ b/Editor/Scripts/PackageSetupCheck.cs @@ -1,21 +1,16 @@ // SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 -#if UNITY_2021_2_OR_NEWER -#define HYPERLINK -#define COMBINED -#endif - using System; -using System.Collections.Generic; using UnityEditor; using UnityEditor.PackageManager; using UnityEditor.PackageManager.Requests; using UnityEngine; +using UnityEngine.TestTools; namespace GLTFast.Editor { - [InitializeOnLoad] + [InitializeOnLoad, ExcludeFromCoverage] static class PackageSetupCheck { static ListRequest s_ListRequest; @@ -48,9 +43,7 @@ static PackageSetupCheck() { EditorApplication.update += WaitForPackageList; s_ListRequest = Client.List(true); -#if HYPERLINK EditorGUI.hyperLinkClicked += HyperLinkClicked; -#endif } static void WaitForPackageList() @@ -90,10 +83,9 @@ PackageReplacement pkg } } -#if HYPERLINK static void HyperLinkClicked(EditorWindow window, HyperLinkClickedEventArgs args) { - if(args.hyperLinkData.TryGetValue("command", out var command) && command=="replace") + if (args.hyperLinkData.TryGetValue("command", out var command) && command == "replace") { if (args.hyperLinkData.TryGetValue("arg", out var pkg)) { @@ -107,9 +99,7 @@ static void HyperLinkClicked(EditorWindow window, HyperLinkClickedEventArgs args } } } -#endif -#if COMBINED static void ReplacePackage(PackageReplacement package) { if (EditorUtility.DisplayDialog( @@ -126,7 +116,6 @@ static void ReplacePackage(PackageReplacement package) ); } } -#endif } struct PackageReplacement @@ -144,14 +133,9 @@ public void LogUpgradeMessage() var message = $"Deprecated package {legacyName} ({legacyIdentifier}) detected!\n" + $"glTFast now requires {name} ({identifier}) instead to provide support for " + $"{feature}.\n"; -#if HYPERLINK message += $"You can automatically replace the " + $"deprecated package or do it manually following the documentation."; -#else - message += "To upgrade the package, follow the documentation at " + - $"{upgradeDocsUri}"; -#endif Debug.LogWarning(message); } } diff --git a/Editor/Scripts/ShaderGraphGUI.cs b/Editor/Scripts/ShaderGraphGUI.cs index 6dea276eb..4f3e4f118 100644 --- a/Editor/Scripts/ShaderGraphGUI.cs +++ b/Editor/Scripts/ShaderGraphGUI.cs @@ -1,7 +1,7 @@ // SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 -#if USING_URP || USING_HDRP || (UNITY_SHADER_GRAPH_12_OR_NEWER && GLTFAST_BUILTIN_SHADER_GRAPH) +#if USING_URP || USING_HDRP || GLTFAST_BUILTIN_SHADER_GRAPH #define GLTFAST_SHADER_GRAPH #endif diff --git a/README.md b/README.md index d65037ea9..889ff7500 100644 --- a/README.md +++ b/README.md @@ -51,7 +51,7 @@ Add a `GltfAsset` component to a GameObject. ```C# var gltf = gameObject.AddComponent(); -gltf.url = "https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Models/master/2.0/Duck/glTF/Duck.gltf"; +gltf.url = "https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Assets/main/Models/Duck/glTF/Duck.gltf"; ``` See [Runtime Loading via Script](./Documentation~/ImportRuntime.md#runtime-loading-via-script) in the documentation for more details and instructions how to [customize the loading behavior](./Documentation~/ImportRuntime.md#customize-loading-behavior) via script. diff --git a/Runtime/Scripts/DracoMeshGenerator.cs b/Runtime/Scripts/DracoMeshGenerator.cs index 6ec54b0ce..fd79daed6 100644 --- a/Runtime/Scripts/DracoMeshGenerator.cs +++ b/Runtime/Scripts/DracoMeshGenerator.cs @@ -11,69 +11,68 @@ using Draco; using GLTFast.Logging; using GLTFast.Schema; +using Unity.Jobs; using UnityEngine.Assertions; using UnityEngine.Rendering; using Mesh = UnityEngine.Mesh; namespace GLTFast { - class DracoMeshGenerator : MeshGeneratorBase { - - Bounds? m_Bounds; - + class DracoMeshGenerator : MeshGeneratorBase + { readonly bool m_NeedsNormals; readonly bool m_NeedsTangents; + readonly bool m_HasMorphTargets; + JobHandle m_MorphTargetsJobHandle; + + public override bool IsCompleted => base.IsCompleted && (!m_HasMorphTargets || m_MorphTargetsJobHandle.IsCompleted); + public DracoMeshGenerator( IReadOnlyList primitives, - SubMeshAssignment[] subMeshAssignments, string[] morphTargetNames, string meshName, GltfImportBase gltfImport ) : base(meshName) { - // TODO: Add support for decoding multiple primitives into one mesh with sub-meshes. - Assert.IsTrue( - primitives.Count == 1, - "Draco-compressed, multi primitives/sub-mesh meshes are not supported." - ); - - Assert.IsNull( - subMeshAssignments, - "Draco-compressed, multi primitives/sub-mesh meshes are not supported." - ); - var morphTargets = primitives[0].targets; - var hasMorphTargets = morphTargets != null && morphTargets.Length > 0; + m_HasMorphTargets = morphTargets is { Length: > 0 }; var vertexCount = 0; - var vertexIntervals = hasMorphTargets - ? new int[primitives.Count + 1] + var primitivesCount = primitives.Count; + var vertexIntervals = m_HasMorphTargets + ? new int[primitivesCount + 1] : null; - for (var index = 0; index < primitives.Count; index++) + var bounds = new Bounds[primitivesCount]; + + for (var index = 0; index < primitivesCount; index++) { var primitive = primitives[index]; Assert.IsTrue(primitive.IsDracoCompressed); var posAccessor = ((IGltfBuffers)gltfImport).GetAccessor(primitive.attributes.POSITION); - if (hasMorphTargets) + if (m_HasMorphTargets) { vertexIntervals[index] = vertexCount; } vertexCount += posAccessor.count; - var bounds = posAccessor.TryGetBounds(); - - if (bounds.HasValue) - { - m_Bounds = bounds.Value; - } - else + if (bounds != null) { - gltfImport.Logger?.Error(LogCode.MeshBoundsMissing, primitive.attributes.POSITION.ToString()); + var subMeshBounds = posAccessor.TryGetBounds(); + + if (subMeshBounds.HasValue) + { + bounds[index] = subMeshBounds.Value; + } + else + { + gltfImport.Logger?.Error(LogCode.MeshBoundsMissing, primitive.attributes.POSITION.ToString()); + bounds = null; + } } if (primitive.material < 0) @@ -88,8 +87,9 @@ GltfImportBase gltfImport } } - if (hasMorphTargets) + if (m_HasMorphTargets) { + vertexIntervals[^1] = vertexCount; InitializeMorphTargets( primitives, morphTargetNames, @@ -100,7 +100,7 @@ GltfImportBase gltfImport ); } - m_CreationTask = Decode(primitives, gltfImport); + m_CreationTask = Decode(primitives, gltfImport, bounds); } void InitializeMorphTargets( @@ -112,10 +112,9 @@ void InitializeMorphTargets( GltfImportBase gltfImport ) { - vertexIntervals[vertexIntervals.Length-1] = vertexCount; m_MorphTargetsGenerator = new MorphTargetsGenerator( vertexCount, - 1, + primitives.Count, morphTargets.Length, morphTargetNames, morphTargets[0].NORMAL >= 0, @@ -128,50 +127,51 @@ GltfImportBase gltfImport for (var morphTargetIndex = 0; morphTargetIndex < primitive.targets.Length; morphTargetIndex++) { var target = primitive.targets[morphTargetIndex]; - m_MorphTargetsGenerator.AddMorphTarget( 0, morphTargetIndex, target); + m_MorphTargetsGenerator.AddMorphTarget(vertexIntervals[subMesh], subMesh, morphTargetIndex, target); } } + m_MorphTargetsJobHandle = m_MorphTargetsGenerator.GetJobHandle(); } - async Task Decode(IReadOnlyList primitives, IGltfBuffers buffers) + async Task Decode( + IReadOnlyList primitives, + IGltfBuffers buffers, + Bounds[] bounds + ) { - Mesh mesh = null; - foreach (var primitive in primitives) + var bufferViews = new NativeArray.ReadOnly[primitives.Count]; + var attributesArray = new Attributes[primitives.Count]; + + for (var index = 0; index < primitives.Count; index++) { - var dracoExt = primitive.Extensions.KHR_draco_mesh_compression; - var buffer = buffers.GetBufferView(dracoExt.bufferView, out _); - mesh = await StartDecode(buffer.AsNativeArrayReadOnly(), dracoExt.attributes); + var dracoExt = primitives[index].Extensions.KHR_draco_mesh_compression; + bufferViews[index] = buffers.GetBufferView(dracoExt.bufferView, out _).AsNativeArrayReadOnly(); + attributesArray[index] = dracoExt.attributes; } + var mesh = await StartDecode(bufferViews, attributesArray, bounds==null); + if (mesh is null) { return null; } - if (m_Bounds.HasValue) { - mesh.bounds = m_Bounds.Value; - - // Setting the sub-meshes' bounds to the overall bounds - // Calculating the actual sub-mesh bounds (by iterating the verts referenced - // by the sub-mesh indices) would be slow. Also, hardly any glTFs re-use - // the same vertex buffer across primitives of a node (which is the - // only way a mesh can have sub-meshes) - for (var i = 0; i < mesh.subMeshCount; i++) { - var subMeshDescriptor = mesh.GetSubMesh(i); - subMeshDescriptor.bounds = m_Bounds.Value; - mesh.SetSubMesh( - i, - subMeshDescriptor, - MeshUpdateFlags.DontValidateIndices - | MeshUpdateFlags.DontResetBoneBounds - | MeshUpdateFlags.DontNotifyMeshUsers - | MeshUpdateFlags.DontRecalculateBounds - ); + if (bounds != null) + { + UpdateSubMeshBounds(0); + var overallBounds = bounds[0]; + for (var i = 1; i < mesh.subMeshCount; i++) + { + UpdateSubMeshBounds(i); + overallBounds.Encapsulate(bounds[i]); } - } else { - mesh.RecalculateBounds(); + mesh.bounds = overallBounds; } - if (m_MorphTargetsGenerator != null) { + if (m_MorphTargetsGenerator != null) + { + while (!m_MorphTargetsJobHandle.IsCompleted) + await Task.Yield(); + m_MorphTargetsJobHandle.Complete(); await m_MorphTargetsGenerator.ApplyOnMeshAndDispose(mesh); } @@ -182,59 +182,88 @@ async Task Decode(IReadOnlyList primitives, IGltfBuffer #endif return mesh; + + void UpdateSubMeshBounds(int i) + { + var subMeshDescriptor = mesh.GetSubMesh(i); + subMeshDescriptor.bounds = bounds[i]; + mesh.SetSubMesh( + i, + subMeshDescriptor, + MeshUpdateFlags.DontValidateIndices + | MeshUpdateFlags.DontResetBoneBounds + | MeshUpdateFlags.DontNotifyMeshUsers + | MeshUpdateFlags.DontRecalculateBounds + ); + } } - async Task StartDecode(NativeArray.ReadOnly data, Attributes dracoAttributes) + async Task StartDecode( + NativeArray.ReadOnly[] data, + Attributes[] attributesArray, + bool calculateBounds + ) { - var flags = DecodeSettings.ConvertSpace; + var decodeSettings = DecodeSettings.ConvertSpace; if (m_NeedsTangents) { - flags |= DecodeSettings.RequireNormalsAndTangents; + decodeSettings |= DecodeSettings.RequireNormalsAndTangents; } else if (m_NeedsNormals) { - flags |= DecodeSettings.RequireNormals; + decodeSettings |= DecodeSettings.RequireNormals; } if (m_MorphTargetsGenerator != null) { - flags |= DecodeSettings.ForceUnityVertexLayout; + decodeSettings |= DecodeSettings.ForceUnityVertexLayout; + } + if (!calculateBounds) + { + decodeSettings |= DecodeSettings.DontCalculateBounds; } - return await DracoDecoder.DecodeMesh(data, flags, GenerateAttributeIdMap(dracoAttributes)); + return await DracoDecoder.DecodeMesh(data, decodeSettings, GenerateAttributeIdMaps(attributesArray)); } - static Dictionary GenerateAttributeIdMap(Attributes attributes) + static Dictionary[] GenerateAttributeIdMaps(Attributes[] attributesArray) { - var result = new Dictionary(); - if (attributes.POSITION >= 0) - result[VertexAttribute.Position] = attributes.POSITION; - if (attributes.NORMAL >= 0) - result[VertexAttribute.Normal] = attributes.NORMAL; - if (attributes.TANGENT >= 0) - result[VertexAttribute.Tangent] = attributes.TANGENT; - if (attributes.COLOR_0 >= 0) - result[VertexAttribute.Color] = attributes.COLOR_0; - if (attributes.TEXCOORD_0 >= 0) - result[VertexAttribute.TexCoord0] = attributes.TEXCOORD_0; - if (attributes.TEXCOORD_1 >= 0) - result[VertexAttribute.TexCoord1] = attributes.TEXCOORD_1; - if (attributes.TEXCOORD_2 >= 0) - result[VertexAttribute.TexCoord2] = attributes.TEXCOORD_2; - if (attributes.TEXCOORD_3 >= 0) - result[VertexAttribute.TexCoord3] = attributes.TEXCOORD_3; - if (attributes.TEXCOORD_4 >= 0) - result[VertexAttribute.TexCoord4] = attributes.TEXCOORD_4; - if (attributes.TEXCOORD_5 >= 0) - result[VertexAttribute.TexCoord5] = attributes.TEXCOORD_5; - if (attributes.TEXCOORD_6 >= 0) - result[VertexAttribute.TexCoord6] = attributes.TEXCOORD_6; - if (attributes.TEXCOORD_7 >= 0) - result[VertexAttribute.TexCoord7] = attributes.TEXCOORD_7; - if (attributes.WEIGHTS_0 >= 0) - result[VertexAttribute.BlendWeight] = attributes.WEIGHTS_0; - if (attributes.JOINTS_0 >= 0) - result[VertexAttribute.BlendIndices] = attributes.JOINTS_0; - return result; + var results = new Dictionary[attributesArray.Length]; + for (var i = 0; i < attributesArray.Length; i++) + { + var attributes = attributesArray[i]; + var result = new Dictionary(); + results[i] = result; + if (attributes.POSITION >= 0) + result[VertexAttribute.Position] = attributes.POSITION; + if (attributes.NORMAL >= 0) + result[VertexAttribute.Normal] = attributes.NORMAL; + if (attributes.TANGENT >= 0) + result[VertexAttribute.Tangent] = attributes.TANGENT; + if (attributes.COLOR_0 >= 0) + result[VertexAttribute.Color] = attributes.COLOR_0; + if (attributes.TEXCOORD_0 >= 0) + result[VertexAttribute.TexCoord0] = attributes.TEXCOORD_0; + if (attributes.TEXCOORD_1 >= 0) + result[VertexAttribute.TexCoord1] = attributes.TEXCOORD_1; + if (attributes.TEXCOORD_2 >= 0) + result[VertexAttribute.TexCoord2] = attributes.TEXCOORD_2; + if (attributes.TEXCOORD_3 >= 0) + result[VertexAttribute.TexCoord3] = attributes.TEXCOORD_3; + if (attributes.TEXCOORD_4 >= 0) + result[VertexAttribute.TexCoord4] = attributes.TEXCOORD_4; + if (attributes.TEXCOORD_5 >= 0) + result[VertexAttribute.TexCoord5] = attributes.TEXCOORD_5; + if (attributes.TEXCOORD_6 >= 0) + result[VertexAttribute.TexCoord6] = attributes.TEXCOORD_6; + if (attributes.TEXCOORD_7 >= 0) + result[VertexAttribute.TexCoord7] = attributes.TEXCOORD_7; + if (attributes.WEIGHTS_0 >= 0) + result[VertexAttribute.BlendWeight] = attributes.WEIGHTS_0; + if (attributes.JOINTS_0 >= 0) + result[VertexAttribute.BlendIndices] = attributes.JOINTS_0; + } + + return results; } } } diff --git a/Runtime/Scripts/Export/Constants.cs b/Runtime/Scripts/Export/Constants.cs index 1179dacf7..37a682404 100644 --- a/Runtime/Scripts/Export/Constants.cs +++ b/Runtime/Scripts/Export/Constants.cs @@ -7,7 +7,7 @@ namespace GLTFast.Export { static class Constants { - public const string version = "6.14.1"; + public const string version = "6.15.0"; internal const string mimeTypePNG = "image/png"; internal const string mimeTypeJPG = "image/jpeg"; diff --git a/Runtime/Scripts/Export/GltfShaderGraphMaterialExporter.cs b/Runtime/Scripts/Export/GltfShaderGraphMaterialExporter.cs index c14700c98..aca5bc53c 100644 --- a/Runtime/Scripts/Export/GltfShaderGraphMaterialExporter.cs +++ b/Runtime/Scripts/Export/GltfShaderGraphMaterialExporter.cs @@ -20,23 +20,15 @@ public class GltfShaderGraphMaterialExporter : GltfMaterialExporter { protected override bool IsDoubleSided(Material material) { -#if !USING_URP || USING_URP_12_OR_NEWER if (TryGetValue(material, MaterialProperty.Cull, out int cull)) { return cull == (int)CullMode.Off; } return false; -#else - // Legacy URP shader graphs have postfix "-double" in their name if they are double-sided. - var shaderName = material.shader.name; - - return shaderName.EndsWith("-double", StringComparison.InvariantCulture); -#endif } protected override MaterialBase.AlphaMode GetAlphaMode(Material material) { -#if !USING_URP || USING_URP_12_OR_NEWER if (TryGetValue(material, MaterialProperty.AlphaClip, out int alphaClip) && alphaClip == 1) { @@ -48,18 +40,6 @@ protected override MaterialBase.AlphaMode GetAlphaMode(Material material) ? MaterialBase.AlphaMode.Opaque : MaterialBase.AlphaMode.Blend; } -#else - // Legacy URP shader graphs have postfix "-Blend" or "-Blend-double" in their name if they are blended. - var shaderName = material.shader.name; - - var startIndex = math.max(0, shaderName.Length - 14); - if (shaderName.LastIndexOf("-Blend", startIndex, StringComparison.InvariantCulture) >= 0 - || shaderName.LastIndexOf("-Premultiply", startIndex, StringComparison.InvariantCulture) >= 0) - { - return MaterialBase.AlphaMode.Blend; - } -#endif - return MaterialBase.AlphaMode.Opaque; } diff --git a/Runtime/Scripts/Export/GltfWriter.cs b/Runtime/Scripts/Export/GltfWriter.cs index c8d4f78e1..183e486a1 100755 --- a/Runtime/Scripts/Export/GltfWriter.cs +++ b/Runtime/Scripts/Export/GltfWriter.cs @@ -655,18 +655,9 @@ async Task SaveAndDispose(Stream outStream, string bufferPath = null, stri return true; } - static -#if UNITY_2021_3_OR_NEWER - async -#endif - Task WriteBytesToStream(Stream outStream, byte[] bytes) + static async Task WriteBytesToStream(Stream outStream, byte[] bytes) { -#if UNITY_2021_3_OR_NEWER await outStream.WriteAsync(bytes); -#else - outStream.Write(bytes); - return Task.CompletedTask; -#endif } async Task WriteJsonToStream(Stream outStream) @@ -989,7 +980,6 @@ IMeshData[] CollectMeshData(out UnityEngine.Mesh.MeshDataArray? meshDataArray) } else { -#if UNITY_2021_3_OR_NEWER meshData[i] = mesh.indexFormat == IndexFormat.UInt16 ? new NonReadableMeshData(mesh) : new NonReadableMeshData(mesh); @@ -1005,7 +995,6 @@ IMeshData[] CollectMeshData(out UnityEngine.Mesh.MeshDataArray? meshDataArray) indexMap.Add(a); } } -#endif nonReadableMesh = true; } } @@ -2197,13 +2186,9 @@ int AddMesh(UnityEngine.Mesh uMesh, VertexAttributeUsage attributeUsage) Debug.LogWarning($"Exporting non-readable meshes is not reliable in builds across platforms and " + $"graphics APIs! Consider making mesh \"{uMesh.name}\" readable.", uMesh); #endif - // Unity 2020 and older does not support accessing non-readable meshes via GraphicsBuffer. -#if UNITY_2021_3_OR_NEWER - // As of now Draco for Unity does not support encoding non-readable meshes. if ((m_Settings.Compression & Compression.Draco) != 0) -#endif { -#if UNITY_2021_3_OR_NEWER && UNITY_EDITOR +#if UNITY_EDITOR // Non-readable meshes are unsupported during playmode or in builds, but work in Editor exports. if (Application.isPlaying) #endif diff --git a/Runtime/Scripts/Export/ImageExportBase.cs b/Runtime/Scripts/Export/ImageExportBase.cs index 318bb520f..6a0eb8c02 100644 --- a/Runtime/Scripts/Export/ImageExportBase.cs +++ b/Runtime/Scripts/Export/ImageExportBase.cs @@ -4,9 +4,7 @@ using System; using UnityEngine; using UnityEngine.Assertions; -#if UNITY_2022_1_OR_NEWER using UnityEngine.Experimental.Rendering; -#endif using Object = UnityEngine.Object; namespace GLTFast.Export @@ -105,17 +103,11 @@ protected static byte[] EncodeTexture( texture.width, texture.height, #if UNITY_2023_2_OR_NEWER - // ~20 times faster texture construction !hasAlpha && SystemInfo.IsFormatSupported(GraphicsFormat.R8G8B8_UNorm, GraphicsFormatUsage.Sample) ? GraphicsFormat.R8G8B8_UNorm : GraphicsFormat.R8G8B8A8_UNorm, TextureCreationFlags.DontInitializePixels | TextureCreationFlags.DontUploadUponCreate -#elif UNITY_2022_1_OR_NEWER - // ~20 times faster texture construction +#else !hasAlpha && SystemInfo.IsFormatSupported(GraphicsFormat.R8G8B8_UNorm, FormatUsage.Sample) ? GraphicsFormat.R8G8B8_UNorm : GraphicsFormat.R8G8B8A8_UNorm, TextureCreationFlags.DontInitializePixels | TextureCreationFlags.DontUploadUponCreate -#else - hasAlpha ? TextureFormat.ARGB32 : TextureFormat.RGB24, - false, - true #endif ); exportTexture.ReadPixels(new Rect(0, 0, destRenderTexture.width, destRenderTexture.height), 0, 0); diff --git a/Runtime/Scripts/Export/NonReadableMeshData.cs b/Runtime/Scripts/Export/NonReadableMeshData.cs index 996a4f3b9..48eb73a51 100644 --- a/Runtime/Scripts/Export/NonReadableMeshData.cs +++ b/Runtime/Scripts/Export/NonReadableMeshData.cs @@ -1,7 +1,6 @@ // SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 -#if UNITY_2021_3_OR_NEWER #if UNITY_2023_3_OR_NEWER #define ASYNC_MESH_DATA #endif @@ -89,4 +88,3 @@ public NativeArray GetVertexData(int stream) } } } -#endif // UNITY_2021_2_OR_NEWER diff --git a/Runtime/Scripts/Export/OrmImageExport.cs b/Runtime/Scripts/Export/OrmImageExport.cs index 9c6a929b7..59e166258 100644 --- a/Runtime/Scripts/Export/OrmImageExport.cs +++ b/Runtime/Scripts/Export/OrmImageExport.cs @@ -6,9 +6,7 @@ using Unity.Mathematics; using UnityEngine; using UnityEngine.Assertions; -#if UNITY_2022_1_OR_NEWER using UnityEngine.Experimental.Rendering; -#endif using Object = UnityEngine.Object; namespace GLTFast.Export @@ -261,16 +259,12 @@ int jpgQuality ? GraphicsFormat.R8G8B8_UNorm : GraphicsFormat.R8G8B8A8_UNorm, TextureCreationFlags.DontInitializePixels | TextureCreationFlags.DontUploadUponCreate -#elif UNITY_2022_1_OR_NEWER +#else // ~20 times faster texture construction SystemInfo.IsFormatSupported(GraphicsFormat.R8G8B8_UNorm, FormatUsage.Sample) ? GraphicsFormat.R8G8B8_UNorm : GraphicsFormat.R8G8B8A8_UNorm, TextureCreationFlags.DontInitializePixels | TextureCreationFlags.DontUploadUponCreate -#else - TextureFormat.RGB24, - false, - true #endif ); exportTexture.ReadPixels(new Rect(0, 0, destRenderTexture.width, destRenderTexture.height), 0, 0); diff --git a/Runtime/Scripts/Export/StreamExtension.cs b/Runtime/Scripts/Export/StreamExtension.cs deleted file mode 100644 index ae2df602f..000000000 --- a/Runtime/Scripts/Export/StreamExtension.cs +++ /dev/null @@ -1,38 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -#if !UNITY_2022_2_OR_NEWER -using System; -using System.IO; -using UnityEngine; - -#if NET_STANDARD -using Unity.Collections; -using Unity.Collections.LowLevel.Unsafe; -#else -using System.Collections.Generic; -#endif - -namespace GLTFast.Export -{ - static class StreamExtension - { - -#if NET_STANDARD - public static unsafe void Write(this Stream stream, NativeArray array) { - var span = new ReadOnlySpan(array.GetUnsafeReadOnlyPtr(), array.Length); - stream.Write(span); - } -#else - public static void Write(this Stream stream, IEnumerable array) - { - // TODO: Is there a faster way? - foreach (var b in array) - { - stream.WriteByte(b); - } - } -#endif - } -} -#endif diff --git a/Runtime/Scripts/Export/glTFast.Export.asmdef b/Runtime/Scripts/Export/glTFast.Export.asmdef index 363cba1c7..3967796db 100644 --- a/Runtime/Scripts/Export/glTFast.Export.asmdef +++ b/Runtime/Scripts/Export/glTFast.Export.asmdef @@ -28,11 +28,6 @@ "expression": "7.3.1", "define": "USING_URP" }, - { - "name": "com.unity.render-pipelines.universal", - "expression": "12", - "define": "USING_URP_12_OR_NEWER" - }, { "name": "com.unity.render-pipelines.high-definition", "expression": "7.3.1", diff --git a/Runtime/Scripts/GltfGlobals.cs b/Runtime/Scripts/GltfGlobals.cs index d03b6f5ce..317689aeb 100644 --- a/Runtime/Scripts/GltfGlobals.cs +++ b/Runtime/Scripts/GltfGlobals.cs @@ -6,15 +6,6 @@ namespace GLTFast { - - enum ImageFormat - { - Unknown, - PNG, - Jpeg, - Ktx - } - enum ChunkFormat : uint { Json = 0x4e4f534a, diff --git a/Runtime/Scripts/GltfImport.cs b/Runtime/Scripts/GltfImport.cs index 2dbf62b31..efbba3da1 100755 --- a/Runtime/Scripts/GltfImport.cs +++ b/Runtime/Scripts/GltfImport.cs @@ -8,13 +8,13 @@ #if KTX_IS_RECENT #define KTX_IS_ENABLED #elif KTX_IS_INSTALLED -#warning You have to update *KTX for Unity* to enable support for KTX textures in glTFast +#error You have to update the *KTX for Unity* package in package manager to enable support for KTX textures in *glTFast*. #endif #if DRACO_IS_RECENT #define DRACO_IS_ENABLED #elif DRACO_IS_INSTALLED -#warning You have to update the *Draco for Unity* package to enable support for decompressing Draco meshes in glTFast. +#error You have to update the *Draco for Unity* package in package manager to enable support for decompressing Draco meshes in *glTFast*. #endif // #define MEASURE_TIMINGS @@ -30,9 +30,6 @@ using System.Text; using GLTFast.Addons; using GLTFast.Jobs; -#if MEASURE_TIMINGS -using GLTFast.Tests; -#endif #if KTX_IS_ENABLED using KtxUnity; #endif @@ -194,10 +191,17 @@ public abstract class GltfImportBase : IGltfReadable, IGltfBuffers, IDisposable GlbBinChunk[] m_BinChunks; Dictionary> m_DownloadTasks; + +#if UNITY_IMAGECONVERSION + Dictionary m_TextureDownloadTasks; +#if !UNITY_6000_0_OR_NEWER + List m_ImageCreateContexts; +#endif // !UNITY_6000_0_OR_NEWER +#endif // UNITY_IMAGECONVERSION #if KTX_IS_ENABLED Dictionary> m_KtxDownloadTasks; -#endif - Dictionary m_TextureDownloadTasks; + List m_KtxLoadContextsBuffer; +#endif // KTX_IS_ENABLED IDisposable[] m_AccessorData; AccessorUsage[] m_AccessorUsage; @@ -205,12 +209,6 @@ public abstract class GltfImportBase : IGltfReadable, IGltfBuffers, IDisposable List m_MeshOrders; - List m_ImageCreateContexts; -#if KTX_IS_ENABLED - List m_KtxLoadContextsBuffer; -#endif // KTX_IS_ENABLED - - /// /// Loaded glTF images (Raw texture without sampler settings) /// @@ -396,7 +394,7 @@ public T GetImportAddonInstance() where T : ImportAddonInstance /// Uniform Resource Locator. Can be a file path (using the "file://" scheme) or a web address. /// Import Settings ( for details) /// Token to submit cancellation requests. The default value is None. - /// True if loading was successful, false otherwise + /// True if loading was mainly successful and no critical error occurred, false otherwise public async Task Load( string url, ImportSettings importSettings = null, @@ -413,7 +411,7 @@ public async Task Load( /// Uniform Resource Locator. Can be a file path (using the "file://" scheme) or a web address. /// Import Settings ( for details) /// Token to submit cancellation requests. The default value is None. - /// True if loading was successful, false otherwise + /// True if loading was mainly successful and no critical error occurred, false otherwise public async Task Load( Uri url, ImportSettings importSettings = null, @@ -431,7 +429,7 @@ public async Task Load( /// Base URI for relative paths of external buffers or images /// Import Settings ( for details) /// Token to submit cancellation requests. The default value is None. - /// True if loading was successful, false otherwise + /// True if loading was mainly successful and no critical error occurred, false otherwise public async Task Load( byte[] data, Uri uri = null, @@ -457,7 +455,7 @@ public async Task Load( /// Base URI for relative paths of external buffers or images /// Import Settings ( for details) /// Token to submit cancellation requests. The default value is None. - /// True if loading was successful, false otherwise + /// True if loading was mainly successful and no critical error occurred, false otherwise public async Task Load( NativeArray.ReadOnly data, Uri uri = null, @@ -483,7 +481,7 @@ public async Task Load( /// Base URI for relative paths of external buffers or images /// Import Settings ( for details) /// Token to submit cancellation requests. The default value is None. - /// True if loading was successful, false otherwise + /// True if loading was mainly successful and no critical error occurred, false otherwise public async Task LoadFile( string localPath, Uri uri = null, @@ -491,12 +489,12 @@ public async Task LoadFile( CancellationToken cancellationToken = default ) { -#if UNITY_2021_3_OR_NEWER && NET_STANDARD_2_1 +#if NET_STANDARD_2_1 await using #endif var fs = new FileStream(localPath, FileMode.Open, FileAccess.Read); var result = await LoadStream(fs, uri, importSettings, cancellationToken); -#if !UNITY_2021_3_OR_NEWER || !NET_STANDARD_2_1 +#if !NET_STANDARD_2_1 fs.Dispose(); #endif return result; @@ -509,7 +507,7 @@ public async Task LoadFile( /// Base URI for relative paths of external buffers or images /// Import Settings ( for details) /// Token to submit cancellation requests. The default value is None. - /// True if loading was successful, false otherwise + /// True if loading was mainly successful and no critical error occurred, false otherwise public async Task LoadStream( Stream stream, Uri uri = null, @@ -554,13 +552,8 @@ public async Task LoadStream( } using var data = new NativeArray((int)length, Allocator.Persistent); var dataStream = data.ToUnmanagedMemoryStream(); -#if UNITY_2021_3_OR_NEWER await dataStream.WriteAsync(firstBytes, cancellationToken); await dataStream.WriteAsync(glbHeader, cancellationToken); -#else - await dataStream.WriteAsync(firstBytes, 0, firstBytes.Length, cancellationToken); - await dataStream.WriteAsync(glbHeader, 0, glbHeader.Length, cancellationToken); -#endif await stream.CopyToAsync(dataStream, (int)(length - dataStream.Position), cancellationToken); var result = await LoadGltfBinaryInternal(data.AsReadOnly(), uri, importSettings, cancellationToken); return result; @@ -593,7 +586,7 @@ public async Task LoadStream( /// Base URI for relative paths of external buffers or images /// Import Settings ( for details) /// Token to submit cancellation requests. The default value is None. - /// True if loading was successful, false otherwise + /// True if loading was mainly successful and no critical error occurred, false otherwise [Obsolete("Use the generic Load instead.")] public async Task LoadGltfBinary( byte[] bytes, @@ -620,7 +613,7 @@ public async Task LoadGltfBinary( /// Base URI for relative paths of external buffers or images /// Import Settings ( for details) /// Token to submit cancellation requests. The default value is None. - /// True if loading was successful, false otherwise + /// True if loading was mainly successful and no critical error occurred, false otherwise public async Task LoadGltfJson( string json, Uri uri = null, @@ -629,9 +622,10 @@ public async Task LoadGltfJson( ) { m_Settings = importSettings ?? new ImportSettings(); - var success = await LoadGltf(json, uri); - if (success) await LoadContent(); - success = success && await Prepare(); + var success = + await LoadGltf(json, uri) + && await LoadContent() + && await Prepare(); DisposeVolatileData(); LoadingError = !success; LoadingDone = true; @@ -753,12 +747,32 @@ public async Task InstantiateSceneAsync( return true; } + /// + /// Disposes resources that are required for instantiation. + /// Does not dispose imported resources (meshes, materials, textures, etc.). + /// + internal void DisposeRequiredForInstantiationData() + { + if (m_AccessorData != null) + { + for (var index = 0; index < m_AccessorData.Length; index++) + { + m_AccessorData[index]?.Dispose(); + m_AccessorData[index] = null; + } + + m_AccessorData = null; + } + } + /// /// Frees up memory by disposing all sub assets. /// There can be no instantiation or other element access afterwards. /// public void Dispose() { + DisposeRequiredForInstantiationData(); + if (m_ImportInstances != null) { foreach (var importInstance in m_ImportInstances) @@ -792,15 +806,6 @@ void DisposeArray(IEnumerable objects) DisposeArray(m_Textures); m_Textures = null; - if (m_AccessorData != null) - { - foreach (var ad in m_AccessorData) - { - ad?.Dispose(); - } - m_AccessorData = null; - } - m_MeshAssignments = null; DisposeArray(m_Meshes); m_Meshes = null; @@ -1201,11 +1206,9 @@ async Task LoadFromUri(Uri url, CancellationToken cancellationToken) download.Dispose(); success = await LoadGltf(text, url); } - if (success) - { - success = await LoadContent(); - } - success = success && await Prepare(); + success = success + && await LoadContent() + && await Prepare(); } else { @@ -1226,8 +1229,9 @@ CancellationToken cancellationToken { m_Settings = importSettings ?? new ImportSettings(); var success = await LoadGltfBinaryBuffer(bytes, uri); - if (success) await LoadContent(); - success = success && await Prepare(); + success = success + && await LoadContent() + && await Prepare(); DisposeVolatileData(); LoadingError = !success; LoadingDone = true; @@ -1245,15 +1249,18 @@ async Task LoadContent() } #endif +#if UNITY_IMAGECONVERSION if (m_TextureDownloadTasks != null) { - success = success && await WaitForTextureDownloads(); + if(success) + await WaitForTextureDownloads(); m_TextureDownloadTasks.Clear(); } - +#endif // UNITY_IMAGECONVERSION #if KTX_IS_ENABLED if (m_KtxDownloadTasks != null) { - success = success && await WaitForKtxDownloads(); + if(success) + await WaitForKtxDownloads(); m_KtxDownloadTasks.Clear(); } #endif // KTX_IS_ENABLED @@ -1316,19 +1323,8 @@ async Task ParseJsonAndLoadBuffers(string json, Uri baseUri) { if (buffer.uri.StartsWith("data:")) { - var decodedBuffer = await DecodeEmbedBufferAsync( - buffer.uri, - true // usually there's just one buffer and it's time-critical - ); - if (decodedBuffer?.Item1 == null) - { - Logger?.Error(LogCode.EmbedBufferLoadFailed); + if (!await LoadBufferFromDataUri(i, buffer)) return false; - } - var decodedNativeBuffer = new ReadOnlyNativeArrayFromManagedArray(decodedBuffer.Item1); - m_VolatileDisposables ??= new List(); - m_VolatileDisposables.Add(decodedNativeBuffer); - m_Buffers[i] = decodedNativeBuffer.Array; } else { @@ -1341,6 +1337,31 @@ async Task ParseJsonAndLoadBuffers(string json, Uri baseUri) return true; } + async Task LoadBufferFromDataUri(int bufferIndex, Buffer buffer) + { + if (!TryGetBufferDataUriDescriptor( + bufferIndex, buffer.byteLength, buffer.uri, out var startIndex, out var byteLength)) + { + return false; + } + + var data = await DecodeDataUriAsync( + buffer.uri, + startIndex, + byteLength, + true // usually there's just one buffer and it's time-critical + ); + if (!data.IsCreated) + { + Logger?.Error(LogCode.EmbedBufferLoadFailed); + return false; + } + m_VolatileDisposables ??= new List(); + m_VolatileDisposables.Add(data); + m_Buffers[bufferIndex] = new ReadOnlyNativeArray(data); + return true; + } + /// /// Validates required and used glTF extensions and reports unsupported ones. /// @@ -1431,16 +1452,15 @@ async Task LoadGltf(string json, Uri url) { var baseUri = UriHelper.GetBaseUri(url); var success = await ParseJsonAndLoadBuffers(json, baseUri); - if (success) await LoadImages(baseUri); + if (success) + await LoadImages(baseUri); return success; } async Task LoadImages(Uri baseUri) { - if (Root.Textures != null && Root.Images != null) { - Profiler.BeginSample("LoadImages.Prepare"); m_Images = new Texture2D[Root.Images.Count]; @@ -1518,9 +1538,9 @@ void SetImageGamma(TextureInfoBase txtInfo) } } #endif - Profiler.EndSample(); - List imageTasks = null; + + List> imageTasks = null; for (int imageIndex = 0; imageIndex < Root.Images.Count; imageIndex++) { @@ -1528,16 +1548,9 @@ void SetImageGamma(TextureInfoBase txtInfo) if (!string.IsNullOrEmpty(img.uri) && img.uri.StartsWith("data:")) { -#if UNITY_IMAGECONVERSION - var decodedBufferTask = DecodeEmbedBufferAsync(img.uri); - if (imageTasks == null) { - imageTasks = new List(); - } - var imageTask = LoadImageFromBuffer(decodedBufferTask, imageIndex, img); + var imageTask = LoadImageFromDataUri(imageIndex, img); + imageTasks ??= new List>(); imageTasks.Add(imageTask); -#else - Logger?.Warning(LogCode.ImageConversionNotEnabled); -#endif } else { @@ -1546,7 +1559,7 @@ void SetImageGamma(TextureInfoBase txtInfo) { imgFormat = string.IsNullOrEmpty(img.mimeType) ? UriHelper.GetImageFormatFromUri(img.uri) - : GetImageFormatFromMimeType(img.mimeType); + : ImageFormatExtensions.FromMimeType(img.mimeType); m_ImageFormats[imageIndex] = imgFormat; } else @@ -1564,11 +1577,7 @@ void SetImageGamma(TextureInfoBase txtInfo) LoadImage( imageIndex, UriHelper.GetUriString(img.uri, baseUri), -#if UNITY_VISIONOS - false, -#else - !m_Settings.TexturesReadable && !m_ImageReadable[imageIndex], -#endif + !LoadImageReadable(imageIndex), imgFormat == ImageFormat.Ktx ); } @@ -1592,42 +1601,140 @@ void SetImageGamma(TextureInfoBase txtInfo) } } -#if UNITY_IMAGECONVERSION - async Task LoadImageFromBuffer(Task> decodeBufferTask, int imageIndex, Image img) { - var decodedBuffer = await decodeBufferTask; - await DeferAgent.BreakPoint(); - Profiler.BeginSample("LoadImages.FromBase64"); - var data = decodedBuffer.Item1; - string mimeType = decodedBuffer.Item2; - var imgFormat = GetImageFormatFromMimeType(mimeType); - if (data == null || imgFormat == ImageFormat.Unknown) { + // TODO: If no suitable image loader is found, this method won't use the await operator, thus causing a warning. + // For now we'll ignore that warning. In the future, we'll encapsulate this in a better way. +#pragma warning disable CS1998 // Async method lacks 'await' operators and will run synchronously + async Task LoadImageFromDataUri(int imageIndex, Image img) +#pragma warning restore CS1998 // Async method lacks 'await' operators and will run synchronously + { + if (!TryGetImageDataUriDescriptor(img.uri, out var imageFormat, out var startIndex, out var byteLength)) + { Logger?.Error(LogCode.EmbedImageLoadFailed); - return; + return false; } + m_ImageFormats[imageIndex] = imageFormat; - if (m_ImageFormats[imageIndex] != ImageFormat.Unknown && m_ImageFormats[imageIndex] != imgFormat) { - Logger?.Error(LogCode.EmbedImageInconsistentType, m_ImageFormats[imageIndex].ToString(), imgFormat.ToString()); - } + switch (imageFormat) + { + case ImageFormat.Unknown: + Logger?.Error(LogCode.EmbedImageLoadFailed); + return false; + case ImageFormat.Jpeg: + case ImageFormat.PNG: +#if UNITY_IMAGECONVERSION + { + var texture = await LoadImageJpegOrPngFromDataUri(imageIndex, img, startIndex, byteLength); + if (texture is not null) + { + m_Images[imageIndex] = texture; + return true; + } + return false; + } +#else + Logger?.Warning(LogCode.ImageConversionNotEnabled); + return true; +#endif + case ImageFormat.Ktx: +#if KTX_IS_ENABLED + { + var texture = await LoadImageKtxFromDataUri(imageIndex, img, startIndex, byteLength); + if (texture is not null) + { + m_Images[imageIndex] = texture; + return true; + } - m_ImageFormats[imageIndex] = imgFormat; - if (m_ImageFormats[imageIndex] != ImageFormat.Jpeg && m_ImageFormats[imageIndex] != ImageFormat.PNG) { - // TODO: support embed KTX textures - Logger?.Error(LogCode.EmbedImageUnsupportedType, m_ImageFormats[imageIndex].ToString()); + return false; + } +#endif + default: + Logger?.Error(LogCode.EmbedImageUnsupportedType, m_ImageFormats[imageIndex].ToString()); + return false; } + } +#if UNITY_IMAGECONVERSION + async Task LoadImageJpegOrPngFromDataUri(int imageIndex, Image img, int startIndex, int byteLength) + { +#if UNITY_6000_0_OR_NEWER + var data = await DecodeDataUriAsync(img.uri, startIndex, byteLength); + if (!data.IsCreated) + { + Logger?.Error(LogCode.EmbedImageLoadFailed); + return null; + } +#else + var data = await DecodeDataUriToManagedArrayAsync(img.uri, startIndex, byteLength); + if (data == null) + { + Logger?.Error(LogCode.EmbedImageLoadFailed); + return null; + } +#endif + await DeferAgent.BreakPoint(); + Profiler.BeginSample("LoadImageJpegOrPngFromDataUri"); // TODO: Investigate alternative: native texture creation in worker thread - bool forceSampleLinear = m_ImageGamma != null && !m_ImageGamma[imageIndex]; - var txt = CreateEmptyTexture(img, imageIndex, forceSampleLinear); - txt.LoadImage( - data, -#if UNITY_VISIONOS - false + var forceSampleLinear = m_ImageGamma != null && !m_ImageGamma[imageIndex]; + var texture = CreateEmptyTexture(img, imageIndex, forceSampleLinear); + texture.LoadImage( +#if UNITY_6000_0_OR_NEWER + data.AsReadOnlySpan(), #else - !m_Settings.TexturesReadable && !m_ImageReadable[imageIndex] + data, #endif - ); - m_Images[imageIndex] = txt; + !LoadImageReadable(imageIndex) + ); + Profiler.EndSample(); + return texture; + } +#endif // UNITY_IMAGECONVERSION + +#if KTX_IS_ENABLED + async Task LoadImageKtxFromDataUri(int imageIndex, Image img, int startIndex, int byteLength) + { + var data = await DecodeDataUriAsync(img.uri, startIndex, byteLength); + if (!data.IsCreated) + { + Logger?.Error(LogCode.EmbedImageLoadFailed); + return null; + } + await DeferAgent.BreakPoint(); + var texture = await LoadImageKtx(imageIndex, img, data.AsReadOnly()); + data.Dispose(); + return texture; + } + + async Task LoadImageKtx( + int imageIndex, + Image img, + NativeArray.ReadOnly data) + { + Profiler.BeginSample("LoadImageKtx"); + + var forceSampleLinear = m_ImageGamma != null && !m_ImageGamma[imageIndex]; + var readable = LoadImageReadable(imageIndex); + + Texture2D texture = null; + + var ktxTexture = new KtxTexture(); + var errorCode = ktxTexture.Open(data); + if (errorCode != ErrorCode.Success) { + Logger?.Error(LogCode.EmbedImageLoadFailed); + return null; + } + var result = await ktxTexture.LoadTexture2D(forceSampleLinear, readable); + ktxTexture.Dispose(); + if (result.errorCode == ErrorCode.Success) { + texture = result.texture; + texture.name = GetImageName(img, imageIndex); + } + else { + Logger?.Error(LogCode.EmbedImageLoadFailed); + } + Profiler.EndSample(); + return texture; } #endif @@ -1688,6 +1795,7 @@ async Task WaitForBufferDownloads() return true; } +#if UNITY_IMAGECONVERSION async Task WaitForTextureDownloads() { foreach (var dl in m_TextureDownloadTasks) @@ -1709,27 +1817,34 @@ async Task WaitForTextureDownloads() // on Render thread, which is occupied by Gfx.UploadTextureData for 19 ms for a 2k by 2k texture if (LoadImageFromBytes(imageIndex)) { -#if UNITY_IMAGECONVERSION + Profiler.BeginSample("Texture2D.LoadImage"); var forceSampleLinear = m_ImageGamma!=null && !m_ImageGamma[imageIndex]; txt = CreateEmptyTexture(Root.Images[imageIndex], imageIndex, forceSampleLinear); - // TODO: Investigate for NativeArray variant to avoid `www.data` - txt.LoadImage( - www.Data, -#if UNITY_VISIONOS - false -#else - !m_Settings.TexturesReadable && !m_ImageReadable[imageIndex] -#endif + var markNonReadable = !LoadImageReadable(imageIndex); +#if UNITY_6000_0_OR_NEWER + if(www is INativeDownload nativeDownload) + { + txt.LoadImage( + nativeDownload.NativeData.AsReadOnlySpan(), + markNonReadable ); -#else - Logger?.Warning(LogCode.ImageConversionNotEnabled); - txt = null; + } + else #endif + { + txt.LoadImage( + www.Data, + markNonReadable + ); + } + Profiler.EndSample(); } else { Assert.IsTrue(www is ITextureDownload); + Profiler.BeginSample("ITextureDownload.Texture"); txt = ((ITextureDownload)www).Texture; + Profiler.EndSample(); txt.name = GetImageName(Root.Images[imageIndex], imageIndex); } www.Dispose(); @@ -1745,7 +1860,7 @@ async Task WaitForTextureDownloads() } return true; } - +#endif // UNITY_IMAGECONVERSION #if KTX_IS_ENABLED async Task WaitForKtxDownloads() { @@ -1779,7 +1894,8 @@ async Task ProcessKtxDownload(int imageIndex, Task downloadTask } var ktxContext = new KtxLoadContext(imageIndex,data); var forceSampleLinear = m_ImageGamma!=null && !m_ImageGamma[imageIndex]; - var result = await ktxContext.LoadTexture2D(forceSampleLinear); + var readable = LoadImageReadable(imageIndex); + var result = await ktxContext.LoadTexture2D(forceSampleLinear, readable); if (result.errorCode == ErrorCode.Success) { m_Images[imageIndex] = result.texture; if (!result.orientation.IsYFlipped()) @@ -1809,21 +1925,25 @@ void LoadBuffer(int index, Uri url) Profiler.EndSample(); } - async Task> DecodeEmbedBufferAsync(string encodedBytes, bool timeCritical = false) + async ValueTask> DecodeDataUriAsync( + string dataUri, + int startIndex, + int byteLength, + bool timeCritical = false + ) { - var predictedTime = encodedBytes.Length / (float)k_Base64DecodeSpeed; + var predictedTime = dataUri.Length / (float)k_Base64DecodeSpeed; #if MEASURE_TIMINGS var stopWatch = new Stopwatch(); stopWatch.Start(); #elif GLTFAST_THREADS if (!timeCritical || DeferAgent.ShouldDefer(predictedTime)) { - // TODO: Not sure if thread safe? Maybe create a dedicated Report for the thread and merge them afterwards? - return await Task.Run(() => DecodeEmbedBuffer(encodedBytes, Logger)); + return await Task.Run(() => DecodeDataUri(dataUri, startIndex, byteLength)); } #endif await DeferAgent.BreakPoint(predictedTime); - var decodedBuffer = DecodeEmbedBuffer(encodedBytes, Logger); + var result = DecodeDataUri(dataUri, startIndex, byteLength); #if MEASURE_TIMINGS stopWatch.Stop(); var elapsedSeconds = stopWatch.ElapsedMilliseconds / 1000f; @@ -1831,34 +1951,153 @@ async Task> DecodeEmbedBufferAsync(string encodedBytes, bo if (Mathf.Abs(relativeDiff) > .2f) { Debug.LogWarning($"Base 64 unexpected duration! diff: {relativeDiff:0.00}% predicted: {predictedTime} sec actual: {elapsedSeconds} sec"); } - var throughput = encodedBytes.Length / elapsedSeconds; - Debug.Log($"Base 64 throughput: {throughput} bytes/sec ({encodedBytes.Length} bytes in {elapsedSeconds} seconds)"); + var throughput = dataUri.Length / elapsedSeconds; + Debug.Log($"Base 64 throughput: {throughput} bytes/sec ({dataUri.Length} bytes in {elapsedSeconds} seconds)"); +#endif + return result; + } + +#if !UNITY_6000_0_OR_NEWER + async ValueTask DecodeDataUriToManagedArrayAsync( + string dataUri, + int startIndex, + int byteLength, + bool timeCritical = false) + { + var predictedTime = dataUri.Length / (float)k_Base64DecodeSpeed; +#if GLTFAST_THREADS + if (!timeCritical || DeferAgent.ShouldDefer(predictedTime)) + { + return await Task.Run(() => DecodeDataUriToManagedArray(dataUri, startIndex, byteLength)); + } #endif - return decodedBuffer; + await DeferAgent.BreakPoint(predictedTime); + var result = DecodeDataUriToManagedArray(dataUri, startIndex, byteLength); + return result; } +#endif // !UNITY_6000_0_OR_NEWER - static Tuple DecodeEmbedBuffer(string encodedBytes, ICodeLogger logger) + bool TryGetDataUriDescriptor(string dataUri, out ReadOnlySpan mimeType, out int startIndex, out int byteLength) { - Profiler.BeginSample("DecodeEmbedBuffer"); - logger?.Warning(LogCode.EmbedSlow); - var mediaTypeEnd = encodedBytes.IndexOf(';', 5, Math.Min(encodedBytes.Length - 5, 1000)); + Logger?.Warning(LogCode.EmbedSlow); + var mediaTypeEnd = dataUri.IndexOf(';', 5, Math.Min(dataUri.Length - 5, 1000)); if (mediaTypeEnd < 0) { Profiler.EndSample(); - return null; + mimeType = null; + startIndex = 0; + byteLength = -1; + return false; } - var mimeType = encodedBytes.Substring(5, mediaTypeEnd - 5); - var tmp = encodedBytes.Substring(mediaTypeEnd + 1, 7); - if (tmp != "base64,") + mimeType = dataUri.AsSpan(5, mediaTypeEnd - 5); + if (!dataUri.AsSpan(mediaTypeEnd + 1, 7).SequenceEqual("base64,")) { Profiler.EndSample(); - return null; + startIndex = 0; + byteLength = -1; + return false; + } + var padding = 0; + if (dataUri.Length > 0 && dataUri[^1] == '=') + { + padding = dataUri.Length > 1 && dataUri[^2] == '=' ? 2 : 1; + } + + startIndex = mediaTypeEnd + 8; + byteLength = ((dataUri.Length - startIndex) * 3 + 3) / 4 - padding; + return true; + } + + bool TryGetBufferDataUriDescriptor( + int bufferIndex, + uint expectedLength, + string dataUri, + out int startIndex, + out int byteLength + ) + { + if (TryGetDataUriDescriptor(dataUri, out var mimeType, out startIndex, out byteLength)) + { + if (!mimeType.StartsWith("application/") + || !( + mimeType[12..].SequenceEqual("octet-stream") + || mimeType[12..].SequenceEqual("gltf-buffer") + ) + ) + { + Logger?.Error( + LogCode.BufferDataUriUnexpectedMimeType, + bufferIndex.ToString(), + mimeType.ToString() + ); + return false; + } + + if (byteLength < expectedLength) + { + Logger?.Error( + LogCode.BufferContentUndersized, + bufferIndex.ToString(), + expectedLength.ToString(), + byteLength.ToString() + ); + return false; + } + + return true; + } + + Logger?.Error(LogCode.EmbedBufferLoadFailed); + return false; + } + + bool TryGetImageDataUriDescriptor( + string dataUri, + out ImageFormat imageFormat, + out int startIndex, + out int byteLength + ) + { + if (TryGetDataUriDescriptor(dataUri, out var mimeType, out startIndex, out byteLength)) + { + imageFormat = ImageFormatExtensions.FromMimeType(mimeType); + return true; + } + + imageFormat = ImageFormat.Unknown; + return false; + } + + static NativeArray DecodeDataUri(string dataUri, int startIndex, int dataLength) + { + Profiler.BeginSample("DecodeDataUri"); + var data = new NativeArray(dataLength, Allocator.Persistent); + if (!Convert.TryFromBase64Chars(dataUri.AsSpan(startIndex), data.AsSpan(), out var bytesWritten) + || bytesWritten != dataLength) + { + // Invalidate buffer to signal decoding failed. + data.Dispose(); } - var data = Convert.FromBase64String(encodedBytes.Substring(mediaTypeEnd + 8)); Profiler.EndSample(); - return new Tuple(data, mimeType); + return data; } +#if !UNITY_6000_0_OR_NEWER + static byte[] DecodeDataUriToManagedArray(string dataUri, int startIndex, int dataLength) + { + Profiler.BeginSample("DecodeDataUriToManagedArray"); + var data = new byte[dataLength]; + if (!Convert.TryFromBase64Chars(dataUri.AsSpan(startIndex), data.AsSpan(), out var bytesWritten) + || bytesWritten != dataLength) + { + // Invalidate buffer to signal decoding failed. + data = null; + } + Profiler.EndSample(); + return data; + } +#endif // !UNITY_6000_0_OR_NEWER + void LoadImage(int imageIndex, Uri url, bool nonReadable, bool isKtx) { @@ -2227,11 +2466,7 @@ async Task Prepare() { Assert.AreEqual(m_Images.Length, Root.Images.Count); } - m_ImageCreateContexts = new List(); -#if KTX_IS_ENABLED - await -#endif - CreateTexturesFromBuffers(Root.Images, Root.BufferViews, m_ImageCreateContexts); + await CreateTexturesFromBuffers(Root.Images, Root.BufferViews); } await DeferAgent.BreakPoint(); @@ -2263,10 +2498,12 @@ async Task Prepare() } #endif // KTX_IS_ENABLED +#if UNITY_IMAGECONVERSION && !UNITY_6000_0_OR_NEWER if (m_ImageCreateContexts != null) { await WaitForImageCreateContexts(); } +#endif // UNITY_IMAGECONVERSION && !UNITY_6000_0_OR_NEWER if (m_Images != null && Root.Textures != null) { @@ -2588,13 +2825,28 @@ void PopulateTexturesAndImageVariants() } else { - var newImg = UnityEngine.Object.Instantiate(img); - m_Resources.Add(newImg); + Texture2D newImg; + if (img.isReadable) + { + + newImg = UnityEngine.Object.Instantiate(img); + m_Resources.Add(newImg); #if DEBUG - newImg.name = $"{img.name}_sampler{txt.sampler}"; - Logger?.Warning(LogCode.ImageMultipleSamplers,imageIndex.ToString()); + newImg.name = $"{img.name}_sampler{txt.sampler}"; + Logger?.Warning(LogCode.ImageMultipleSamplers,imageIndex.ToString()); #endif - sampler?.Apply(newImg, m_Settings.DefaultMinFilterMode, m_Settings.DefaultMagFilterMode); + sampler?.Apply(newImg, m_Settings.DefaultMinFilterMode, m_Settings.DefaultMagFilterMode); + } + else + { + Logger?.Warning( + LogCode.TextureSamplerNotApplied, + txt.sampler >= 0 ? $"#{txt.sampler}" : "default", + textureIndex.ToString(), + imageIndex.ToString() + ); + newImg = img; + } imageVariants[imageIndex][key] = newImg; m_Textures[textureIndex] = newImg; } @@ -2602,6 +2854,7 @@ void PopulateTexturesAndImageVariants() } } +#if UNITY_IMAGECONVERSION && !UNITY_6000_0_OR_NEWER async Task WaitForImageCreateContexts() { var imageCreateContextsLeft = true; @@ -2614,16 +2867,12 @@ async Task WaitForImageCreateContexts() if (jh.jobHandle.IsCompleted) { jh.jobHandle.Complete(); -#if UNITY_IMAGECONVERSION + Profiler.BeginSample("Texture2D.LoadImage"); m_Images[jh.imageIndex].LoadImage( jh.buffer, -#if UNITY_VISIONOS - false -#else - !m_Settings.TexturesReadable && !m_ImageReadable[jh.imageIndex] -#endif + !LoadImageReadable(jh.imageIndex) ); -#endif + Profiler.EndSample(); jh.gcHandle.Free(); m_ImageCreateContexts.RemoveAt(i); loadedAny = true; @@ -2638,6 +2887,7 @@ async Task WaitForImageCreateContexts() } m_ImageCreateContexts = null; } +#endif // UNITY_IMAGECONVERSION && !UNITY_6000_0_OR_NEWER void SetMaterialPointsSupport(int materialIndex) { @@ -2776,10 +3026,15 @@ void DisposeVolatileData() m_DownloadTasks = null; } - m_TextureDownloadTasks = null; - m_AccessorUsage = null; + +#if UNITY_IMAGECONVERSION + m_TextureDownloadTasks = null; +#if !UNITY_6000_0_OR_NEWER m_ImageCreateContexts = null; +#endif +#endif + m_Images = null; m_ImageFormats = null; #if !UNITY_VISIONOS @@ -3110,17 +3365,14 @@ int[] GetMaterialIndices(int meshIndex, IReadOnlyList primitiveIndices) return result; } -#if KTX_IS_ENABLED - async Task -#else - void -#endif - CreateTexturesFromBuffers( + async Task CreateTexturesFromBuffers( IReadOnlyList srcImages, - IReadOnlyList bufferViews, - ICollection contexts + IReadOnlyList bufferViews ) { +#if UNITY_IMAGECONVERSION && !UNITY_6000_0_OR_NEWER + m_ImageCreateContexts = new List(); +#endif for (int i = 0; i < m_Images.Length; i++) { Profiler.BeginSample("CreateTexturesFromBuffers.ImageFormat"); @@ -3136,59 +3388,71 @@ ICollection contexts // Image is missing mime type // try to determine type by file extension ? UriHelper.GetImageFormatFromUri(img.uri) - : GetImageFormatFromMimeType(img.mimeType); + : ImageFormatExtensions.FromMimeType(img.mimeType); } Profiler.EndSample(); - if (imgFormat != ImageFormat.Unknown) + if (imgFormat != ImageFormat.Unknown && img.bufferView >= 0) { - if (img.bufferView >= 0) + if (imgFormat == ImageFormat.Ktx) { - - if (imgFormat == ImageFormat.Ktx) - { #if KTX_IS_ENABLED - Profiler.BeginSample("CreateTexturesFromBuffers.KtxLoadNativeContext"); - if(m_KtxLoadContextsBuffer==null) { - m_KtxLoadContextsBuffer = new List(); - } - var ktxContext = new KtxLoadNativeContext( - i,((IGltfBuffers)this).GetBufferView(img.bufferView, out _)); - m_KtxLoadContextsBuffer.Add(ktxContext); - Profiler.EndSample(); - await DeferAgent.BreakPoint(); + Profiler.BeginSample("CreateTexturesFromBuffers.KtxLoadNativeContext"); + if(m_KtxLoadContextsBuffer==null) { + m_KtxLoadContextsBuffer = new List(); + } + var ktxContext = new KtxLoadContext( + i, ((IGltfBuffers)this).GetBufferView(img.bufferView, out _).AsNativeArrayReadOnly()); + m_KtxLoadContextsBuffer.Add(ktxContext); + Profiler.EndSample(); + await DeferAgent.BreakPoint(); #else - Logger?.Error(LogCode.PackageMissing, "KTX for Unity", ExtensionName.TextureBasisUniversal); + Logger?.Error(LogCode.PackageMissing, "KTX for Unity", ExtensionName.TextureBasisUniversal); #endif // KTX_IS_ENABLED - } - else - { - Profiler.BeginSample("CreateTexturesFromBuffers.ExtractBuffer"); - var bufferView = bufferViews[img.bufferView]; - var buffer = GetBuffer(bufferView.buffer); - var chunk = m_BinChunks[bufferView.buffer]; - - bool forceSampleLinear = m_ImageGamma != null && !m_ImageGamma[i]; - var txt = CreateEmptyTexture(img, i, forceSampleLinear); - var icc = new ImageCreateContext(); - icc.imageIndex = i; - icc.buffer = new byte[bufferView.byteLength]; - icc.gcHandle = GCHandle.Alloc(icc.buffer, GCHandleType.Pinned); - - var job = CreateMemCopyJob(bufferView, buffer, chunk, icc); - icc.jobHandle = job.Schedule(); - - contexts.Add(icc); - - m_Images[i] = txt; - m_Resources.Add(txt); - Profiler.EndSample(); - } + } + else + { +#if UNITY_IMAGECONVERSION + + var forceSampleLinear = m_ImageGamma != null && !m_ImageGamma[i]; + var txt = CreateEmptyTexture(img, i, forceSampleLinear); +#if UNITY_6000_0_OR_NEWER + Profiler.BeginSample("Texture2D.LoadImage"); + var data = ((IGltfBuffers)this).GetBufferView(img.bufferView, out _); + txt.LoadImage(data.AsNativeArrayReadOnly().AsReadOnlySpan(), !LoadImageReadable(i)); + Profiler.EndSample(); + await DeferAgent.BreakPoint(); +#else // UNITY_6000_0_OR_NEWER + Profiler.BeginSample("CreateTexturesFromBuffers.ExtractBuffer"); + var bufferView = bufferViews[img.bufferView]; + var buffer = GetBuffer(bufferView.buffer); + var chunk = m_BinChunks[bufferView.buffer]; + + var icc = new ImageCreateContext(); + icc.imageIndex = i; + icc.buffer = new byte[bufferView.byteLength]; + icc.gcHandle = GCHandle.Alloc(icc.buffer, GCHandleType.Pinned); + + var job = CreateMemCopyJob(bufferView, buffer, chunk, icc); + icc.jobHandle = job.Schedule(); + + m_ImageCreateContexts.Add(icc); + Profiler.EndSample(); +#endif // UNITY_6000_0_OR_NEWER + m_Images[i] = txt; + m_Resources.Add(txt); +#else // UNITY_IMAGECONVERSION + Logger?.Warning(LogCode.ImageConversionNotEnabled); +#endif // UNITY_IMAGECONVERSION } } } +#if !(UNITY_IMAGECONVERSION && !UNITY_6000_0_OR_NEWER) && !KTX_IS_ENABLED + await DeferAgent.BreakPoint(); +#endif } +#if UNITY_IMAGECONVERSION && !UNITY_6000_0_OR_NEWER static unsafe MemCopyJob CreateMemCopyJob( BufferViewBase bufferView, ReadOnlyNativeArray nativeArray, @@ -3208,14 +3472,11 @@ ImageCreateContext icc return job; } +#endif // UNITY_IMAGECONVERSION && !UNITY_6000_0_OR_NEWER Texture2D CreateEmptyTexture(Image img, int index, bool forceSampleLinear) { -#if UNITY_2022_1_OR_NEWER var textureCreationFlags = TextureCreationFlags.DontUploadUponCreate | TextureCreationFlags.DontInitializePixels; -#else - var textureCreationFlags = TextureCreationFlags.None; -#endif if (m_Settings.GenerateMipMaps) { textureCreationFlags |= TextureCreationFlags.MipChain; @@ -3239,6 +3500,17 @@ static string GetImageName(Image img, int index) return string.IsNullOrEmpty(img.name) ? $"image_{index}" : img.name; } + bool LoadImageReadable(int imageIndex) + { +#if UNITY_VISIONOS + // PolySpatial visionOS needs to be able to access raw texture data in order to + // do the material/texture conversion. + return true; +#else + return m_Settings.TexturesReadable || m_ImageReadable[imageIndex]; +#endif + } + static void SafeDestroy(UnityEngine.Object obj) { #if UNITY_EDITOR @@ -3284,27 +3556,16 @@ async Task LoadAccessorData() meshAssignmentIndices[0] = 0; } var meshAssignmentCounter = 0; - var primitiveSingles = new Dictionary(s_MeshComparer); var primitiveSets = new Dictionary, MeshOrder>(s_MeshComparer); for (var meshIndex = 0; meshIndex < meshCount; meshIndex++) { var mesh = Root.Meshes[meshIndex]; // TODO: Optimized path for single primitive meshes! var clusteredPrimitives = new Dictionary(); -#if DRACO_IS_ENABLED - var singlePrimitives = new List(); -#endif + for (var primIndex = 0; primIndex < mesh.Primitives.Count; primIndex++) { var primitive = mesh.Primitives[primIndex]; -#if DRACO_IS_ENABLED - var isDraco = primitive.IsDracoCompressed; - if (isDraco) - { - singlePrimitives.Add(new PrimitiveSingle(primIndex, primitive)); - } - else -#endif { var vertexBufferDesc = VertexBufferDescriptor.FromPrimitive(primitive); if (!clusteredPrimitives.ContainsKey(vertexBufferDesc)) @@ -3318,7 +3579,7 @@ async Task LoadAccessorData() { AccessorUsage usage; #if DRACO_IS_ENABLED - if (isDraco) + if (primitive.IsDracoCompressed) { usage = AccessorUsage.Ignore; } @@ -3383,53 +3644,10 @@ out var primitives primIndexArray ); - meshNumeration++; - } -#if DRACO_IS_ENABLED - foreach (var primitiveSingle in singlePrimitives) - { -#if DEBUG - if (perPrimitiveSetIndices != null - && CheckVertexBufferUsage(perPrimitiveSetIndices, primitiveSingle)) - { - // Poor accessor sharing has been detected and logged. - // Unset perPrimitiveSetIndices to prevent redundant logging. - perPrimitiveSetIndices = null; - } -#endif - int[] primIndexArray; - if (primitiveSingles.TryGetValue(primitiveSingle.Primitive, out var meshOrder)) - { - primitiveSingle.BuildAndDispose(out primIndexArray, out _); - meshOrder.AddRecipient(new MeshSubset(meshIndex, meshNumeration, primIndexArray)); - } - else - { - meshOrder = CreateMeshOrder( - primitiveSingle, - mesh, - meshIndex, - meshNumeration, - out primIndexArray, - out _ - ); - m_MeshOrders.Add(meshOrder); - } - - MeshResultAssigned?.Invoke( - meshNumeration, - meshIndex, - primIndexArray - ); - meshNumeration++; } -#endif meshAssignmentCounter += clusteredPrimitives.Count; -#if DRACO_IS_ENABLED - meshAssignmentCounter += singlePrimitives.Count; -#endif meshAssignmentIndices[meshIndex + 1] = meshAssignmentCounter; } @@ -3662,7 +3880,7 @@ out MeshPrimitiveBase[] primitives #if DRACO_IS_ENABLED if (primitives[0].IsDracoCompressed) { - generator = new DracoMeshGenerator(primitives, subMeshes, morphTargetNames, mesh.name, this); + generator = new DracoMeshGenerator(primitives, morphTargetNames, mesh.name, this); } else #endif @@ -4050,34 +4268,22 @@ public unsafe void GetAccessorSparseValues(AccessorSparseValues sparseValues, ou } } - static ImageFormat GetImageFormatFromMimeType(string mimeType) - { - if (!mimeType.StartsWith("image/")) return ImageFormat.Unknown; - var sub = mimeType.Substring(6); - switch (sub) - { - case "jpeg": - return ImageFormat.Jpeg; - case "png": - return ImageFormat.PNG; - case "ktx": - case "ktx2": - return ImageFormat.Ktx; - default: - return ImageFormat.Unknown; - } - } - #if KTX_IS_ENABLED struct KtxTranscodeTaskWrapper { public int index; public TextureResult result; } - static async Task KtxLoadAndTranscode(int index, KtxLoadContextBase ktx, bool linear) { + static async Task KtxLoadAndTranscode( + int index, + KtxLoadContextBase ktx, + bool linear, + bool readable + ) + { return new KtxTranscodeTaskWrapper { index = index, - result = await ktx.LoadTexture2D(linear) + result = await ktx.LoadTexture2D(linear, readable) }; } @@ -4092,7 +4298,8 @@ async Task ProcessKtxLoadContexts() { while (ktxTasks.Count < maxCount && startedCount < totalCount) { var ktx = m_KtxLoadContextsBuffer[startedCount]; var forceSampleLinear = m_ImageGamma != null && !m_ImageGamma[ktx.imageIndex]; - ktxTasks.Add(KtxLoadAndTranscode(startedCount, ktx, forceSampleLinear)); + var readable = LoadImageReadable(ktx.imageIndex); + ktxTasks.Add(KtxLoadAndTranscode(startedCount, ktx, forceSampleLinear, readable)); startedCount++; await DeferAgent.BreakPoint(); } diff --git a/Runtime/Scripts/ImageCreateContext.cs b/Runtime/Scripts/ImageCreateContext.cs index 2ab3e0eb7..772b9a560 100644 --- a/Runtime/Scripts/ImageCreateContext.cs +++ b/Runtime/Scripts/ImageCreateContext.cs @@ -1,6 +1,8 @@ // SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 +#if UNITY_IMAGECONVERSION && !UNITY_6000_0_OR_NEWER + using System.Runtime.InteropServices; using Unity.Jobs; @@ -15,3 +17,5 @@ struct ImageCreateContext public JobHandle jobHandle; } } + +#endif diff --git a/Runtime/Scripts/ImageFormat.cs b/Runtime/Scripts/ImageFormat.cs new file mode 100644 index 000000000..61820f646 --- /dev/null +++ b/Runtime/Scripts/ImageFormat.cs @@ -0,0 +1,16 @@ +// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; + +namespace GLTFast +{ + enum ImageFormat + { + Unknown, + PNG, + Jpeg, + Ktx, + WebP + } +} diff --git a/Runtime/Scripts/KtxLoadNativeContext.cs.meta b/Runtime/Scripts/ImageFormat.cs.meta similarity index 83% rename from Runtime/Scripts/KtxLoadNativeContext.cs.meta rename to Runtime/Scripts/ImageFormat.cs.meta index 4f1865024..c4b25b7d6 100644 --- a/Runtime/Scripts/KtxLoadNativeContext.cs.meta +++ b/Runtime/Scripts/ImageFormat.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 0b64438dddabd44ad95294127de88411 +guid: 1777ea20287043208f52643fc1b80201 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Runtime/Scripts/ImageFormatExtensions.cs b/Runtime/Scripts/ImageFormatExtensions.cs new file mode 100644 index 000000000..1f409f7d0 --- /dev/null +++ b/Runtime/Scripts/ImageFormatExtensions.cs @@ -0,0 +1,27 @@ +// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +using UnityEngine; + +namespace GLTFast +{ + static class ImageFormatExtensions + { + public static ImageFormat FromMimeType(ReadOnlySpan mimeType) + { + if (mimeType == null || !mimeType.StartsWith("image/")) + return ImageFormat.Unknown; + var subType = mimeType[6..]; + if (subType.SequenceEqual("jpeg")) + return ImageFormat.Jpeg; + if (subType.SequenceEqual("png")) + return ImageFormat.PNG; + if (subType.SequenceEqual("ktx") || subType.SequenceEqual("ktx2")) + return ImageFormat.Ktx; + if (subType.SequenceEqual("webp")) + return ImageFormat.WebP; + return ImageFormat.Unknown; + } + } +} diff --git a/Runtime/Scripts/Export/StreamExtension.cs.meta b/Runtime/Scripts/ImageFormatExtensions.cs.meta similarity index 83% rename from Runtime/Scripts/Export/StreamExtension.cs.meta rename to Runtime/Scripts/ImageFormatExtensions.cs.meta index 336ace476..a58f061a2 100644 --- a/Runtime/Scripts/Export/StreamExtension.cs.meta +++ b/Runtime/Scripts/ImageFormatExtensions.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: ce842f523046d45de9f138cb1ad861ed +guid: 932ae5a636f3a4b99af8dbace356841d MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Runtime/Scripts/KtxLoadContext.cs b/Runtime/Scripts/KtxLoadContext.cs index 7d8be10c9..5cff863ce 100644 --- a/Runtime/Scripts/KtxLoadContext.cs +++ b/Runtime/Scripts/KtxLoadContext.cs @@ -13,22 +13,21 @@ namespace GLTFast { class KtxLoadContext : KtxLoadContextBase { - NativeArray.ReadOnly m_Data; - public KtxLoadContext(int index, NativeArray.ReadOnly data) { - imageIndex = index; - m_Data = data; + readonly KtxTexture m_KtxTexture; + + public KtxLoadContext(int imageIndex, NativeArray.ReadOnly data) : base(imageIndex, data) + { m_KtxTexture = new KtxTexture(); } - public override async Task LoadTexture2D(bool linear) { - // TODO: Wait for KTX for Unity to offer a non-slice API and avoid slice here. + public override async Task LoadTexture2D(bool linear, bool readable) { var errorCode = m_KtxTexture.Open(m_Data); if (errorCode != ErrorCode.Success) { return new TextureResult(errorCode); } - var result = await m_KtxTexture.LoadTexture2D(linear); + var result = await m_KtxTexture.LoadTexture2D(linear, readable); m_KtxTexture.Dispose(); return result; diff --git a/Runtime/Scripts/KtxLoadContextBase.cs b/Runtime/Scripts/KtxLoadContextBase.cs index ee3cc5795..de2b0ee2a 100644 --- a/Runtime/Scripts/KtxLoadContextBase.cs +++ b/Runtime/Scripts/KtxLoadContextBase.cs @@ -9,14 +9,22 @@ using System.Threading.Tasks; using KtxUnity; +using Unity.Collections; using UnityEngine; namespace GLTFast { abstract class KtxLoadContextBase { - public int imageIndex; - protected KtxTexture m_KtxTexture; - public abstract Task LoadTexture2D(bool linear); + public readonly int imageIndex; + protected readonly NativeArray.ReadOnly m_Data; + + protected KtxLoadContextBase(int imageIndex, NativeArray.ReadOnly data) + { + this.imageIndex = imageIndex; + m_Data = data; + } + + public abstract Task LoadTexture2D(bool linear, bool readable); } } #endif // KTX_IS_INSTALLED diff --git a/Runtime/Scripts/KtxLoadNativeContext.cs b/Runtime/Scripts/KtxLoadNativeContext.cs deleted file mode 100644 index 88cc2e78d..000000000 --- a/Runtime/Scripts/KtxLoadNativeContext.cs +++ /dev/null @@ -1,36 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -#if KTX_IS_RECENT -#define KTX_IS_ENABLED -#endif - -#if KTX_IS_ENABLED - -using System.Threading.Tasks; -using KtxUnity; -using Unity.Collections; - -namespace GLTFast { - class KtxLoadNativeContext : KtxLoadContextBase { - ReadOnlyNativeArray m_Data; - - public KtxLoadNativeContext(int index,ReadOnlyNativeArray data) { - imageIndex = index; - m_Data = data; - m_KtxTexture = new KtxTexture(); - } - - public override async Task LoadTexture2D(bool linear) { - var errorCode = m_KtxTexture.Open(m_Data.AsNativeArrayReadOnly()); - if (errorCode != ErrorCode.Success) { - return new TextureResult(errorCode); - } - - var result = await m_KtxTexture.LoadTexture2D(linear); - m_KtxTexture.Dispose(); - return result; - } - } -} -#endif // KTX_IS_INSTALLED diff --git a/Runtime/Scripts/Loading/DefaultDownloadProvider.cs b/Runtime/Scripts/Loading/DefaultDownloadProvider.cs index 0cb731857..8a1fc1896 100644 --- a/Runtime/Scripts/Loading/DefaultDownloadProvider.cs +++ b/Runtime/Scripts/Loading/DefaultDownloadProvider.cs @@ -52,11 +52,7 @@ public async Task RequestTexture(Uri url, bool nonReadable) /// /// Default implementation that loads URIs via /// - public class AwaitableDownload : - IDownload -#if UNITY_2021_3_OR_NEWER - ,INativeDownload -#endif + public class AwaitableDownload : IDownload, INativeDownload { const string k_MimeTypeGltfBinary = "model/gltf-binary"; const string k_MimeTypeGltf = "model/gltf+json"; @@ -127,10 +123,8 @@ public byte[] Data } } -#if UNITY_2021_3_OR_NEWER /// public NativeArray.ReadOnly NativeData => m_Request?.downloadHandler.nativeData ?? default; -#endif /// /// Downloaded data as string @@ -155,11 +149,7 @@ public bool? IsBinary return false; } -#if UNITY_2021_3_OR_NEWER return GltfGlobals.IsGltfBinary(NativeData); -#else - return null; -#endif } } diff --git a/Runtime/Scripts/Logging/ICodeLogger.cs b/Runtime/Scripts/Logging/ICodeLogger.cs index 1952e05b3..d0d92dd52 100644 --- a/Runtime/Scripts/Logging/ICodeLogger.cs +++ b/Runtime/Scripts/Logging/ICodeLogger.cs @@ -41,7 +41,6 @@ public interface ICodeLogger /// Message's log code /// Additional, optional message parts public void Log(LogType logType, LogCode code, params string[] messages) -#if UNITY_2021_3_OR_NEWER { switch (logType) { @@ -56,9 +55,6 @@ public void Log(LogType logType, LogCode code, params string[] messages) break; } } -#else - ; -#endif /// /// Dispatches a critical error message. diff --git a/Runtime/Scripts/Logging/LogMessages.cs b/Runtime/Scripts/Logging/LogMessages.cs index ede03d9a8..2c4be0eb7 100644 --- a/Runtime/Scripts/Logging/LogMessages.cs +++ b/Runtime/Scripts/Logging/LogMessages.cs @@ -85,8 +85,9 @@ public enum LogCode : uint /// EmbedBufferLoadFailed, /// - /// Inconsistent embed image type + /// Inconsistent embed image type between data URI mediatype and image.mimeType. /// + [Obsolete("The glTF 2.0 specification requires data URIs to have a valid mediatype. Therefore it's not checked against image.mimeType anymore.")] EmbedImageInconsistentType, /// /// Loading embedded image failed @@ -246,6 +247,14 @@ public enum LogCode : uint /// Stream read error. /// StreamError, + /// + /// Sampler settings have not been applied on texture successfully. + /// + TextureSamplerNotApplied, + /// Base64-encoded buffer has unexpected mime type + BufferDataUriUnexpectedMimeType, + /// Buffer's actual length is smaller than what its byteLength property suggests. + BufferContentUndersized, } /// @@ -266,6 +275,8 @@ This may result in low performance and high memory usage. Try optimizing the glT { LogCode.AnimationChannelSamplerInvalid, "Animation channel {0} has invalid sampler id or output" }, { LogCode.AnimationFormatInvalid, "Invalid animation format {0}" }, { LogCode.AnimationTargetPathUnsupported, "Unsupported animation target path {0}" }, + { LogCode.BufferDataUriUnexpectedMimeType, "Buffer {0}: Unexpected mime type {1}" }, + { LogCode.BufferContentUndersized, "Buffer {0} byteLength {1} is greater than actual length {2}" }, { LogCode.BufferLoadFailed, "Download buffer {1} failed: {0}" }, { LogCode.BufferMainInvalidType, "Invalid mainBufferType {0}" }, { LogCode.ChunkJsonInvalid, "Invalid JSON chunk" }, @@ -274,7 +285,6 @@ This may result in low performance and high memory usage. Try optimizing the glT { LogCode.ColorFormatUnsupported, "Unsupported color format {0}" }, { LogCode.Download, "Download URL {1} failed: {0}" }, { LogCode.EmbedBufferLoadFailed, "Loading embed buffer failed" }, - { LogCode.EmbedImageInconsistentType, "Inconsistent embed image type {0}!={1}" }, { LogCode.EmbedImageLoadFailed, "Loading embedded image failed" }, { LogCode.EmbedImageUnsupportedType, "Unsupported embed image format {0}" }, { LogCode.EmbedSlow, "JSON embed buffers are slow! consider using glTF binary" }, @@ -308,6 +318,7 @@ This may result in low performance and high memory usage. Try optimizing the glT { LogCode.TextureInvalidType, "Invalid {0} texture type (material: {1})" }, { LogCode.TextureLoadFailed, "Texture #{0} not loaded" }, { LogCode.TextureNotFound, "Texture #{0} not found" }, + { LogCode.TextureSamplerNotApplied, "Sampler {0} has not been applied on texture #{1} (conflict on image {2})" }, { LogCode.TopologyPointsMaterialUnsupported, "Could not find material that supports points topology" }, { LogCode.TopologyUnsupported, "Unsupported topology {0}" }, { LogCode.TypeUnsupported, "Unsupported {0} type {1}" }, diff --git a/Runtime/Scripts/MainBufferType.cs b/Runtime/Scripts/MainBufferType.cs index b4083876c..4cafa2dcb 100644 --- a/Runtime/Scripts/MainBufferType.cs +++ b/Runtime/Scripts/MainBufferType.cs @@ -13,7 +13,7 @@ enum MainBufferType Normal = 0x2, Tangent = 0x4, - PosNorm = 0x3, - PosNormTan = 0x7, + PosNorm = Position | Normal, + PosNormTan = Position | Normal | Tangent, } } diff --git a/Runtime/Scripts/Material/BuiltInMaterialGenerator.cs b/Runtime/Scripts/Material/BuiltInMaterialGenerator.cs index 55ae2820b..5f5c68b50 100644 --- a/Runtime/Scripts/Material/BuiltInMaterialGenerator.cs +++ b/Runtime/Scripts/Material/BuiltInMaterialGenerator.cs @@ -1,7 +1,7 @@ // SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 -#if ! ( USING_URP || USING_HDRP || (UNITY_SHADER_GRAPH_12_OR_NEWER && GLTFAST_BUILTIN_SHADER_GRAPH) ) +#if ! ( USING_URP || USING_HDRP || GLTFAST_BUILTIN_SHADER_GRAPH ) #define GLTFAST_BUILTIN_RP #endif diff --git a/Runtime/Scripts/Material/BuiltInShaderGraphMaterialGenerator.cs b/Runtime/Scripts/Material/BuiltInShaderGraphMaterialGenerator.cs index feb1e43d6..6a07248d3 100644 --- a/Runtime/Scripts/Material/BuiltInShaderGraphMaterialGenerator.cs +++ b/Runtime/Scripts/Material/BuiltInShaderGraphMaterialGenerator.cs @@ -1,7 +1,7 @@ // SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 -#if UNITY_SHADER_GRAPH_12_OR_NEWER && GLTFAST_BUILTIN_SHADER_GRAPH +#if GLTFAST_BUILTIN_SHADER_GRAPH using GLTFast.Schema; using UnityEngine; diff --git a/Runtime/Scripts/Material/HighDefinitionRPMaterialGenerator.cs b/Runtime/Scripts/Material/HighDefinitionRPMaterialGenerator.cs index d00abbe84..ad9807f46 100644 --- a/Runtime/Scripts/Material/HighDefinitionRPMaterialGenerator.cs +++ b/Runtime/Scripts/Material/HighDefinitionRPMaterialGenerator.cs @@ -9,9 +9,7 @@ #endif using UnityEngine; using UnityEngine.Rendering; -#if USING_HDRP_10_OR_NEWER using UnityEngine.Rendering.HighDefinition; -#endif namespace GLTFast.Materials { @@ -29,7 +27,6 @@ public class HighDefinitionRPMaterialGenerator : ShaderGraphMaterialGenerator { static readonly int k_ZTestDepthEqualForOpaque = Shader.PropertyToID("_ZTestDepthEqualForOpaque"); -#if USING_HDRP_10_OR_NEWER static readonly int k_RenderQueueType = Shader.PropertyToID("_RenderQueueType"); const string k_DoubleSidedOnKeyword = "_DOUBLESIDED_ON"; @@ -46,37 +43,6 @@ public class HighDefinitionRPMaterialGenerator : ShaderGraphMaterialGenerator { static bool s_MetallicStackLitShaderQueried; static Shader s_MetallicStackLitShader; -#if !UNITY_SHADER_GRAPH_12_OR_NEWER - - /// - /// Forces non-legacy shader graph for HDRP 10.x - /// - /// Shader features - /// Shader name - // TODO: Drop it when 2020 support is dropped - protected override string GetMetallicShaderName(MetallicShaderFeatures features) { - return MetallicShader; - } - - /// - /// Forces non-legacy shader graph for HDRP 10.x - /// - /// Shader features - /// Shader name - protected override string GetSpecularShaderName(SpecularShaderFeatures features) { - return SpecularShader; - } - - /// - /// Forces non-legacy shader graph for HDRP 10.x - /// - /// Shader features - /// Shader name - protected override string GetUnlitShaderName(UnlitShaderFeatures features) { - return UnlitShader; - } -#endif // !UNITY_SHADER_GRAPH_12_OR_NEWER - protected override void SetDoubleSided(Schema.MaterialBase gltfMaterial, Material material) { base.SetDoubleSided(gltfMaterial,material); @@ -90,7 +56,6 @@ protected override void SetDoubleSided(Schema.MaterialBase gltfMaterial, Materia material.SetFloat(MaterialProperty.CullMode, (int)CullMode.Off); material.SetFloat(CullModeForwardProperty, (int)CullMode.Off); } -#endif // USING_HDRP_10_OR_NEWER protected override void SetAlphaModeMask(Schema.MaterialBase gltfMaterial, Material material) { base.SetAlphaModeMask(gltfMaterial,material); @@ -101,7 +66,6 @@ protected override void SetAlphaModeMask(Schema.MaterialBase gltfMaterial, Mater if (gltfMaterial.Extensions?.KHR_materials_unlit != null) { -#if USING_HDRP_10_OR_NEWER material.EnableKeyword(SurfaceTypeTransparentKeyword); material.EnableKeyword(DisableSsrTransparentKeyword); material.EnableKeyword(EnableFogOnTransparentKeyword); @@ -113,7 +77,6 @@ protected override void SetAlphaModeMask(Schema.MaterialBase gltfMaterial, Mater material.SetShaderPassEnabled(ShaderPassDepthOnlyPass, false); material.SetFloat(AlphaDstBlendProperty, (int)BlendMode.OneMinusSrcAlpha);//10 -#endif // USING_HDRP_10_OR_NEWER material.SetOverrideTag(RenderTypeTag,TransparentRenderType); material.SetShaderPassEnabled(DistortionVectorsPass,false); material.SetFloat(MaterialProperty.DstBlend, (int)BlendMode.OneMinusSrcAlpha);//10 @@ -125,7 +88,6 @@ protected override void SetAlphaModeMask(Schema.MaterialBase gltfMaterial, Mater } } -#if USING_HDRP_10_OR_NEWER /// /// Picks more advanced StackLit based shader graph, if any material feature requires it. /// @@ -180,11 +142,8 @@ protected override void SetShaderModeBlend(Schema.MaterialBase gltfMaterial, Mat material.SetFloat(AlphaDstBlendProperty, (int)BlendMode.OneMinusSrcAlpha);//10 material.SetFloat(MaterialProperty.DstBlend, (int)BlendMode.OneMinusSrcAlpha);//10 material.SetFloat(MaterialProperty.SrcBlend, (int) BlendMode.SrcAlpha);//5 -#if UNITY_2021_1_OR_NEWER material.SetFloat(MaterialProperty.EnableBlendModePreserveSpecularLighting, 0); -#endif } -#endif // USING_HDRP_10_OR_NEWER } } #endif // USING_URP diff --git a/Runtime/Scripts/Material/MaterialGenerator.cs b/Runtime/Scripts/Material/MaterialGenerator.cs index 38cc88ef8..2b0e6a28a 100644 --- a/Runtime/Scripts/Material/MaterialGenerator.cs +++ b/Runtime/Scripts/Material/MaterialGenerator.cs @@ -1,7 +1,7 @@ // SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 -#if USING_URP || USING_HDRP || (UNITY_SHADER_GRAPH_12_OR_NEWER && GLTFAST_BUILTIN_SHADER_GRAPH) +#if USING_URP || USING_HDRP || GLTFAST_BUILTIN_SHADER_GRAPH #define GLTFAST_SHADER_GRAPH #else #define GLTFAST_BUILTIN_RP @@ -228,7 +228,7 @@ public static IMaterialGenerator GetDefaultMaterialGenerator() switch (renderPipeline) { -#if UNITY_SHADER_GRAPH_12_OR_NEWER && GLTFAST_BUILTIN_SHADER_GRAPH +#if GLTFAST_BUILTIN_SHADER_GRAPH case RenderPipeline.BuiltIn: s_DefaultMaterialGenerator = new BuiltInShaderGraphMaterialGenerator(); return s_DefaultMaterialGenerator; diff --git a/Runtime/Scripts/Material/MaterialProperty.cs b/Runtime/Scripts/Material/MaterialProperty.cs index f8e600539..21faaddae 100644 --- a/Runtime/Scripts/Material/MaterialProperty.cs +++ b/Runtime/Scripts/Material/MaterialProperty.cs @@ -115,10 +115,8 @@ public static class MaterialProperty public static readonly int AlphaCutoffEnable = Shader.PropertyToID("_AlphaCutoffEnable"); /// Shader property ID for property _DoubleSidedEnable public static readonly int DoubleSidedEnable = Shader.PropertyToID("_DoubleSidedEnable"); -#if UNITY_2021_1_OR_NEWER /// Shader property ID for property _EnableBlendModePreserveSpecularLighting public static readonly int EnableBlendModePreserveSpecularLighting = Shader.PropertyToID(HDMaterialProperties.kEnableBlendModePreserveSpecularLighting); -#endif /// Shader property ID for property _SurfaceType public static readonly int SurfaceType = Shader.PropertyToID("_SurfaceType"); #endif diff --git a/Runtime/Scripts/Material/ShaderGraphMaterialGenerator.cs b/Runtime/Scripts/Material/ShaderGraphMaterialGenerator.cs index 9e324ec6e..de0b16c17 100644 --- a/Runtime/Scripts/Material/ShaderGraphMaterialGenerator.cs +++ b/Runtime/Scripts/Material/ShaderGraphMaterialGenerator.cs @@ -1,16 +1,13 @@ // SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 -#if USING_URP || USING_HDRP || (UNITY_SHADER_GRAPH_12_OR_NEWER && GLTFAST_BUILTIN_SHADER_GRAPH) +#if USING_URP || USING_HDRP || GLTFAST_BUILTIN_SHADER_GRAPH #define GLTFAST_SHADER_GRAPH #endif #if GLTFAST_SHADER_GRAPH using System; -#if !UNITY_SHADER_GRAPH_12_OR_NEWER -using System.Collections.Generic; -#endif using GLTFast.Logging; using GLTFast.Schema; @@ -57,15 +54,6 @@ protected enum SpecularShaderFeatures { DoubleSided = 1<<2 } -#if !UNITY_SHADER_GRAPH_12_OR_NEWER - [Flags] - protected enum UnlitShaderFeatures { - Default = 0, - AlphaBlend = 1<<1, - DoubleSided = 1<<2 - } -#endif - // These are used in HighDefinitionRPMaterialGenerator.cs for older versions of HDRP // ReSharper disable MemberCanBePrivate.Global // ReSharper disable MemberCanBeProtected.Global @@ -98,11 +86,7 @@ protected enum UnlitShaderFeatures { // ReSharper restore MemberCanBeProtected.Global #if UNITY_EDITOR -#if UNITY_SHADER_GRAPH_12_OR_NEWER || USING_HDRP_10_OR_NEWER const string k_ShaderPathPrefix = "Packages/" + GltfGlobals.GltfPackageName + "/Runtime/Shader/"; -#else - const string k_ShaderPathPrefix = "Packages/" + GltfGlobals.GltfPackageName + "/Runtime/Shader/Legacy/"; -#endif #endif const string k_ShaderGraphsPrefix = "Shader Graphs/"; @@ -162,7 +146,6 @@ protected enum UnlitShaderFeatures { /// Shader keyword _CLEARCOAT const string k_ClearcoatKeyword = "_CLEARCOAT"; -#if USING_HDRP_10_OR_NEWER || USING_URP_12_OR_NEWER // ReSharper disable MemberCanBeProtected.Global // const string KW_DISABLE_DECALS = "_DISABLE_DECALS"; /// Shader keyword _DISABLE_SSR_TRANSPARENT @@ -188,13 +171,7 @@ protected enum UnlitShaderFeatures { /// Shader property ID for property _ZTestGBuffer public static readonly int ZTestGBufferProperty = Shader.PropertyToID("_ZTestGBuffer"); // ReSharper restore MemberCanBeProtected.Global -#endif -#if !UNITY_SHADER_GRAPH_12_OR_NEWER - static Dictionary s_MetallicShaders = new Dictionary(); - static Dictionary s_SpecularShaders = new Dictionary(); - static Dictionary s_UnlitShaders = new Dictionary(); -#else static Shader s_MetallicShader; static Shader s_SpecularShader; static Shader s_UnlitShader; @@ -202,7 +179,6 @@ protected enum UnlitShaderFeatures { static bool s_MetallicShaderQueried; static bool s_SpecularShaderQueried; static bool s_UnlitShaderQueried; -#endif /// protected override Material GenerateDefaultMaterial(bool pointsSupport = false) { @@ -267,11 +243,7 @@ public override Material GenerateMaterial( if (specGloss != null) { baseColorLinear = specGloss.DiffuseColor; material.SetVector( MaterialProperty.DiffuseFactor, specGloss.DiffuseColor.gamma); -#if UNITY_SHADER_GRAPH_12_OR_NEWER material.SetVector(MaterialProperty.SpecularFactor, specGloss.SpecularColor); -#else - material.SetVector(MaterialProperty.SpecularFactor, specGloss.SpecularColor); -#endif material.SetFloat(MaterialProperty.GlossinessFactor, specGloss.glossinessFactor); TrySetTexture( @@ -514,7 +486,6 @@ Material GetSpecularMaterial(SpecularShaderFeatures features) { // ReSharper disable once UnusedParameter.Local protected virtual Shader GetMetallicShader(MetallicShaderFeatures features) { -#if UNITY_SHADER_GRAPH_12_OR_NEWER if (!s_MetallicShaderQueried) { #if UNITY_EDITOR s_MetallicShader = LoadShaderByGuid(new GUID(k_MetallicShaderGuid)); @@ -524,18 +495,10 @@ protected virtual Shader GetMetallicShader(MetallicShaderFeatures features) s_MetallicShaderQueried = true; } return s_MetallicShader; -#else - if (!s_MetallicShaders.TryGetValue(features, value: out var shader) || shader == null) { - shader = LoadShaderByName(GetMetallicShaderName(features)); - s_MetallicShaders[features] = shader; - } - return shader; -#endif } // ReSharper disable once UnusedParameter.Local Shader GetUnlitShader(MaterialBase gltfMaterial) { -#if UNITY_SHADER_GRAPH_12_OR_NEWER if (!s_UnlitShaderQueried) { #if UNITY_EDITOR s_UnlitShader = LoadShaderByGuid(new GUID(k_UnlitShaderGuid)); @@ -545,20 +508,11 @@ Shader GetUnlitShader(MaterialBase gltfMaterial) { s_UnlitShaderQueried = true; } return s_UnlitShader; -#else - var features = GetUnlitShaderFeatures(gltfMaterial); - if (!s_UnlitShaders.TryGetValue(features, out var shader) || shader == null) { - shader = LoadShaderByName(GetUnlitShaderName(features)); - s_UnlitShaders[features] = shader; - } - return shader; -#endif } // ReSharper disable once UnusedParameter.Local Shader GetSpecularShader(SpecularShaderFeatures features) { -#if UNITY_SHADER_GRAPH_12_OR_NEWER if (!s_SpecularShaderQueried) { #if UNITY_EDITOR s_SpecularShader = LoadShaderByGuid(new GUID(k_SpecularShaderGuid)); @@ -568,13 +522,6 @@ Shader GetSpecularShader(SpecularShaderFeatures features) { s_SpecularShaderQueried = true; } return s_SpecularShader; -#else - if (!s_SpecularShaders.TryGetValue(features, out var shader) || shader == null) { - shader = LoadShaderByName(GetSpecularShaderName(features)); - s_SpecularShaders[features] = shader; - } - return shader; -#endif } #if UNITY_EDITOR @@ -603,11 +550,9 @@ protected virtual void SetDoubleSided(MaterialBase gltfMaterial, Material materi protected virtual void SetAlphaModeMask(MaterialBase gltfMaterial, Material material) { material.SetFloat(MaterialProperty.AlphaCutoff, gltfMaterial.alphaCutoff); -#if USING_HDRP_10_OR_NEWER || USING_URP_12_OR_NEWER material.EnableKeyword(AlphaTestOnKeyword); material.SetOverrideTag(RenderTypeTag, TransparentCutoutRenderType); material.SetFloat(ZTestGBufferProperty, (int)CompareFunction.Equal); //3 -#endif } protected virtual void SetShaderModeOpaque(MaterialBase gltfMaterial, Material material) { } @@ -690,58 +635,6 @@ static SpecularShaderFeatures GetSpecularShaderFeatures(MaterialBase gltfMateria } return feature; } - -#if !UNITY_SHADER_GRAPH_12_OR_NEWER - - /// - /// Picks correct legacy shader for HDRP 7.x and URP 10.x or lower - /// - /// Shader features - /// Legacy shader name - // TODO: Drop it when 2020 support is dropped - protected virtual string GetMetallicShaderName(MetallicShaderFeatures features) { - var doubleSided = (features & MetallicShaderFeatures.DoubleSided) != 0; - var mode = (ShaderMode)(features & MetallicShaderFeatures.ModeMask); - return $"{MetallicShader}-{mode}{(doubleSided ? "-double" : "")}"; - } - - /// - /// Picks correct legacy shader for HDRP 7.x and URP 10.x or lower - /// - /// Shader features - /// Legacy shader name - // TODO: Drop it when 2020 support is dropped - protected virtual string GetUnlitShaderName(UnlitShaderFeatures features) { - var doubleSided = (features & UnlitShaderFeatures.DoubleSided) != 0; - var alphaBlend = (features & UnlitShaderFeatures.AlphaBlend) != 0; - var shaderName = $"{UnlitShader}{(alphaBlend ? "-Blend" : "-Opaque")}{(doubleSided ? "-double" : "")}"; - return shaderName; - } - - /// - /// Picks correct legacy shader for HDRP 7.x and URP 10.x or lower - /// - /// Shader features - /// Legacy shader name - // TODO: Drop it when 2020 support is dropped - protected virtual string GetSpecularShaderName(SpecularShaderFeatures features) { - var alphaBlend = (features & SpecularShaderFeatures.AlphaBlend) != 0; - var doubleSided = (features & SpecularShaderFeatures.DoubleSided) != 0; - var shaderName = $"{SpecularShader}{(alphaBlend ? "-Blend" : "-Opaque")}{(doubleSided ? "-double" : "")}"; - return shaderName; - } - - static UnlitShaderFeatures GetUnlitShaderFeatures(MaterialBase gltfMaterial) { - - var feature = UnlitShaderFeatures.Default; - if (gltfMaterial.doubleSided) feature |= UnlitShaderFeatures.DoubleSided; - - if (gltfMaterial.GetAlphaMode() != AlphaMode.Opaque) { - feature |= UnlitShaderFeatures.AlphaBlend; - } - return feature; - } -#endif } } #endif // GLTFAST_SHADER_GRAPH diff --git a/Runtime/Scripts/Material/UniveralRPMaterialGenerator.cs b/Runtime/Scripts/Material/UniveralRPMaterialGenerator.cs index a7e7d6e45..dcde42af5 100644 --- a/Runtime/Scripts/Material/UniveralRPMaterialGenerator.cs +++ b/Runtime/Scripts/Material/UniveralRPMaterialGenerator.cs @@ -24,7 +24,6 @@ public class UniversalRPMaterialGenerator : ShaderGraphMaterialGenerator { static bool s_SupportsCameraOpaqueTexture; -#if USING_URP_12_OR_NEWER #if UNITY_EDITOR /// Guid of the shader graph with clearcoat support const string k_MetallicClearcoatShaderGuid = "c18c97ae1ce021b4980c5d19a54f0d3c"; @@ -34,13 +33,11 @@ public class UniversalRPMaterialGenerator : ShaderGraphMaterialGenerator { static bool s_MetallicClearcoatShaderQueried; static Shader s_MetallicClearcoatShader; -#endif public UniversalRPMaterialGenerator(UniversalRenderPipelineAsset renderPipelineAsset) { s_SupportsCameraOpaqueTexture = renderPipelineAsset.supportsCameraOpaqueTexture; } -#if USING_URP_12_OR_NEWER protected override void SetDoubleSided(MaterialBase gltfMaterial, Material material) { base.SetDoubleSided(gltfMaterial,material); material.SetFloat(MaterialProperty.Cull, (int)CullMode.Off); @@ -97,7 +94,6 @@ protected override Shader GetMetallicShader(MetallicShaderFeatures features) return base.GetMetallicShader(features); } -#endif protected override ShaderMode? ApplyTransmissionShaderFeatures(MaterialBase gltfMaterial) { if (!s_SupportsCameraOpaqueTexture) { diff --git a/Runtime/Scripts/MaterialsVariants/MaterialsVariantsSlotInstances.cs b/Runtime/Scripts/MaterialsVariants/MaterialsVariantsSlotInstances.cs index 9f37da61d..381896e1b 100644 --- a/Runtime/Scripts/MaterialsVariants/MaterialsVariantsSlotInstances.cs +++ b/Runtime/Scripts/MaterialsVariants/MaterialsVariantsSlotInstances.cs @@ -59,11 +59,7 @@ CancellationToken cancellationToken getMaterialTasks.Remove(task); } } -#if UNITY_2022_2_OR_NEWER m_Renderer.SetSharedMaterials(materials); -#else - m_Renderer.sharedMaterials = materials.ToArray(); -#endif } } } diff --git a/Runtime/Scripts/MaterialsVariants/MultiMaterialsVariantsSlotInstances.cs b/Runtime/Scripts/MaterialsVariants/MultiMaterialsVariantsSlotInstances.cs index cf195f455..6b8570abc 100644 --- a/Runtime/Scripts/MaterialsVariants/MultiMaterialsVariantsSlotInstances.cs +++ b/Runtime/Scripts/MaterialsVariants/MultiMaterialsVariantsSlotInstances.cs @@ -29,9 +29,6 @@ CancellationToken cancellationToken ) { var firstIteration = true; -#if !UNITY_2022_2_OR_NEWER - Material[] materialsArray = null; -#endif foreach (var renderer in m_Renderers) { if (firstIteration) @@ -68,16 +65,9 @@ CancellationToken cancellationToken } } -#if !UNITY_2022_2_OR_NEWER - materialsArray = materials.ToArray(); -#endif firstIteration = false; } -#if UNITY_2022_2_OR_NEWER renderer.SetSharedMaterials(materials); -#else - renderer.sharedMaterials = materialsArray; -#endif } } } diff --git a/Runtime/Scripts/MeshGenerator.cs b/Runtime/Scripts/MeshGenerator.cs index 3f138c562..d9e93f11c 100644 --- a/Runtime/Scripts/MeshGenerator.cs +++ b/Runtime/Scripts/MeshGenerator.cs @@ -123,7 +123,7 @@ out bool hasTangents var material = gltfImport.GetSourceMaterial(primitive.material); if (material.RequiresTangents) { - mainBufferType |= MainBufferType.Tangent; + mainBufferType |= MainBufferType.Normal | MainBufferType.Tangent; } else if (material.RequiresNormals) { @@ -298,6 +298,7 @@ void AddMorphTargets(int subMesh, MeshPrimitiveBase primitive, ICodeLogger logge var morphTarget = primitive.targets[morphTargetIndex]; var success = m_MorphTargetsGenerator.AddMorphTarget( vertexOffset, + subMesh, morphTargetIndex, morphTarget ); diff --git a/Runtime/Scripts/MeshGeneratorBase.cs b/Runtime/Scripts/MeshGeneratorBase.cs index b8c446a1b..e00b2e5eb 100644 --- a/Runtime/Scripts/MeshGeneratorBase.cs +++ b/Runtime/Scripts/MeshGeneratorBase.cs @@ -19,7 +19,7 @@ abstract class MeshGeneratorBase : IDisposable protected Task m_CreationTask; - public bool IsCompleted => m_CreationTask == null || m_CreationTask.IsCompleted; + public virtual bool IsCompleted => m_CreationTask == null || m_CreationTask.IsCompleted; protected MorphTargetsGenerator m_MorphTargetsGenerator; diff --git a/Runtime/Scripts/MorphTargetsGenerator.cs b/Runtime/Scripts/MorphTargetsGenerator.cs index 5dd610506..4cd3dd688 100644 --- a/Runtime/Scripts/MorphTargetsGenerator.cs +++ b/Runtime/Scripts/MorphTargetsGenerator.cs @@ -46,6 +46,7 @@ GltfImportBase gltfImport public bool AddMorphTarget( int offset, + int subMesh, int morphTargetIndex, MorphTarget morphTarget ) @@ -58,8 +59,7 @@ MorphTarget morphTarget ); if (jobHandle.HasValue) { - m_Handles[morphTargetIndex] = jobHandle.Value; - m_Contexts[morphTargetIndex] = morphTargetGenerator; + m_Handles[subMesh * m_Contexts.Length + morphTargetIndex] = jobHandle.Value; } else { @@ -70,7 +70,7 @@ MorphTarget morphTarget public JobHandle GetJobHandle() { - var handle = m_Contexts.Length > 1 ? JobHandle.CombineDependencies(m_Handles) : m_Handles[0]; + var handle = m_Handles.Length > 1 ? JobHandle.CombineDependencies(m_Handles) : m_Handles[0]; m_Handles.Dispose(); return handle; } @@ -128,7 +128,7 @@ IGltfBuffers buffers morphTarget.POSITION, out var posAcc, out var posData, - out var posByteStride + out _ ); var jobCount = 1; diff --git a/Runtime/Scripts/ReadOnlyNativeArrayFromNativeArray.cs b/Runtime/Scripts/ReadOnlyNativeArrayFromNativeArray.cs index d87b6b690..31458bad6 100644 --- a/Runtime/Scripts/ReadOnlyNativeArrayFromNativeArray.cs +++ b/Runtime/Scripts/ReadOnlyNativeArrayFromNativeArray.cs @@ -17,7 +17,7 @@ public ReadOnlyNativeArray Array { get { -#if ENABLE_UNITY_COLLECTIONS_CHECKS && UNITY_2022_2_OR_NEWER +#if ENABLE_UNITY_COLLECTIONS_CHECKS // Making sure the source was not disposed already. // This indirectly triggers a check of the original's safety handle as in // `AtomicSafetyHandle.CheckReadAndThrow(m_Source.m_Safety);` @@ -27,7 +27,7 @@ public ReadOnlyNativeArray Array } } -#if ENABLE_UNITY_COLLECTIONS_CHECKS && UNITY_2022_2_OR_NEWER +#if ENABLE_UNITY_COLLECTIONS_CHECKS readonly NativeArray.ReadOnly m_Source; #endif @@ -35,9 +35,7 @@ public ReadOnlyNativeArrayFromNativeArray(NativeArray.ReadOnly data) { var bufferAddress = data.GetUnsafeReadOnlyPtr(); #if ENABLE_UNITY_COLLECTIONS_CHECKS -#if UNITY_2022_2_OR_NEWER m_Source = data; -#endif var safety = AtomicSafetyHandle.Create(); m_Array = new ReadOnlyNativeArray(bufferAddress, data.Length, ref safety); #else diff --git a/Runtime/Scripts/VertexBufferBones.cs b/Runtime/Scripts/VertexBufferBones.cs index 19b34fa44..7a808b1f3 100644 --- a/Runtime/Scripts/VertexBufferBones.cs +++ b/Runtime/Scripts/VertexBufferBones.cs @@ -44,7 +44,8 @@ IGltfBuffers buffers { m_Logger?.Error(LogCode.SparseAccessor, "bone weights"); } - var vDataPtr = (byte*)m_Data.GetUnsafeReadOnlyPtr(); + // Ignoring NativeArray safety here, so that multiple jobs (one per sub-mesh) can write to the same array. + var vDataPtr = (byte*)NativeArrayUnsafeUtility.GetUnsafeBufferPointerWithoutChecks(m_Data); JobHandle weightsHandle; JobHandle jointsHandle; @@ -95,8 +96,12 @@ IGltfBuffers buffers } } - var jobHandle = JobHandle.CombineDependencies(weightsHandle, jointsHandle); + Profiler.EndSample(); + return JobHandle.CombineDependencies(weightsHandle, jointsHandle); + } + public JobHandle ScheduleSortAndNormalizeBoneWeightsJob(JobHandle dependsOn) + { var skinWeights = (int)QualitySettings.skinWeights; #if UNITY_EDITOR @@ -109,25 +114,21 @@ IGltfBuffers buffers if (skinWeights < 4) { #endif - var job = new SortAndNormalizeBoneWeightsJob + return new SortAndNormalizeBoneWeightsJob { bones = m_Data, skinWeights = math.max(1, skinWeights) - }; - jobHandle = job.Schedule(m_Data.Length, GltfImport.DefaultBatchCount, jobHandle); + }.Schedule(m_Data.Length, GltfImport.DefaultBatchCount, dependsOn); } #if GLTFAST_SAFE else { // Re-normalizing alone is sufficient - var job = new RenormalizeBoneWeightsJob { + return new RenormalizeBoneWeightsJob { bones = m_Data, - }; - jobHandle = job.Schedule(m_Data.Length, GltfImport.DefaultBatchCount, jobHandle); + }.Schedule(m_Data.Length, GltfImport.DefaultBatchCount, dependsOn); } #endif - - Profiler.EndSample(); - return jobHandle; + return dependsOn; } public void AddDescriptors(VertexAttributeDescriptor[] dst, int offset, int stream) diff --git a/Runtime/Scripts/VertexBufferGenerator.cs b/Runtime/Scripts/VertexBufferGenerator.cs index 37e144511..db0ac3511 100644 --- a/Runtime/Scripts/VertexBufferGenerator.cs +++ b/Runtime/Scripts/VertexBufferGenerator.cs @@ -147,7 +147,7 @@ public override async Task CreateVertexBuffer() m_HasBones = firstAttributes.WEIGHTS_0 >= 0 && firstAttributes.JOINTS_0 >= 0; if (m_HasBones) { - jobCount += m_Attributes.Length; + jobCount++; m_Bones = new VertexBufferBones(VertexCount, m_GltfImport.Logger); } @@ -204,10 +204,10 @@ public override async Task CreateVertexBuffer() if (m_HasColors && !ScheduleColorsJobs(att, i, handles, ref handleIndex)) return null; - - if (m_HasBones && !ScheduleVertexBonesJobs(att, i, handles, handleIndex)) - return null; } + if (m_HasBones && !ScheduleVertexBonesJobs(m_Attributes, handles.GetSubArray(handleIndex, 1))) + return null; + var handle = jobCount > 1 ? JobHandle.CombineDependencies(handles) : handles[0]; handles.Dispose(); return handle; @@ -375,25 +375,48 @@ bool ScheduleColorsJobs(Attributes att, int i, NativeArray handles, r return true; } - bool ScheduleVertexBonesJobs(Attributes att, int i, NativeArray handles, int handleIndex) + bool ScheduleVertexBonesJobs(Attributes[] attributes, NativeArray handles) { - var h = m_Bones.ScheduleVertexBonesJob( - att.WEIGHTS_0, - att.JOINTS_0, - VertexIntervals[i], - m_GltfImport - ); - if (h.HasValue) + if (attributes.Length > 1) { - handles[handleIndex] = h.Value; + var boneHandles = new NativeArray(attributes.Length, Allocator.Temp); + for (var i = 0; i < attributes.Length; i++) + { + if (!ScheduleVertexBonesJob(i, out var boneHandle)) + return false; + boneHandles[i] = boneHandle; + } + handles[0] = JobHandle.CombineDependencies(boneHandles); + boneHandles.Dispose(); } else { - Profiler.EndSample(); - return false; + if (!ScheduleVertexBonesJob(0, out var boneHandle)) + return false; + handles[0] = boneHandle; } - + handles[0] = m_Bones.ScheduleSortAndNormalizeBoneWeightsJob(handles[0]); return true; + + bool ScheduleVertexBonesJob(int i, out JobHandle handle) + { + var att = attributes[i]; + + var h = m_Bones.ScheduleVertexBonesJob( + att.WEIGHTS_0, + att.JOINTS_0, + VertexIntervals[i], + m_GltfImport + ); + if (!h.HasValue) + { + handle = default; + return false; + } + + handle = h.Value; + return true; + } } void CreateDescriptors() diff --git a/Runtime/Scripts/glTFast.asmdef b/Runtime/Scripts/glTFast.asmdef index 0503d1d87..a04f27b47 100644 --- a/Runtime/Scripts/glTFast.asmdef +++ b/Runtime/Scripts/glTFast.asmdef @@ -27,7 +27,7 @@ }, { "name": "com.unity.cloud.draco", - "expression": "5.2.0-pre.1", + "expression": "5.4.0", "define": "DRACO_IS_RECENT" }, { @@ -37,7 +37,7 @@ }, { "name": "com.unity.cloud.ktx", - "expression": "3.5.0", + "expression": "3.6.0", "define": "KTX_IS_RECENT" }, { @@ -50,11 +50,6 @@ "expression": "7.3.1", "define": "USING_HDRP" }, - { - "name": "com.unity.render-pipelines.high-definition", - "expression": "10.0.0", - "define": "USING_HDRP_10_OR_NEWER" - }, { "name": "com.unity.render-pipelines.high-definition", "expression": "17", @@ -90,21 +85,11 @@ "expression": "", "define": "MESHOPT" }, - { - "name": "com.unity.render-pipelines.universal", - "expression": "12", - "define": "USING_URP_12_OR_NEWER" - }, { "name": "com.unity.shadergraph", "expression": "", "define": "UNITY_SHADER_GRAPH" }, - { - "name": "com.unity.shadergraph", - "expression": "12", - "define": "UNITY_SHADER_GRAPH_12_OR_NEWER" - }, { "name": "com.unity.nuget.newtonsoft-json", "expression": "3", diff --git a/Runtime/Shader/Legacy.meta b/Runtime/Shader/Legacy.meta deleted file mode 100644 index a5fb2ce8e..000000000 --- a/Runtime/Shader/Legacy.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: 9ada2d0c370f442c38affe4bb427748b -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Runtime/Shader/Legacy/README.txt b/Runtime/Shader/Legacy/README.txt deleted file mode 100644 index f4a476e87..000000000 --- a/Runtime/Shader/Legacy/README.txt +++ /dev/null @@ -1,3 +0,0 @@ -The shader graphs in this folder are used for: -- Universal Render Pipeline versions older than 12.0 -- High Definition Render Pipeline versions older than 10.0 diff --git a/Runtime/Shader/Legacy/README.txt.meta b/Runtime/Shader/Legacy/README.txt.meta deleted file mode 100644 index 59f2a5372..000000000 --- a/Runtime/Shader/Legacy/README.txt.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: c24623579a37e44848925b035981e797 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Runtime/Shader/Legacy/SubGraphs.meta b/Runtime/Shader/Legacy/SubGraphs.meta deleted file mode 100644 index 71c704774..000000000 --- a/Runtime/Shader/Legacy/SubGraphs.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: e63f246e0cafd4f489c44a5737a6e381 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Runtime/Shader/Legacy/SubGraphs/EmissionLegacy.shadersubgraph b/Runtime/Shader/Legacy/SubGraphs/EmissionLegacy.shadersubgraph deleted file mode 100644 index 701a7a8ab..000000000 --- a/Runtime/Shader/Legacy/SubGraphs/EmissionLegacy.shadersubgraph +++ /dev/null @@ -1,156 +0,0 @@ -{ - "m_SerializedProperties": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector3ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"c75fdb25-0e31-46d0-b09b-f0f3505da651\"\n },\n \"m_Name\": \"emissiveFactor\",\n \"m_DefaultReferenceName\": \"Vector3_BDA4AC8B\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"92c6bdd4-ca31-4b5a-bc1c-6794cd65d522\"\n },\n \"m_Name\": \"emissiveTexture\",\n \"m_DefaultReferenceName\": \"Texture2D_8C55BE6\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"4a9d9167-db8f-4234-b477-bd2175918ed0\"\n },\n \"m_Name\": \"UV\",\n \"m_DefaultReferenceName\": \"Vector2_2269B91D\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - } - ], - "m_SerializedKeywords": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.ShaderKeyword" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"94352154-e4c5-42ab-9109-5ba44b6e670f\"\n },\n \"m_Name\": \"EMISSIVE\",\n \"m_DefaultReferenceName\": \"\",\n \"m_OverrideReferenceName\": \"_EMISSIVE\",\n \"m_GeneratePropertyBlock\": true,\n \"m_KeywordType\": 0,\n \"m_KeywordDefinition\": 0,\n \"m_KeywordScope\": 0,\n \"m_Entries\": [],\n \"m_Value\": 0,\n \"m_IsEditable\": true,\n \"m_IsExposable\": false\n}" - } - ], - "m_SerializableNodes": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.ColorspaceConversionNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"c39788ec-e419-495a-bea2-c2b7c3b12ed7\",\n \"m_GroupGuidSerialized\": \"92882d2b-bd59-4d1b-a4fd-bdb8038d010b\",\n \"m_Name\": \"Colorspace Conversion\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -138.0000762939453,\n \"y\": -83.99996185302735,\n \"width\": 211.0,\n \"height\": 131.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"In\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"In\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_Conversion\": {\n \"from\": 0,\n \"to\": 1\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"b8fa5232-39a1-4596-811f-cfe66302a959\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -601.0,\n \"y\": -129.0,\n \"width\": 154.00001525878907,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"emissiveFactor\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"c75fdb25-0e31-46d0-b09b-f0f3505da651\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"e251d78f-8b9f-42fb-b407-98050911607f\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -606.0000610351563,\n \"y\": -48.00001907348633,\n \"width\": 91.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"4a9d9167-db8f-4234-b477-bd2175918ed0\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"2a0497c7-ec85-438a-8d6e-87b9f1f3a7fc\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -606.0000610351563,\n \"y\": -88.00000762939453,\n \"width\": 170.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"emissiveTexture\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"92c6bdd4-ca31-4b5a-bc1c-6794cd65d522\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.KeywordNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"1c127b36-4f83-4923-b4d2-a7840f2b90c8\",\n \"m_GroupGuidSerialized\": \"92882d2b-bd59-4d1b-a4fd-bdb8038d010b\",\n \"m_Name\": \"EMISSIVE\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 751.0,\n \"y\": -166.0,\n \"width\": 141.0,\n \"height\": 118.00000762939453\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicVectorMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicVectorMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"On\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"On\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicVectorMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"Off\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Off\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_KeywordGuidSerialized\": \"94352154-e4c5-42ab-9109-5ba44b6e670f\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SampleTexture2DNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"99b7b45d-6261-46a8-8a4d-dee5e6a7eb25\",\n \"m_GroupGuidSerialized\": \"92882d2b-bd59-4d1b-a4fd-bdb8038d010b\",\n \"m_Name\": \"Sample Texture 2D\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -370.49993896484377,\n \"y\": -107.25,\n \"width\": 208.0,\n \"height\": 433.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"RGBA\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"RGBA\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"R\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"R\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 5,\\n \\\"m_DisplayName\\\": \\\"G\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"G\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"B\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"B\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"A\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"A\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Texture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.UVMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"UV\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"UV\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ],\\n \\\"m_Channel\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.SamplerStateMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"Sampler\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Sampler\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_TextureType\": 0,\n \"m_NormalMapSpace\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.MultiplyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"a54c0175-7de8-4480-ada0-a31450c2145d\",\n \"m_GroupGuidSerialized\": \"92882d2b-bd59-4d1b-a4fd-bdb8038d010b\",\n \"m_Name\": \"Multiply\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 122.00000762939453,\n \"y\": -167.0,\n \"width\": 208.00001525878907,\n \"height\": 302.0000305175781\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicValueMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"A\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"A\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"e00\\\": 0.0,\\n \\\"e01\\\": 0.0,\\n \\\"e02\\\": 0.0,\\n \\\"e03\\\": 0.0,\\n \\\"e10\\\": 0.0,\\n \\\"e11\\\": 0.0,\\n \\\"e12\\\": 0.0,\\n \\\"e13\\\": 0.0,\\n \\\"e20\\\": 0.0,\\n \\\"e21\\\": 0.0,\\n \\\"e22\\\": 0.0,\\n \\\"e23\\\": 0.0,\\n \\\"e30\\\": 0.0,\\n \\\"e31\\\": 0.0,\\n \\\"e32\\\": 0.0,\\n \\\"e33\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"e00\\\": 1.0,\\n \\\"e01\\\": 0.0,\\n \\\"e02\\\": 0.0,\\n \\\"e03\\\": 0.0,\\n \\\"e10\\\": 0.0,\\n \\\"e11\\\": 1.0,\\n \\\"e12\\\": 0.0,\\n \\\"e13\\\": 0.0,\\n \\\"e20\\\": 0.0,\\n \\\"e21\\\": 0.0,\\n \\\"e22\\\": 1.0,\\n \\\"e23\\\": 0.0,\\n \\\"e30\\\": 0.0,\\n \\\"e31\\\": 0.0,\\n \\\"e32\\\": 0.0,\\n \\\"e33\\\": 1.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicValueMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"B\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"B\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"e00\\\": 2.0,\\n \\\"e01\\\": 2.0,\\n \\\"e02\\\": 2.0,\\n \\\"e03\\\": 2.0,\\n \\\"e10\\\": 2.0,\\n \\\"e11\\\": 2.0,\\n \\\"e12\\\": 2.0,\\n \\\"e13\\\": 2.0,\\n \\\"e20\\\": 2.0,\\n \\\"e21\\\": 2.0,\\n \\\"e22\\\": 2.0,\\n \\\"e23\\\": 2.0,\\n \\\"e30\\\": 2.0,\\n \\\"e31\\\": 2.0,\\n \\\"e32\\\": 2.0,\\n \\\"e33\\\": 2.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"e00\\\": 1.0,\\n \\\"e01\\\": 0.0,\\n \\\"e02\\\": 0.0,\\n \\\"e03\\\": 0.0,\\n \\\"e10\\\": 0.0,\\n \\\"e11\\\": 1.0,\\n \\\"e12\\\": 0.0,\\n \\\"e13\\\": 0.0,\\n \\\"e20\\\": 0.0,\\n \\\"e21\\\": 0.0,\\n \\\"e22\\\": 1.0,\\n \\\"e23\\\": 0.0,\\n \\\"e30\\\": 0.0,\\n \\\"e31\\\": 0.0,\\n \\\"e32\\\": 0.0,\\n \\\"e33\\\": 1.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicValueMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"e00\\\": 0.0,\\n \\\"e01\\\": 0.0,\\n \\\"e02\\\": 0.0,\\n \\\"e03\\\": 0.0,\\n \\\"e10\\\": 0.0,\\n \\\"e11\\\": 0.0,\\n \\\"e12\\\": 0.0,\\n \\\"e13\\\": 0.0,\\n \\\"e20\\\": 0.0,\\n \\\"e21\\\": 0.0,\\n \\\"e22\\\": 0.0,\\n \\\"e23\\\": 0.0,\\n \\\"e30\\\": 0.0,\\n \\\"e31\\\": 0.0,\\n \\\"e32\\\": 0.0,\\n \\\"e33\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"e00\\\": 1.0,\\n \\\"e01\\\": 0.0,\\n \\\"e02\\\": 0.0,\\n \\\"e03\\\": 0.0,\\n \\\"e10\\\": 0.0,\\n \\\"e11\\\": 1.0,\\n \\\"e12\\\": 0.0,\\n \\\"e13\\\": 0.0,\\n \\\"e20\\\": 0.0,\\n \\\"e21\\\": 0.0,\\n \\\"e22\\\": 1.0,\\n \\\"e23\\\": 0.0,\\n \\\"e30\\\": 0.0,\\n \\\"e31\\\": 0.0,\\n \\\"e32\\\": 0.0,\\n \\\"e33\\\": 1.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphOutputNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"6a8bfea5-eefc-4d68-9171-f66d7f558135\",\n \"m_GroupGuidSerialized\": \"92882d2b-bd59-4d1b-a4fd-bdb8038d010b\",\n \"m_Name\": \"Out_Vector4\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 925.0000610351563,\n \"y\": -169.00001525878907,\n \"width\": 133.0,\n \"height\": 77.00000762939453\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Emission\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Emission\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.ColorspaceConversionNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"3d4bdb68-87c6-4e62-8ee0-85d20460ff3a\",\n \"m_GroupGuidSerialized\": \"92882d2b-bd59-4d1b-a4fd-bdb8038d010b\",\n \"m_Name\": \"Colorspace Conversion\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 348.9999694824219,\n \"y\": -167.00001525878907,\n \"width\": 211.00001525878907,\n \"height\": 131.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"In\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"In\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_Conversion\": {\n \"from\": 1,\n \"to\": 0\n }\n}" - } - ], - "m_Groups": [ - { - "m_GuidSerialized": "92882d2b-bd59-4d1b-a4fd-bdb8038d010b", - "m_Title": "Emission", - "m_Position": { - "x": -226.0, - "y": 497.0 - } - } - ], - "m_StickyNotes": [], - "m_SerializableEdges": [ - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"2a0497c7-ec85-438a-8d6e-87b9f1f3a7fc\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"99b7b45d-6261-46a8-8a4d-dee5e6a7eb25\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"e251d78f-8b9f-42fb-b407-98050911607f\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"99b7b45d-6261-46a8-8a4d-dee5e6a7eb25\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"1c127b36-4f83-4923-b4d2-a7840f2b90c8\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"6a8bfea5-eefc-4d68-9171-f66d7f558135\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"b8fa5232-39a1-4596-811f-cfe66302a959\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"a54c0175-7de8-4480-ada0-a31450c2145d\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"99b7b45d-6261-46a8-8a4d-dee5e6a7eb25\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"c39788ec-e419-495a-bea2-c2b7c3b12ed7\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"c39788ec-e419-495a-bea2-c2b7c3b12ed7\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"a54c0175-7de8-4480-ada0-a31450c2145d\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"a54c0175-7de8-4480-ada0-a31450c2145d\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"3d4bdb68-87c6-4e62-8ee0-85d20460ff3a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"3d4bdb68-87c6-4e62-8ee0-85d20460ff3a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"1c127b36-4f83-4923-b4d2-a7840f2b90c8\"\n }\n}" - } - ], - "m_PreviewData": { - "serializedMesh": { - "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", - "m_Guid": "" - } - }, - "m_Path": "Sub Graphs", - "m_ConcretePrecision": 0, - "m_ActiveOutputNodeGuidSerialized": "" -} \ No newline at end of file diff --git a/Runtime/Shader/Legacy/SubGraphs/EmissionLegacy.shadersubgraph.meta b/Runtime/Shader/Legacy/SubGraphs/EmissionLegacy.shadersubgraph.meta deleted file mode 100644 index de1630995..000000000 --- a/Runtime/Shader/Legacy/SubGraphs/EmissionLegacy.shadersubgraph.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: c77980cdaaf45470fb7f8916112642c4 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Runtime/Shader/Legacy/SubGraphs/PBR_metallic_roughness_Legacy.shadersubgraph b/Runtime/Shader/Legacy/SubGraphs/PBR_metallic_roughness_Legacy.shadersubgraph deleted file mode 100644 index 821105c44..000000000 --- a/Runtime/Shader/Legacy/SubGraphs/PBR_metallic_roughness_Legacy.shadersubgraph +++ /dev/null @@ -1,753 +0,0 @@ -{ - "m_SerializedProperties": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"2a4c85c6-a729-4e82-81d3-77ec259c58de\"\n },\n \"m_Name\": \"occlusionStrength\",\n \"m_DefaultReferenceName\": \"Vector1_57266306\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"7be3bd36-f1f9-4365-99db-cc9af66a0ec5\"\n },\n \"m_Name\": \"occlusionTexture\",\n \"m_DefaultReferenceName\": \"Texture2D_36068458\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"850c1957-79b6-494b-aed1-4c867151a8c1\"\n },\n \"m_Name\": \"occlusionTexture_ST\",\n \"m_DefaultReferenceName\": \"Vector4_D95F09CC\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"bb273083-5afc-424d-b84d-cf153a4b9a07\"\n },\n \"m_Name\": \"occlusionTextureRotation\",\n \"m_DefaultReferenceName\": \"Vector2_47B0896F\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"d81e8ca0-466d-494d-9b62-6d822f9394bb\"\n },\n \"m_Name\": \"occlusionTextureUVChannel\",\n \"m_DefaultReferenceName\": \"Vector1_14EEF9A9\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"e85226d9-1785-431c-b779-0a31a91295de\"\n },\n \"m_Name\": \"normalTexture\",\n \"m_DefaultReferenceName\": \"Texture2D_B4A7F700\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"1a9c6f38-e9be-441e-b922-b649b889e53f\"\n },\n \"m_Name\": \"normalTexture_ST\",\n \"m_DefaultReferenceName\": \"Vector4_5C7F3701\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"4e8f9afd-37e4-4c1e-8d37-9f7911e3a17a\"\n },\n \"m_Name\": \"normalTextureRotation\",\n \"m_DefaultReferenceName\": \"Vector2_C39E4CD1\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"34745e4b-9d3d-4fc3-b755-4abc8212bdef\"\n },\n \"m_Name\": \"normalTextureUVChannel\",\n \"m_DefaultReferenceName\": \"Vector1_88C78C57\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"d7da8a92-273f-4f7b-ae2c-668b7e04a26c\"\n },\n \"m_Name\": \"normalScale\",\n \"m_DefaultReferenceName\": \"Vector1_345B830B\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector3ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"8029fa63-8af6-4814-8886-1f788280d2d6\"\n },\n \"m_Name\": \"emissiveFactor\",\n \"m_DefaultReferenceName\": \"Vector3_E344F397\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"18c8e2c1-767f-46e3-90f7-6938c8c9891c\"\n },\n \"m_Name\": \"emissiveTexture\",\n \"m_DefaultReferenceName\": \"Texture2D_8F96C631\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"0ac9a86a-306c-478f-96b5-93e2800d182f\"\n },\n \"m_Name\": \"emissionTexture_ST\",\n \"m_DefaultReferenceName\": \"Vector4_44D9BB81\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"f2303c84-2349-45d7-86d2-019dd1103298\"\n },\n \"m_Name\": \"emissionTextureRotation\",\n \"m_DefaultReferenceName\": \"Vector2_C7C6C37D\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"a2532bde-bd96-4c3d-b3f3-90e9b53fb3f1\"\n },\n \"m_Name\": \"emissionTextureUVChannel\",\n \"m_DefaultReferenceName\": \"Vector1_DB36ED60\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"1aa9ec50-0e3f-4e77-81b7-7ed5cd0d7c51\"\n },\n \"m_Name\": \"roughnessFactor\",\n \"m_DefaultReferenceName\": \"Vector1_B9A549A5\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"0091f9d7-7596-4b86-86b3-c45dc2f579ec\"\n },\n \"m_Name\": \"metallicFactor\",\n \"m_DefaultReferenceName\": \"Vector1_6633F151\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"23b11ff4-3af1-4945-9c4b-b3b499bdfa33\"\n },\n \"m_Name\": \"baseColorFactor\",\n \"m_DefaultReferenceName\": \"Vector4_8743F3C3\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"1535492a-2795-428c-a7a8-0c963bc80c1b\"\n },\n \"m_Name\": \"baseColorTexture\",\n \"m_DefaultReferenceName\": \"Texture2D_EBF077FA\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"77ff8161-3714-4ef8-8885-767db25a0931\"\n },\n \"m_Name\": \"baseColorTexture_ST\",\n \"m_DefaultReferenceName\": \"Vector4_6F4A9DFD\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"349829b0-a90d-4b44-bf38-99916345bde2\"\n },\n \"m_Name\": \"baseColorTextureRotation\",\n \"m_DefaultReferenceName\": \"Vector2_FE260CB0\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"2bf50a80-5b1b-4d86-85c6-f86339dc7f97\"\n },\n \"m_Name\": \"baseColorTextureUVChannel\",\n \"m_DefaultReferenceName\": \"Vector1_813EE33E\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"380b6046-ffdc-407c-aab5-0e62237b3e9b\"\n },\n \"m_Name\": \"metallicRoughnessTexture\",\n \"m_DefaultReferenceName\": \"Texture2D_2BD19CD4\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"3ba9818a-881c-45bb-a3ce-5a590d7da089\"\n },\n \"m_Name\": \"metallicRoughnessTexture_ST\",\n \"m_DefaultReferenceName\": \"Vector4_A391227B\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"abc4bac7-7e21-4041-9894-7a08dce3a711\"\n },\n \"m_Name\": \"metallicRoughnessTextureRotation\",\n \"m_DefaultReferenceName\": \"Vector2_EE89C726\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"76c98fda-047c-4f17-ba66-d653df4556a6\"\n },\n \"m_Name\": \"metallicRoughnessTextureTexCoord\",\n \"m_DefaultReferenceName\": \"Vector1_7FA59A3E\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"34d7ae95-a71a-4dea-b2b5-15f8e886e625\"\n },\n \"m_Name\": \"UV0\",\n \"m_DefaultReferenceName\": \"Vector2_B59C246\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"73d8282d-4f4b-4a00-96f0-ef1c19d5e5f9\"\n },\n \"m_Name\": \"UV1\",\n \"m_DefaultReferenceName\": \"Vector2_2B3B3D76\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - } - ], - "m_SerializedKeywords": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.ShaderKeyword" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"514d72fa-9de3-4d78-b794-866eadaefd3f\"\n },\n \"m_Name\": \"TEXTURE_TRANSFORM\",\n \"m_DefaultReferenceName\": \"BOOLEAN_7391BE3_ON\",\n \"m_OverrideReferenceName\": \"_TEXTURE_TRANSFORM\",\n \"m_GeneratePropertyBlock\": true,\n \"m_KeywordType\": 0,\n \"m_KeywordDefinition\": 0,\n \"m_KeywordScope\": 1,\n \"m_Entries\": [],\n \"m_Value\": 0,\n \"m_IsEditable\": true,\n \"m_IsExposable\": true\n}" - } - ], - "m_SerializableNodes": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphOutputNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"909b7ec6-8e39-43b4-bddd-69eb12826479\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Out_Vector1 (3)\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 836.0,\n \"y\": 12.000016212463379,\n \"width\": 153.99998474121095,\n \"height\": 220.99998474121095\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"Albedo\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Albedo\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"Normal\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Normal\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"Emission\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Emission\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"Metallic\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Metallic\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 5,\\n \\\"m_DisplayName\\\": \\\"Smoothness\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Smoothness\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Occlusion\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Occlusion\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"Alpha\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Alpha\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 8,\\n \\\"m_DisplayName\\\": \\\"baseColorUV\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"baseColorUV\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"f8f1aaae-6a31-40c1-95fd-97adf9be935a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Occlusion\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 363.5000915527344,\n \"y\": 159.25006103515626,\n \"width\": 263.0,\n \"height\": 302.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1793285055,\\n \\\"m_DisplayName\\\": \\\"occlusionStrength\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_4CC3C1C8\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 631471846,\\n \\\"m_DisplayName\\\": \\\"occlusionTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_A2CAD0A5\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"occlusion\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"occlusion\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_SerializedSubGraph\": \"{\\n \\\"subGraph\\\": {\\n \\\"fileID\\\": -5475051401550479605,\\n \\\"guid\\\": \\\"a61e32a8ab2b744a3837d668b8fc3155\\\",\\n \\\"type\\\": 3\\n }\\n}\",\n \"m_PropertyGuids\": [\n \"0a5f303e-bafc-4ed0-8386-958a3e304b08\",\n \"6acfe3a4-91d3-4796-b948-6e8794de4073\"\n ],\n \"m_PropertyIds\": [\n 631471846,\n -1793285055\n ]\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"a352463b-64d1-45eb-952f-9ac9474eb3cd\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Normal\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 358.5002746582031,\n \"y\": -498.75,\n \"width\": 254.0,\n \"height\": 326.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 547271248,\\n \\\"m_DisplayName\\\": \\\"normalTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_56E509E5\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1745977249,\\n \\\"m_DisplayName\\\": \\\"normalScale\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_8CFE54ED\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1328848496,\\n \\\"m_DisplayName\\\": \\\"UV\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_465B70E0\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"normal\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"normal\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_SerializedSubGraph\": \"{\\n \\\"subGraph\\\": {\\n \\\"fileID\\\": -5475051401550479605,\\n \\\"guid\\\": \\\"3d23f3f9d39dc4621898db0a20884fcd\\\",\\n \\\"type\\\": 3\\n }\\n}\",\n \"m_PropertyGuids\": [\n \"ce3ef69d-a0a0-44bb-9390-4e669bbe6176\",\n \"10c62b64-e10d-4a43-8035-41ea282aa3b7\",\n \"2c3dc14a-f0d3-4122-8339-4bfaa2248637\"\n ],\n \"m_PropertyIds\": [\n 547271248,\n -1328848496,\n -1745977249\n ]\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"1e8df206-0fe1-4ea0-bdda-fd0872367fa6\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"EmissionLegacy\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 362.50006103515627,\n \"y\": -167.75,\n \"width\": 263.9999694824219,\n \"height\": 326.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 963550628,\\n \\\"m_DisplayName\\\": \\\"emissiveFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector3_BDA4AC8B\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1073215148,\\n \\\"m_DisplayName\\\": \\\"emissiveTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_8C55BE6\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 739431299,\\n \\\"m_DisplayName\\\": \\\"UV\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_2269B91D\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Emission\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Emission\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_SerializedSubGraph\": \"{\\n \\\"subGraph\\\": {\\n \\\"fileID\\\": -5475051401550479605,\\n \\\"guid\\\": \\\"c77980cdaaf45470fb7f8916112642c4\\\",\\n \\\"type\\\": 3\\n }\\n}\",\n \"m_PropertyGuids\": [\n \"d18fcb7f-fa68-4884-b83f-2b0c020fc0d3\",\n \"92c6bdd4-ca31-4b5a-bc1c-6794cd65d522\",\n \"4a9d9167-db8f-4234-b477-bd2175918ed0\",\n \"c75fdb25-0e31-46d0-b09b-f0f3505da651\"\n ],\n \"m_PropertyIds\": [\n 15172392,\n 1073215148,\n 739431299,\n 963550628\n ]\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"ed43c4f7-2345-4adb-bae7-cb61f835fe0d\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"MetallicRoughness\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 364.5001220703125,\n \"y\": 473.25,\n \"width\": 281.0,\n \"height\": 350.0000305175781\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1960386506,\\n \\\"m_DisplayName\\\": \\\"roughnessTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_4A1EEC60\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -2129266514,\\n \\\"m_DisplayName\\\": \\\"roughnessFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_7018829E\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1432778915,\\n \\\"m_DisplayName\\\": \\\"metallicTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_C556C2D7\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -356083693,\\n \\\"m_DisplayName\\\": \\\"metallicFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_8E44A846\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"metallic\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"metallic\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"smoothness\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"smoothness\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_SerializedSubGraph\": \"{\\n \\\"subGraph\\\": {\\n \\\"fileID\\\": -5475051401550479605,\\n \\\"guid\\\": \\\"04256d74e79e741c5a94eebba619687e\\\",\\n \\\"type\\\": 3\\n }\\n}\",\n \"m_PropertyGuids\": [\n \"08ad37db-77cb-4f4d-9611-2a523d8c9735\",\n \"2f1ed6be-8fd8-4ec1-981a-4aaaa1810a6c\",\n \"4ba856ae-5571-4995-b142-6a8f73a2eaf1\",\n \"2708b3ca-d41d-4bb2-ba69-7215aef998d6\"\n ],\n \"m_PropertyIds\": [\n 1432778915,\n -356083693,\n 1960386506,\n -2129266514\n ]\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"4a900638-04df-49de-8743-a81ea26e58a9\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"BaseColor\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 362.5000305175781,\n \"y\": -825.75,\n \"width\": 273.0,\n \"height\": 326.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -414029688,\\n \\\"m_DisplayName\\\": \\\"baseColorFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_FC55EA20\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 735972575,\\n \\\"m_DisplayName\\\": \\\"baseColorTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_FA7B3822\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -250492256,\\n \\\"m_DisplayName\\\": \\\"UV\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_8D613221\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"baseColor\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"baseColor\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"alpha\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"alpha\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_SerializedSubGraph\": \"{\\n \\\"subGraph\\\": {\\n \\\"fileID\\\": -5475051401550479605,\\n \\\"guid\\\": \\\"8128dba25d89b4e0e99b91d27f058f07\\\",\\n \\\"type\\\": 3\\n }\\n}\",\n \"m_PropertyGuids\": [\n \"f5db2ecb-d689-4602-9dd9-c4f655fb7c41\",\n \"24774c64-81a9-401f-8e9b-8e59a366a8a4\",\n \"6b928d43-ab83-47b1-a6e7-31c648717852\"\n ],\n \"m_PropertyIds\": [\n -414029688,\n 735972575,\n -250492256\n ]\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SampleTexture2DNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"057cbf25-371c-4dd2-a918-93abd14917e1\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Sample Texture 2D\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 54.00007247924805,\n \"y\": 483.0,\n \"width\": 179.0,\n \"height\": 249.00001525878907\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"RGBA\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"RGBA\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"R\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"R\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 5,\\n \\\"m_DisplayName\\\": \\\"G\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"G\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"B\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"B\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"A\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"A\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Texture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.UVMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"UV\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"UV\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ],\\n \\\"m_Channel\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.SamplerStateMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"Sampler\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Sampler\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_TextureType\": 0,\n \"m_NormalMapSpace\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"2edcf598-b447-4835-8ccc-ca49cd9091c6\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"TextureTransform\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -399.0000305175781,\n \"y\": 334.0,\n \"width\": 277.0,\n \"height\": 326.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1621662722,\\n \\\"m_DisplayName\\\": \\\"textureST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_27C8CB01\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1453510346,\\n \\\"m_DisplayName\\\": \\\"textureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_55C5D8D5\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 687816062,\\n \\\"m_DisplayName\\\": \\\"UVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_192DCE9E\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 316563527,\\n \\\"m_DisplayName\\\": \\\"UV0\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_3C6B3DF8\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1403022609,\\n \\\"m_DisplayName\\\": \\\"UV1\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_97FB8726\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Out_Vector2\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"OutVector2\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_SerializedSubGraph\": \"{\\n \\\"subGraph\\\": {\\n \\\"fileID\\\": -5475051401550479605,\\n \\\"guid\\\": \\\"9a44a43ef44bd4a9dbc883ebde01cc72\\\",\\n \\\"type\\\": 3\\n }\\n}\",\n \"m_PropertyGuids\": [\n \"04e280fa-2040-4e5b-8061-7203ec63836b\",\n \"29612dd4-4736-4e38-b443-f14dca3e5a12\",\n \"7e1522b9-a8cb-42cd-959e-c421a5fabf33\",\n \"29a22b7f-e502-46e1-95c2-9febc2334c8f\",\n \"515e7228-12a1-4ff0-bd06-6beac202bea6\"\n ],\n \"m_PropertyIds\": [\n 1453510346,\n -1621662722,\n 316563527,\n 1403022609,\n 687816062\n ]\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"ab9ea953-fe75-46e3-886f-778efcb82af1\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -805.0,\n \"y\": 138.99996948242188,\n \"width\": 172.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"occlusionStrength\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"2a4c85c6-a729-4e82-81d3-77ec259c58de\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"6a474f8c-cb3c-4664-b6a7-e9ece3936096\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -805.0001220703125,\n \"y\": -26.0,\n \"width\": 0.0,\n \"height\": 0.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"normalTexture\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"e85226d9-1785-431c-b779-0a31a91295de\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"801d669a-7adb-4c8f-a83a-61ebaa650478\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -805.0001220703125,\n \"y\": 14.0,\n \"width\": 0.0,\n \"height\": 0.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"normalScale\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"d7da8a92-273f-4f7b-ae2c-668b7e04a26c\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"1369f54c-f7db-41fb-9bf1-a53a4fa21327\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -805.0001220703125,\n \"y\": 94.0,\n \"width\": 0.0,\n \"height\": 0.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"emissiveTexture\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"18c8e2c1-767f-46e3-90f7-6938c8c9891c\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"5f56ea43-78c8-4c4e-8082-57448c531e2a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -796.9999389648438,\n \"y\": 207.9999542236328,\n \"width\": 166.0,\n \"height\": 33.999996185302737\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"roughnessFactor\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"1aa9ec50-0e3f-4e77-81b7-7ed5cd0d7c51\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"7f79ca59-a31d-4f5b-9287-5978254f476c\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -796.9999389648438,\n \"y\": 247.99998474121095,\n \"width\": 149.99998474121095,\n \"height\": 33.999996185302737\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"metallicFactor\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"0091f9d7-7596-4b86-86b3-c45dc2f579ec\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"bafb849b-6d7f-4f94-9265-3422fefc4a1d\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -802.0,\n \"y\": -155.99998474121095,\n \"width\": 163.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"baseColorFactor\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"23b11ff4-3af1-4945-9c4b-b3b499bdfa33\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"b7c85b75-bf06-49b4-ade3-368180adf609\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -802.0,\n \"y\": -115.99994659423828,\n \"width\": 178.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"baseColorTexture\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"1535492a-2795-428c-a7a8-0c963bc80c1b\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"2c5c4b01-3bbf-4b8c-83eb-890d76602f67\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -800.0000610351563,\n \"y\": 289.0000305175781,\n \"width\": 147.0,\n \"height\": 34.000003814697269\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"metallicRoughnessTexture\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"380b6046-ffdc-407c-aab5-0e62237b3e9b\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"8fd654af-77bf-4410-9d58-bf9a526d3da1\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -637.9998779296875,\n \"y\": 400.9999694824219,\n \"width\": 214.99998474121095,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"baseColorTextureRotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"349829b0-a90d-4b44-bf38-99916345bde2\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"2afebd59-d30f-4c02-a4d7-3c5f3a296b49\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -637.9998779296875,\n \"y\": 370.0,\n \"width\": 188.99998474121095,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"baseColorTexture_ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"77ff8161-3714-4ef8-8885-767db25a0931\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"b22c1dc1-fb30-46aa-a776-293c986d2561\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -880.9998779296875,\n \"y\": 674.9999389648438,\n \"width\": 100.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"UV0\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"34d7ae95-a71a-4dea-b2b5-15f8e886e625\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"f3bbc3d5-bc4c-42d8-abc7-ab9a88c2a155\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -801.9999389648438,\n \"y\": 57.00000762939453,\n \"width\": 156.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"emissiveFactor\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"8029fa63-8af6-4814-8886-1f788280d2d6\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"77b1f649-0088-4cab-988e-e8ff08649f45\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -800.0,\n \"y\": 172.9999542236328,\n \"width\": 173.99998474121095,\n \"height\": 33.999996185302737\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"occlusionTexture\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"7be3bd36-f1f9-4365-99db-cc9af66a0ec5\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SampleTexture2DNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"15a1ab7d-50b0-4a4b-91c3-6c6ee938fd41\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Sample Texture 2D\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 50.00007629394531,\n \"y\": 217.0,\n \"width\": 179.0,\n \"height\": 251.00001525878907\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"RGBA\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"RGBA\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"R\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"R\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 5,\\n \\\"m_DisplayName\\\": \\\"G\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"G\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"B\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"B\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"A\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"A\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Texture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.UVMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"UV\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"UV\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ],\\n \\\"m_Channel\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.SamplerStateMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"Sampler\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Sampler\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_TextureType\": 0,\n \"m_NormalMapSpace\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"4a2440ee-1dc4-494e-8b0a-b509f8354f94\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -879.9999389648438,\n \"y\": 707.9999389648438,\n \"width\": 100.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"UV1\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"73d8282d-4f4b-4a00-96f0-ef1c19d5e5f9\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"0bf3a1e0-060c-4732-8e1c-ba59bc086f98\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -638.9999389648438,\n \"y\": 467.9999694824219,\n \"width\": 232.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"baseColorTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"2bf50a80-5b1b-4d86-85c6-f86339dc7f97\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"8aaa717f-14e4-4125-8742-164692289f92\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"TextureTransform\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -399.0000305175781,\n \"y\": 721.0,\n \"width\": 252.99998474121095,\n \"height\": 189.99998474121095\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1621662722,\\n \\\"m_DisplayName\\\": \\\"textureST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_27C8CB01\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1453510346,\\n \\\"m_DisplayName\\\": \\\"textureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_55C5D8D5\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 687816062,\\n \\\"m_DisplayName\\\": \\\"UVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_192DCE9E\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 316563527,\\n \\\"m_DisplayName\\\": \\\"UV0\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_3C6B3DF8\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1403022609,\\n \\\"m_DisplayName\\\": \\\"UV1\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_97FB8726\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Out_Vector2\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"OutVector2\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_SerializedSubGraph\": \"{\\n \\\"subGraph\\\": {\\n \\\"fileID\\\": -5475051401550479605,\\n \\\"guid\\\": \\\"9a44a43ef44bd4a9dbc883ebde01cc72\\\",\\n \\\"type\\\": 3\\n }\\n}\",\n \"m_PropertyGuids\": [\n \"04e280fa-2040-4e5b-8061-7203ec63836b\",\n \"29612dd4-4736-4e38-b443-f14dca3e5a12\",\n \"7e1522b9-a8cb-42cd-959e-c421a5fabf33\",\n \"29a22b7f-e502-46e1-95c2-9febc2334c8f\",\n \"515e7228-12a1-4ff0-bd06-6beac202bea6\"\n ],\n \"m_PropertyIds\": [\n 1453510346,\n -1621662722,\n 316563527,\n 1403022609,\n 687816062\n ]\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"0d39022f-b0b1-40f9-b455-23be0e0761b4\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -638.0000610351563,\n \"y\": 861.0,\n \"width\": 223.00001525878907,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"emissionTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"a2532bde-bd96-4c3d-b3f3-90e9b53fb3f1\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"dc6b0315-a31f-4edb-9bcd-386ac3977cf7\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"TextureTransform\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -399.0000305175781,\n \"y\": 528.0,\n \"width\": 253.99998474121095,\n \"height\": 189.99998474121095\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1621662722,\\n \\\"m_DisplayName\\\": \\\"textureST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_27C8CB01\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1453510346,\\n \\\"m_DisplayName\\\": \\\"textureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_55C5D8D5\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 687816062,\\n \\\"m_DisplayName\\\": \\\"UVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_192DCE9E\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 316563527,\\n \\\"m_DisplayName\\\": \\\"UV0\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_3C6B3DF8\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1403022609,\\n \\\"m_DisplayName\\\": \\\"UV1\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_97FB8726\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Out_Vector2\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"OutVector2\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_SerializedSubGraph\": \"{\\n \\\"subGraph\\\": {\\n \\\"fileID\\\": -5475051401550479605,\\n \\\"guid\\\": \\\"9a44a43ef44bd4a9dbc883ebde01cc72\\\",\\n \\\"type\\\": 3\\n }\\n}\",\n \"m_PropertyGuids\": [\n \"04e280fa-2040-4e5b-8061-7203ec63836b\",\n \"29612dd4-4736-4e38-b443-f14dca3e5a12\",\n \"7e1522b9-a8cb-42cd-959e-c421a5fabf33\",\n \"29a22b7f-e502-46e1-95c2-9febc2334c8f\",\n \"515e7228-12a1-4ff0-bd06-6beac202bea6\"\n ],\n \"m_PropertyIds\": [\n 1453510346,\n -1621662722,\n 316563527,\n 1403022609,\n 687816062\n ]\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"69d7deb8-0859-41f5-b59d-b67c344e61a5\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -635.0000610351563,\n \"y\": 663.0,\n \"width\": 214.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"normalTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"34745e4b-9d3d-4fc3-b755-4abc8212bdef\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"7e9c86ed-cdb3-41e8-8662-9301e41e0da7\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"TextureTransform\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -399.0000305175781,\n \"y\": 913.9999389648438,\n \"width\": 252.99998474121095,\n \"height\": 189.99998474121095\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1621662722,\\n \\\"m_DisplayName\\\": \\\"textureST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_27C8CB01\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1453510346,\\n \\\"m_DisplayName\\\": \\\"textureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_55C5D8D5\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 687816062,\\n \\\"m_DisplayName\\\": \\\"UVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_192DCE9E\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 316563527,\\n \\\"m_DisplayName\\\": \\\"UV0\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_3C6B3DF8\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1403022609,\\n \\\"m_DisplayName\\\": \\\"UV1\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_97FB8726\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Out_Vector2\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"OutVector2\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_SerializedSubGraph\": \"{\\n \\\"subGraph\\\": {\\n \\\"fileID\\\": -5475051401550479605,\\n \\\"guid\\\": \\\"9a44a43ef44bd4a9dbc883ebde01cc72\\\",\\n \\\"type\\\": 3\\n }\\n}\",\n \"m_PropertyGuids\": [\n \"04e280fa-2040-4e5b-8061-7203ec63836b\",\n \"29612dd4-4736-4e38-b443-f14dca3e5a12\",\n \"7e1522b9-a8cb-42cd-959e-c421a5fabf33\",\n \"29a22b7f-e502-46e1-95c2-9febc2334c8f\",\n \"515e7228-12a1-4ff0-bd06-6beac202bea6\"\n ],\n \"m_PropertyIds\": [\n 1453510346,\n -1621662722,\n 316563527,\n 1403022609,\n 687816062\n ]\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"f6332092-527c-4c0d-8d2a-22a518c4243b\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -629.0,\n \"y\": 1050.0,\n \"width\": 198.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"occlusionTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"d81e8ca0-466d-494d-9b62-6d822f9394bb\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"9c2fcc08-bd40-431f-b490-3868030e406c\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -634.0000610351563,\n \"y\": 758.0,\n \"width\": 183.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"emissionTexture_ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"0ac9a86a-306c-478f-96b5-93e2800d182f\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"d711bb68-577f-4680-9a9c-da4ef7771216\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -637.0,\n \"y\": 567.0,\n \"width\": 174.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"normalTexture_ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"1a9c6f38-e9be-441e-b922-b649b889e53f\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"3fa7d150-addb-4647-a68d-8e3b9eabf37e\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -626.0,\n \"y\": 955.0,\n \"width\": 158.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"occlusionTexture_ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"850c1957-79b6-494b-aed1-4c867151a8c1\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"5a3ae064-1b4a-475d-80e0-0ce8ea5b9523\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -637.0,\n \"y\": 599.0,\n \"width\": 200.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"normalTextureRotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"4e8f9afd-37e4-4c1e-8d37-9f7911e3a17a\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"b3b6f52d-f76f-4def-82c9-877c846f8215\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -632.0000610351563,\n \"y\": 789.0,\n \"width\": 209.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"emissionTextureRotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"f2303c84-2349-45d7-86d2-019dd1103298\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"51c9c3e8-3f03-470d-83f2-b47b214b94a7\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -625.0,\n \"y\": 988.0,\n \"width\": 184.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"occlusionTextureRotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"bb273083-5afc-424d-b84d-cf153a4b9a07\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"5028d968-d6b8-4b24-87d8-0481f0ffad43\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"TextureTransform\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -399.0000915527344,\n \"y\": 1107.0,\n \"width\": 249.99998474121095,\n \"height\": 189.99998474121095\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1621662722,\\n \\\"m_DisplayName\\\": \\\"textureST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_27C8CB01\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1453510346,\\n \\\"m_DisplayName\\\": \\\"textureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_55C5D8D5\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 687816062,\\n \\\"m_DisplayName\\\": \\\"UVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_192DCE9E\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 316563527,\\n \\\"m_DisplayName\\\": \\\"UV0\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_3C6B3DF8\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1403022609,\\n \\\"m_DisplayName\\\": \\\"UV1\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_97FB8726\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Out_Vector2\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"OutVector2\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_SerializedSubGraph\": \"{\\n \\\"subGraph\\\": {\\n \\\"fileID\\\": -5475051401550479605,\\n \\\"guid\\\": \\\"9a44a43ef44bd4a9dbc883ebde01cc72\\\",\\n \\\"type\\\": 3\\n }\\n}\",\n \"m_PropertyGuids\": [\n \"04e280fa-2040-4e5b-8061-7203ec63836b\",\n \"29612dd4-4736-4e38-b443-f14dca3e5a12\",\n \"7e1522b9-a8cb-42cd-959e-c421a5fabf33\",\n \"29a22b7f-e502-46e1-95c2-9febc2334c8f\",\n \"515e7228-12a1-4ff0-bd06-6beac202bea6\"\n ],\n \"m_PropertyIds\": [\n 1453510346,\n -1621662722,\n 316563527,\n 1403022609,\n 687816062\n ]\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"af08ee14-2d3e-442c-bcf4-a59a1333975b\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -736.0,\n \"y\": 1242.0,\n \"width\": 280.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"metallicRoughnessTextureTexCoord\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"76c98fda-047c-4f17-ba66-d653df4556a6\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"77cba568-c19a-4d67-986f-10e4bc5e0305\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -736.0,\n \"y\": 1145.0,\n \"width\": 237.99998474121095,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"metallicRoughnessTexture_ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"3ba9818a-881c-45bb-a3ce-5a590d7da089\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"390bb955-9016-4e83-a1aa-7fddc3afefd7\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -735.0000610351563,\n \"y\": 1176.0,\n \"width\": 266.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"metallicRoughnessTextureRotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"abc4bac7-7e21-4041-9894-7a08dce3a711\"\n}" - } - ], - "m_Groups": [], - "m_StickyNotes": [], - "m_SerializableEdges": [ - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 5,\n \"m_NodeGUIDSerialized\": \"057cbf25-371c-4dd2-a918-93abd14917e1\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1960386506,\n \"m_NodeGUIDSerialized\": \"ed43c4f7-2345-4adb-bae7-cb61f835fe0d\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 6,\n \"m_NodeGUIDSerialized\": \"057cbf25-371c-4dd2-a918-93abd14917e1\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1432778915,\n \"m_NodeGUIDSerialized\": \"ed43c4f7-2345-4adb-bae7-cb61f835fe0d\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"2edcf598-b447-4835-8ccc-ca49cd9091c6\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -250492256,\n \"m_NodeGUIDSerialized\": \"4a900638-04df-49de-8743-a81ea26e58a9\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"ab9ea953-fe75-46e3-886f-778efcb82af1\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1793285055,\n \"m_NodeGUIDSerialized\": \"f8f1aaae-6a31-40c1-95fd-97adf9be935a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"6a474f8c-cb3c-4664-b6a7-e9ece3936096\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 547271248,\n \"m_NodeGUIDSerialized\": \"a352463b-64d1-45eb-952f-9ac9474eb3cd\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"801d669a-7adb-4c8f-a83a-61ebaa650478\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1745977249,\n \"m_NodeGUIDSerialized\": \"a352463b-64d1-45eb-952f-9ac9474eb3cd\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"1369f54c-f7db-41fb-9bf1-a53a4fa21327\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1073215148,\n \"m_NodeGUIDSerialized\": \"1e8df206-0fe1-4ea0-bdda-fd0872367fa6\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"5f56ea43-78c8-4c4e-8082-57448c531e2a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -2129266514,\n \"m_NodeGUIDSerialized\": \"ed43c4f7-2345-4adb-bae7-cb61f835fe0d\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"7f79ca59-a31d-4f5b-9287-5978254f476c\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -356083693,\n \"m_NodeGUIDSerialized\": \"ed43c4f7-2345-4adb-bae7-cb61f835fe0d\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"bafb849b-6d7f-4f94-9265-3422fefc4a1d\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -414029688,\n \"m_NodeGUIDSerialized\": \"4a900638-04df-49de-8743-a81ea26e58a9\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"b7c85b75-bf06-49b4-ade3-368180adf609\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 735972575,\n \"m_NodeGUIDSerialized\": \"4a900638-04df-49de-8743-a81ea26e58a9\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"2c5c4b01-3bbf-4b8c-83eb-890d76602f67\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"057cbf25-371c-4dd2-a918-93abd14917e1\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"8fd654af-77bf-4410-9d58-bf9a526d3da1\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1453510346,\n \"m_NodeGUIDSerialized\": \"2edcf598-b447-4835-8ccc-ca49cd9091c6\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"2afebd59-d30f-4c02-a4d7-3c5f3a296b49\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1621662722,\n \"m_NodeGUIDSerialized\": \"2edcf598-b447-4835-8ccc-ca49cd9091c6\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"a352463b-64d1-45eb-952f-9ac9474eb3cd\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"909b7ec6-8e39-43b4-bddd-69eb12826479\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"1e8df206-0fe1-4ea0-bdda-fd0872367fa6\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 3,\n \"m_NodeGUIDSerialized\": \"909b7ec6-8e39-43b4-bddd-69eb12826479\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"ed43c4f7-2345-4adb-bae7-cb61f835fe0d\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 4,\n \"m_NodeGUIDSerialized\": \"909b7ec6-8e39-43b4-bddd-69eb12826479\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"ed43c4f7-2345-4adb-bae7-cb61f835fe0d\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 5,\n \"m_NodeGUIDSerialized\": \"909b7ec6-8e39-43b4-bddd-69eb12826479\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"f8f1aaae-6a31-40c1-95fd-97adf9be935a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"909b7ec6-8e39-43b4-bddd-69eb12826479\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"4a900638-04df-49de-8743-a81ea26e58a9\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 6,\n \"m_NodeGUIDSerialized\": \"909b7ec6-8e39-43b4-bddd-69eb12826479\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"4a900638-04df-49de-8743-a81ea26e58a9\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 7,\n \"m_NodeGUIDSerialized\": \"909b7ec6-8e39-43b4-bddd-69eb12826479\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"b22c1dc1-fb30-46aa-a776-293c986d2561\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 316563527,\n \"m_NodeGUIDSerialized\": \"2edcf598-b447-4835-8ccc-ca49cd9091c6\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"f3bbc3d5-bc4c-42d8-abc7-ab9a88c2a155\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 963550628,\n \"m_NodeGUIDSerialized\": \"1e8df206-0fe1-4ea0-bdda-fd0872367fa6\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"77b1f649-0088-4cab-988e-e8ff08649f45\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"15a1ab7d-50b0-4a4b-91c3-6c6ee938fd41\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 4,\n \"m_NodeGUIDSerialized\": \"15a1ab7d-50b0-4a4b-91c3-6c6ee938fd41\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 631471846,\n \"m_NodeGUIDSerialized\": \"f8f1aaae-6a31-40c1-95fd-97adf9be935a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"2edcf598-b447-4835-8ccc-ca49cd9091c6\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 8,\n \"m_NodeGUIDSerialized\": \"909b7ec6-8e39-43b4-bddd-69eb12826479\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"4a2440ee-1dc4-494e-8b0a-b509f8354f94\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1403022609,\n \"m_NodeGUIDSerialized\": \"2edcf598-b447-4835-8ccc-ca49cd9091c6\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"0bf3a1e0-060c-4732-8e1c-ba59bc086f98\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 687816062,\n \"m_NodeGUIDSerialized\": \"2edcf598-b447-4835-8ccc-ca49cd9091c6\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"b22c1dc1-fb30-46aa-a776-293c986d2561\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 316563527,\n \"m_NodeGUIDSerialized\": \"8aaa717f-14e4-4125-8742-164692289f92\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"4a2440ee-1dc4-494e-8b0a-b509f8354f94\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1403022609,\n \"m_NodeGUIDSerialized\": \"8aaa717f-14e4-4125-8742-164692289f92\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"0d39022f-b0b1-40f9-b455-23be0e0761b4\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 687816062,\n \"m_NodeGUIDSerialized\": \"8aaa717f-14e4-4125-8742-164692289f92\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"8aaa717f-14e4-4125-8742-164692289f92\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 739431299,\n \"m_NodeGUIDSerialized\": \"1e8df206-0fe1-4ea0-bdda-fd0872367fa6\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"b22c1dc1-fb30-46aa-a776-293c986d2561\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 316563527,\n \"m_NodeGUIDSerialized\": \"dc6b0315-a31f-4edb-9bcd-386ac3977cf7\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"4a2440ee-1dc4-494e-8b0a-b509f8354f94\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1403022609,\n \"m_NodeGUIDSerialized\": \"dc6b0315-a31f-4edb-9bcd-386ac3977cf7\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"69d7deb8-0859-41f5-b59d-b67c344e61a5\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 687816062,\n \"m_NodeGUIDSerialized\": \"dc6b0315-a31f-4edb-9bcd-386ac3977cf7\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"dc6b0315-a31f-4edb-9bcd-386ac3977cf7\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1328848496,\n \"m_NodeGUIDSerialized\": \"a352463b-64d1-45eb-952f-9ac9474eb3cd\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"b22c1dc1-fb30-46aa-a776-293c986d2561\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 316563527,\n \"m_NodeGUIDSerialized\": \"7e9c86ed-cdb3-41e8-8662-9301e41e0da7\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"4a2440ee-1dc4-494e-8b0a-b509f8354f94\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1403022609,\n \"m_NodeGUIDSerialized\": \"7e9c86ed-cdb3-41e8-8662-9301e41e0da7\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"f6332092-527c-4c0d-8d2a-22a518c4243b\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 687816062,\n \"m_NodeGUIDSerialized\": \"7e9c86ed-cdb3-41e8-8662-9301e41e0da7\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"7e9c86ed-cdb3-41e8-8662-9301e41e0da7\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"15a1ab7d-50b0-4a4b-91c3-6c6ee938fd41\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"d711bb68-577f-4680-9a9c-da4ef7771216\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1621662722,\n \"m_NodeGUIDSerialized\": \"dc6b0315-a31f-4edb-9bcd-386ac3977cf7\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"9c2fcc08-bd40-431f-b490-3868030e406c\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1621662722,\n \"m_NodeGUIDSerialized\": \"8aaa717f-14e4-4125-8742-164692289f92\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"3fa7d150-addb-4647-a68d-8e3b9eabf37e\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1621662722,\n \"m_NodeGUIDSerialized\": \"7e9c86ed-cdb3-41e8-8662-9301e41e0da7\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"5a3ae064-1b4a-475d-80e0-0ce8ea5b9523\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1453510346,\n \"m_NodeGUIDSerialized\": \"dc6b0315-a31f-4edb-9bcd-386ac3977cf7\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"b3b6f52d-f76f-4def-82c9-877c846f8215\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1453510346,\n \"m_NodeGUIDSerialized\": \"8aaa717f-14e4-4125-8742-164692289f92\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"51c9c3e8-3f03-470d-83f2-b47b214b94a7\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1453510346,\n \"m_NodeGUIDSerialized\": \"7e9c86ed-cdb3-41e8-8662-9301e41e0da7\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"b22c1dc1-fb30-46aa-a776-293c986d2561\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 316563527,\n \"m_NodeGUIDSerialized\": \"5028d968-d6b8-4b24-87d8-0481f0ffad43\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"4a2440ee-1dc4-494e-8b0a-b509f8354f94\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1403022609,\n \"m_NodeGUIDSerialized\": \"5028d968-d6b8-4b24-87d8-0481f0ffad43\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"af08ee14-2d3e-442c-bcf4-a59a1333975b\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 687816062,\n \"m_NodeGUIDSerialized\": \"5028d968-d6b8-4b24-87d8-0481f0ffad43\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"77cba568-c19a-4d67-986f-10e4bc5e0305\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1621662722,\n \"m_NodeGUIDSerialized\": \"5028d968-d6b8-4b24-87d8-0481f0ffad43\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"390bb955-9016-4e83-a1aa-7fddc3afefd7\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1453510346,\n \"m_NodeGUIDSerialized\": \"5028d968-d6b8-4b24-87d8-0481f0ffad43\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"5028d968-d6b8-4b24-87d8-0481f0ffad43\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"057cbf25-371c-4dd2-a918-93abd14917e1\"\n }\n}" - } - ], - "m_PreviewData": { - "serializedMesh": { - "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", - "m_Guid": "" - } - }, - "m_Path": "Sub Graphs", - "m_ConcretePrecision": 0, - "m_ActiveOutputNodeGuidSerialized": "" -} \ No newline at end of file diff --git a/Runtime/Shader/Legacy/SubGraphs/PBR_metallic_roughness_Legacy.shadersubgraph.meta b/Runtime/Shader/Legacy/SubGraphs/PBR_metallic_roughness_Legacy.shadersubgraph.meta deleted file mode 100644 index 3f5f347b1..000000000 --- a/Runtime/Shader/Legacy/SubGraphs/PBR_metallic_roughness_Legacy.shadersubgraph.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 1610512b96f344c11bf850c044c1b5c7 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Runtime/Shader/Legacy/SubGraphs/PBR_specular_glossiness_Legacy.shadersubgraph b/Runtime/Shader/Legacy/SubGraphs/PBR_specular_glossiness_Legacy.shadersubgraph deleted file mode 100644 index 7d8f71e1b..000000000 --- a/Runtime/Shader/Legacy/SubGraphs/PBR_specular_glossiness_Legacy.shadersubgraph +++ /dev/null @@ -1,729 +0,0 @@ -{ - "m_SerializedProperties": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"2a4c85c6-a729-4e82-81d3-77ec259c58de\"\n },\n \"m_Name\": \"occlusionStrength\",\n \"m_DefaultReferenceName\": \"Vector1_57266306\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 1.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"e85226d9-1785-431c-b779-0a31a91295de\"\n },\n \"m_Name\": \"normalTexture\",\n \"m_DefaultReferenceName\": \"Texture2D_B4A7F700\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"2de56b8d-7963-406c-a703-e2d403dc7bbf\"\n },\n \"m_Name\": \"normalTexture_ST\",\n \"m_DefaultReferenceName\": \"Vector4_709747A6\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"90187083-7fe4-43e0-aa78-4e5e0b416379\"\n },\n \"m_Name\": \"normalTextureRotation\",\n \"m_DefaultReferenceName\": \"Vector2_E7A4EB6D\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"ef71ac1d-0342-406e-b1d0-82e9d90bff3d\"\n },\n \"m_Name\": \"normalTextureUVChannel\",\n \"m_DefaultReferenceName\": \"Vector1_723CD44F\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"d7da8a92-273f-4f7b-ae2c-668b7e04a26c\"\n },\n \"m_Name\": \"normalScale\",\n \"m_DefaultReferenceName\": \"Vector1_345B830B\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 1.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector3ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"7ea9042f-5218-442a-91c1-fa205ac204f4\"\n },\n \"m_Name\": \"emissiveFactor\",\n \"m_DefaultReferenceName\": \"Vector3_44384D65\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"18c8e2c1-767f-46e3-90f7-6938c8c9891c\"\n },\n \"m_Name\": \"emissiveTexture\",\n \"m_DefaultReferenceName\": \"Texture2D_8F96C631\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"5627d6c9-e91e-44a4-bc7f-e421a2853bd4\"\n },\n \"m_Name\": \"emissiveTexture_ST\",\n \"m_DefaultReferenceName\": \"Vector4_6740F1E7\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"b2a5b7b0-7691-4148-aa59-626defba0c97\"\n },\n \"m_Name\": \"emissiveTextureRotation\",\n \"m_DefaultReferenceName\": \"Vector2_2FF7A846\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"38e3cac6-75d5-4a7a-b9cc-049e4238a31b\"\n },\n \"m_Name\": \"emissiveTextureUVChannel\",\n \"m_DefaultReferenceName\": \"Vector1_84D2828\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector3ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"989571ef-fa38-48b8-978a-21a21ed26bd8\"\n },\n \"m_Name\": \"specularFactor\",\n \"m_DefaultReferenceName\": \"Vector3_7DAA0EF6\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 1.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"1aa9ec50-0e3f-4e77-81b7-7ed5cd0d7c51\"\n },\n \"m_Name\": \"glossinessFactor\",\n \"m_DefaultReferenceName\": \"Vector1_B9A549A5\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 1.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"2819c2e7-82eb-45f4-be81-3ac73d6fc312\"\n },\n \"m_Name\": \"specularGlossinessTexture\",\n \"m_DefaultReferenceName\": \"Texture2D_5B57D6EB\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"9a427b69-f942-400a-a456-c016599bfada\"\n },\n \"m_Name\": \"specularGlossinessTexture_ST\",\n \"m_DefaultReferenceName\": \"Vector4_E9BA8DE2\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"e7c6d5c3-30b7-48a5-a191-3fc467b60538\"\n },\n \"m_Name\": \"specularGlossinessTextureRotation\",\n \"m_DefaultReferenceName\": \"Vector2_65963D32\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"cebcc942-4291-40c9-9359-f5eff99198ae\"\n },\n \"m_Name\": \"specularGlossinessTextureUVChannel\",\n \"m_DefaultReferenceName\": \"Vector1_95F4D45C\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"23b11ff4-3af1-4945-9c4b-b3b499bdfa33\"\n },\n \"m_Name\": \"baseColorFactor\",\n \"m_DefaultReferenceName\": \"Vector4_8743F3C3\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 1.0,\n \"w\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"1535492a-2795-428c-a7a8-0c963bc80c1b\"\n },\n \"m_Name\": \"baseColorTexture\",\n \"m_DefaultReferenceName\": \"Texture2D_EBF077FA\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"77ff8161-3714-4ef8-8885-767db25a0931\"\n },\n \"m_Name\": \"baseColorTexture_ST\",\n \"m_DefaultReferenceName\": \"Vector4_6F4A9DFD\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"349829b0-a90d-4b44-bf38-99916345bde2\"\n },\n \"m_Name\": \"baseColorTextureRotation\",\n \"m_DefaultReferenceName\": \"Vector2_FE260CB0\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"fc4a57b8-ce7f-4534-b48a-06d3c43f8268\"\n },\n \"m_Name\": \"basecolorTextureUVChannel\",\n \"m_DefaultReferenceName\": \"Vector1_3AB48523\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"380b6046-ffdc-407c-aab5-0e62237b3e9b\"\n },\n \"m_Name\": \"occlusionTexture\",\n \"m_DefaultReferenceName\": \"Texture2D_2BD19CD4\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"e100221b-c8b1-482f-9484-93d18169bda1\"\n },\n \"m_Name\": \"occlusionTexture_ST\",\n \"m_DefaultReferenceName\": \"Vector4_F60D5B1F\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"24dea8ad-bda8-4e7c-9b5b-d206ac78b53b\"\n },\n \"m_Name\": \"occlusionTextureRotation\",\n \"m_DefaultReferenceName\": \"Vector2_B37C1316\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"5ca683eb-9391-45d1-beee-534b4dcb578e\"\n },\n \"m_Name\": \"occlusionTextureUVChannel\",\n \"m_DefaultReferenceName\": \"Vector1_FA39B51B\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"d6643c70-6b0c-4d13-a4dd-435d773ecbdd\"\n },\n \"m_Name\": \"UV0\",\n \"m_DefaultReferenceName\": \"Vector2_489312EB\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"8ea9bfd6-b573-4ad6-89c6-2406e1cccf89\"\n },\n \"m_Name\": \"UV1\",\n \"m_DefaultReferenceName\": \"Vector2_20A21D51\",\n \"m_OverrideReferenceName\": \"\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - } - ], - "m_SerializedKeywords": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.ShaderKeyword" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"be212c58-284e-4b0e-ac76-8dafbc9e09bc\"\n },\n \"m_Name\": \"TEXTURE_TRANSFORM\",\n \"m_DefaultReferenceName\": \"BOOLEAN_D5F9AE1C_ON\",\n \"m_OverrideReferenceName\": \"_TEXTURE_TRANSFORM\",\n \"m_GeneratePropertyBlock\": true,\n \"m_KeywordType\": 0,\n \"m_KeywordDefinition\": 0,\n \"m_KeywordScope\": 0,\n \"m_Entries\": [],\n \"m_Value\": 0,\n \"m_IsEditable\": true,\n \"m_IsExposable\": true\n}" - } - ], - "m_SerializableNodes": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphOutputNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"909b7ec6-8e39-43b4-bddd-69eb12826479\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Out_Vector1 (3)\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 838.0,\n \"y\": 12.0,\n \"width\": 154.0,\n \"height\": 221.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"Albedo\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Albedo\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"Normal\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Normal\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"Emission\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Emission\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"Specular\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Specular\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 5,\\n \\\"m_DisplayName\\\": \\\"Glossiness\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Glossiness\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Occlusion\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Occlusion\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"Alpha\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Alpha\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"f8f1aaae-6a31-40c1-95fd-97adf9be935a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Occlusion\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 373.0,\n \"y\": 749.0,\n \"width\": 249.0,\n \"height\": 302.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1793285055,\\n \\\"m_DisplayName\\\": \\\"occlusionStrength\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_4CC3C1C8\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 631471846,\\n \\\"m_DisplayName\\\": \\\"occlusionTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_A2CAD0A5\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"occlusion\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"occlusion\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_SerializedSubGraph\": \"{\\n \\\"subGraph\\\": {\\n \\\"fileID\\\": -5475051401550479605,\\n \\\"guid\\\": \\\"a61e32a8ab2b744a3837d668b8fc3155\\\",\\n \\\"type\\\": 3\\n }\\n}\",\n \"m_PropertyGuids\": [\n \"0a5f303e-bafc-4ed0-8386-958a3e304b08\",\n \"6acfe3a4-91d3-4796-b948-6e8794de4073\"\n ],\n \"m_PropertyIds\": [\n 631471846,\n -1793285055\n ]\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"a352463b-64d1-45eb-952f-9ac9474eb3cd\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Normal\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 368.00018310546877,\n \"y\": 91.00003814697266,\n \"width\": 227.00001525878907,\n \"height\": 326.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 547271248,\\n \\\"m_DisplayName\\\": \\\"normalTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_56E509E5\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1745977249,\\n \\\"m_DisplayName\\\": \\\"normalScale\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_8CFE54ED\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1328848496,\\n \\\"m_DisplayName\\\": \\\"UV\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_465B70E0\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"normal\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"normal\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_SerializedSubGraph\": \"{\\n \\\"subGraph\\\": {\\n \\\"fileID\\\": -5475051401550479605,\\n \\\"guid\\\": \\\"3d23f3f9d39dc4621898db0a20884fcd\\\",\\n \\\"type\\\": 3\\n }\\n}\",\n \"m_PropertyGuids\": [\n \"ce3ef69d-a0a0-44bb-9390-4e669bbe6176\",\n \"10c62b64-e10d-4a43-8035-41ea282aa3b7\",\n \"2c3dc14a-f0d3-4122-8339-4bfaa2248637\"\n ],\n \"m_PropertyIds\": [\n 547271248,\n -1328848496,\n -1745977249\n ]\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"1e8df206-0fe1-4ea0-bdda-fd0872367fa6\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"EmissionLegacy\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 372.0000915527344,\n \"y\": 422.0000305175781,\n \"width\": 241.0,\n \"height\": 326.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 963550628,\\n \\\"m_DisplayName\\\": \\\"emissiveFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector3_BDA4AC8B\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1073215148,\\n \\\"m_DisplayName\\\": \\\"emissiveTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_8C55BE6\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 739431299,\\n \\\"m_DisplayName\\\": \\\"UV\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_2269B91D\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Emission\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Emission\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_SerializedSubGraph\": \"{\\n \\\"subGraph\\\": {\\n \\\"fileID\\\": -5475051401550479605,\\n \\\"guid\\\": \\\"c77980cdaaf45470fb7f8916112642c4\\\",\\n \\\"type\\\": 3\\n }\\n}\",\n \"m_PropertyGuids\": [\n \"d18fcb7f-fa68-4884-b83f-2b0c020fc0d3\",\n \"92c6bdd4-ca31-4b5a-bc1c-6794cd65d522\",\n \"4a9d9167-db8f-4234-b477-bd2175918ed0\",\n \"c75fdb25-0e31-46d0-b09b-f0f3505da651\"\n ],\n \"m_PropertyIds\": [\n 15172392,\n 1073215148,\n 739431299,\n 963550628\n ]\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"4a900638-04df-49de-8743-a81ea26e58a9\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"BaseColor\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 372.0000915527344,\n \"y\": -236.0,\n \"width\": 255.0,\n \"height\": 326.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -414029688,\\n \\\"m_DisplayName\\\": \\\"baseColorFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_FC55EA20\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 735972575,\\n \\\"m_DisplayName\\\": \\\"baseColorTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_FA7B3822\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -250492256,\\n \\\"m_DisplayName\\\": \\\"UV\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_8D613221\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"baseColor\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"baseColor\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"alpha\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"alpha\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_SerializedSubGraph\": \"{\\n \\\"subGraph\\\": {\\n \\\"fileID\\\": -5475051401550479605,\\n \\\"guid\\\": \\\"8128dba25d89b4e0e99b91d27f058f07\\\",\\n \\\"type\\\": 3\\n }\\n}\",\n \"m_PropertyGuids\": [\n \"f5db2ecb-d689-4602-9dd9-c4f655fb7c41\",\n \"24774c64-81a9-401f-8e9b-8e59a366a8a4\",\n \"6b928d43-ab83-47b1-a6e7-31c648717852\"\n ],\n \"m_PropertyIds\": [\n -414029688,\n 735972575,\n -250492256\n ]\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SampleTexture2DNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"057cbf25-371c-4dd2-a918-93abd14917e1\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Sample Texture 2D\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -72.00011444091797,\n \"y\": 839.0,\n \"width\": 179.0,\n \"height\": 251.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"RGBA\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"RGBA\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"R\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"R\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 5,\\n \\\"m_DisplayName\\\": \\\"G\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"G\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"B\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"B\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"A\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"A\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Texture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.UVMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"UV\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"UV\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ],\\n \\\"m_Channel\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.SamplerStateMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"Sampler\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Sampler\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_TextureType\": 0,\n \"m_NormalMapSpace\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"2edcf598-b447-4835-8ccc-ca49cd9091c6\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"TextureTransform\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -367.0001525878906,\n \"y\": 267.0000305175781,\n \"width\": 253.0,\n \"height\": 190.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1621662722,\\n \\\"m_DisplayName\\\": \\\"textureST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_27C8CB01\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1453510346,\\n \\\"m_DisplayName\\\": \\\"textureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_55C5D8D5\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 687816062,\\n \\\"m_DisplayName\\\": \\\"UVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_192DCE9E\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 316563527,\\n \\\"m_DisplayName\\\": \\\"UV0\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_3C6B3DF8\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1403022609,\\n \\\"m_DisplayName\\\": \\\"UV1\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_97FB8726\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Out_Vector2\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"OutVector2\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_SerializedSubGraph\": \"{\\n \\\"subGraph\\\": {\\n \\\"fileID\\\": -5475051401550479605,\\n \\\"guid\\\": \\\"9a44a43ef44bd4a9dbc883ebde01cc72\\\",\\n \\\"type\\\": 3\\n }\\n}\",\n \"m_PropertyGuids\": [\n \"04e280fa-2040-4e5b-8061-7203ec63836b\",\n \"29612dd4-4736-4e38-b443-f14dca3e5a12\",\n \"7e1522b9-a8cb-42cd-959e-c421a5fabf33\",\n \"515e7228-12a1-4ff0-bd06-6beac202bea6\",\n \"29a22b7f-e502-46e1-95c2-9febc2334c8f\"\n ],\n \"m_PropertyIds\": [\n 1453510346,\n -1621662722,\n 316563527,\n 687816062,\n 1403022609\n ]\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"ab9ea953-fe75-46e3-886f-778efcb82af1\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -803.0,\n \"y\": 126.0,\n \"width\": 172.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"occlusionStrength\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"2a4c85c6-a729-4e82-81d3-77ec259c58de\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"6a474f8c-cb3c-4664-b6a7-e9ece3936096\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -805.0001220703125,\n \"y\": -26.0,\n \"width\": 0.0,\n \"height\": 0.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"normalTexture\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"e85226d9-1785-431c-b779-0a31a91295de\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"801d669a-7adb-4c8f-a83a-61ebaa650478\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -805.0001220703125,\n \"y\": 14.0,\n \"width\": 0.0,\n \"height\": 0.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"normalScale\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"d7da8a92-273f-4f7b-ae2c-668b7e04a26c\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"4709617b-37f9-42b8-8777-6305b5b13887\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -802.9999389648438,\n \"y\": 57.0,\n \"width\": 155.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"emissiveFactor\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"7ea9042f-5218-442a-91c1-fa205ac204f4\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"1369f54c-f7db-41fb-9bf1-a53a4fa21327\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -805.0001220703125,\n \"y\": 94.0,\n \"width\": 0.0,\n \"height\": 0.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"emissiveTexture\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"18c8e2c1-767f-46e3-90f7-6938c8c9891c\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"5f56ea43-78c8-4c4e-8082-57448c531e2a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -786.0000610351563,\n \"y\": 1232.0,\n \"width\": 167.00001525878907,\n \"height\": 34.000003814697269\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"glossinessFactor\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"1aa9ec50-0e3f-4e77-81b7-7ed5cd0d7c51\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"92cc264c-2ced-4475-9822-2a2a625cc469\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -788.0000610351563,\n \"y\": 1196.0001220703125,\n \"width\": 155.0,\n \"height\": 34.000003814697269\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"specularFactor\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"989571ef-fa38-48b8-978a-21a21ed26bd8\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"bafb849b-6d7f-4f94-9265-3422fefc4a1d\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -802.0,\n \"y\": -155.99998474121095,\n \"width\": 163.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"baseColorFactor\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"23b11ff4-3af1-4945-9c4b-b3b499bdfa33\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"b7c85b75-bf06-49b4-ade3-368180adf609\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -802.0,\n \"y\": -115.99994659423828,\n \"width\": 178.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"baseColorTexture\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"1535492a-2795-428c-a7a8-0c963bc80c1b\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"2c5c4b01-3bbf-4b8c-83eb-890d76602f67\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -788.0,\n \"y\": 881.0,\n \"width\": 173.99998474121095,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"occlusionTexture\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"380b6046-ffdc-407c-aab5-0e62237b3e9b\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"8fd654af-77bf-4410-9d58-bf9a526d3da1\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -802.0,\n \"y\": 338.0,\n \"width\": 216.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"baseColorTextureRotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"349829b0-a90d-4b44-bf38-99916345bde2\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"2afebd59-d30f-4c02-a4d7-3c5f3a296b49\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -801.0,\n \"y\": 309.0,\n \"width\": 190.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"baseColorTexture_ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"77ff8161-3714-4ef8-8885-767db25a0931\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"d2aecde4-a530-428e-9bd3-b3be8d481304\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -562.0,\n \"y\": 1470.0,\n \"width\": 98.00000762939453,\n \"height\": 34.000003814697269\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"UV0\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"d6643c70-6b0c-4d13-a4dd-435d773ecbdd\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"cf09cd9c-89da-4837-ab09-6a7a38cf9dc3\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -784.0000610351563,\n \"y\": 1161.0001220703125,\n \"width\": 228.00001525878907,\n \"height\": 34.000003814697269\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"specularGlossinessTexture\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"2819c2e7-82eb-45f4-be81-3ac73d6fc312\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"0e9ee8a0-a87f-4658-8bf3-8b5afd250244\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"SpecularGlossiness\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 360.9999694824219,\n \"y\": 1090.0001220703125,\n \"width\": 311.0,\n \"height\": 350.0000305175781\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1231207831,\\n \\\"m_DisplayName\\\": \\\"specularGlossinessTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_1D7F398E\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 42585391,\\n \\\"m_DisplayName\\\": \\\"UV\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_CDA25D43\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 889808691,\\n \\\"m_DisplayName\\\": \\\"specularFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector3_FDC2E8AA\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 885535925,\\n \\\"m_DisplayName\\\": \\\"glossinessFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_D5749272\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Specular\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Specular\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"Glossiness\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Glossiness\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_SerializedSubGraph\": \"{\\n \\\"subGraph\\\": {\\n \\\"fileID\\\": -5475051401550479605,\\n \\\"guid\\\": \\\"7c57fa3e768cc40d2abb3b1b4ccd18d4\\\",\\n \\\"type\\\": 3\\n }\\n}\",\n \"m_PropertyGuids\": [\n \"db79f5e7-8d1b-4872-ae3c-1f688f41f302\",\n \"dced8137-4164-4cf1-8fa0-9fb0b1bda1e9\",\n \"6c642c54-186d-4b4e-95d1-410f3da00529\",\n \"e0547f41-a49c-4b6a-9533-7006f2a16b9e\"\n ],\n \"m_PropertyIds\": [\n 1231207831,\n 42585391,\n 889808691,\n 885535925\n ]\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"4ed76062-9be5-4acf-b379-d12135fbc537\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -562.0,\n \"y\": 1498.0001220703125,\n \"width\": 98.00000762939453,\n \"height\": 34.000003814697269\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"UV1\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"8ea9bfd6-b573-4ad6-89c6-2406e1cccf89\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"1670dd74-36ce-47d2-8c0d-f463c02d64de\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -802.0,\n \"y\": 367.0,\n \"width\": 227.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"basecolorTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"fc4a57b8-ce7f-4534-b48a-06d3c43f8268\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"192b40fb-59e1-453a-b376-27abafb9ca31\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"TextureTransform\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -365.0001220703125,\n \"y\": 458.0000305175781,\n \"width\": 251.0,\n \"height\": 190.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1621662722,\\n \\\"m_DisplayName\\\": \\\"textureST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_27C8CB01\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1453510346,\\n \\\"m_DisplayName\\\": \\\"textureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_55C5D8D5\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 687816062,\\n \\\"m_DisplayName\\\": \\\"UVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_192DCE9E\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 316563527,\\n \\\"m_DisplayName\\\": \\\"UV0\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_3C6B3DF8\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1403022609,\\n \\\"m_DisplayName\\\": \\\"UV1\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_97FB8726\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Out_Vector2\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"OutVector2\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_SerializedSubGraph\": \"{\\n \\\"subGraph\\\": {\\n \\\"fileID\\\": -5475051401550479605,\\n \\\"guid\\\": \\\"9a44a43ef44bd4a9dbc883ebde01cc72\\\",\\n \\\"type\\\": 3\\n }\\n}\",\n \"m_PropertyGuids\": [\n \"04e280fa-2040-4e5b-8061-7203ec63836b\",\n \"29612dd4-4736-4e38-b443-f14dca3e5a12\",\n \"7e1522b9-a8cb-42cd-959e-c421a5fabf33\",\n \"515e7228-12a1-4ff0-bd06-6beac202bea6\",\n \"29a22b7f-e502-46e1-95c2-9febc2334c8f\"\n ],\n \"m_PropertyIds\": [\n 1453510346,\n -1621662722,\n 316563527,\n 687816062,\n 1403022609\n ]\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"bc4b76b0-c5c2-4c0b-9d9a-6aac2b734d18\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -798.0,\n \"y\": 613.0,\n \"width\": 175.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"normalTexture_ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"2de56b8d-7963-406c-a703-e2d403dc7bbf\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"84f6f694-9386-49e2-bb9b-5354572666f9\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -798.0,\n \"y\": 641.0000610351563,\n \"width\": 202.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"normalTextureRotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"90187083-7fe4-43e0-aa78-4e5e0b416379\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"50f26fc1-7396-42c5-88cd-7b66f8e74c79\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -798.0,\n \"y\": 669.0,\n \"width\": 216.00001525878907,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"normalTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"ef71ac1d-0342-406e-b1d0-82e9d90bff3d\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"2f9e68ee-8d51-43dc-a948-5132091efdb0\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"TextureTransform\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -364.0001220703125,\n \"y\": 651.0,\n \"width\": 250.0,\n \"height\": 190.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1621662722,\\n \\\"m_DisplayName\\\": \\\"textureST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_27C8CB01\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1453510346,\\n \\\"m_DisplayName\\\": \\\"textureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_55C5D8D5\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 687816062,\\n \\\"m_DisplayName\\\": \\\"UVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_192DCE9E\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 316563527,\\n \\\"m_DisplayName\\\": \\\"UV0\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_3C6B3DF8\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1403022609,\\n \\\"m_DisplayName\\\": \\\"UV1\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_97FB8726\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Out_Vector2\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"OutVector2\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_SerializedSubGraph\": \"{\\n \\\"subGraph\\\": {\\n \\\"fileID\\\": -5475051401550479605,\\n \\\"guid\\\": \\\"9a44a43ef44bd4a9dbc883ebde01cc72\\\",\\n \\\"type\\\": 3\\n }\\n}\",\n \"m_PropertyGuids\": [\n \"04e280fa-2040-4e5b-8061-7203ec63836b\",\n \"29612dd4-4736-4e38-b443-f14dca3e5a12\",\n \"7e1522b9-a8cb-42cd-959e-c421a5fabf33\",\n \"29a22b7f-e502-46e1-95c2-9febc2334c8f\",\n \"515e7228-12a1-4ff0-bd06-6beac202bea6\"\n ],\n \"m_PropertyIds\": [\n 1453510346,\n -1621662722,\n 316563527,\n 1403022609,\n 687816062\n ]\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"c3804dc6-1ab9-4b7a-acec-633491d5c46f\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -797.0,\n \"y\": 710.0,\n \"width\": 181.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"emissiveTexture_ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"5627d6c9-e91e-44a4-bc7f-e421a2853bd4\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"630e4512-502c-4fcf-af44-73f07d3c0cd6\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -797.0,\n \"y\": 738.0,\n \"width\": 208.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"emissiveTextureRotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"b2a5b7b0-7691-4148-aa59-626defba0c97\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"cb5e9eb6-2aa3-44a3-9b08-fae1c58b509c\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -797.0,\n \"y\": 766.0,\n \"width\": 221.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"emissiveTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"38e3cac6-75d5-4a7a-b9cc-049e4238a31b\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"e6416308-953c-43ca-bbc9-5fecf9a4b78d\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -788.0,\n \"y\": 957.0,\n \"width\": 185.99998474121095,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"occlusionTexture_ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"e100221b-c8b1-482f-9484-93d18169bda1\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"9552a1c3-515a-490a-9b1e-de1de94471e7\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -788.0,\n \"y\": 983.9999389648438,\n \"width\": 211.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"occlusionTextureRotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"24dea8ad-bda8-4e7c-9b5b-d206ac78b53b\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"275bd523-845f-4136-80e5-bc21aac5d416\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -788.0,\n \"y\": 1012.0,\n \"width\": 229.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"occlusionTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"5ca683eb-9391-45d1-beee-534b4dcb578e\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"8416f3f6-d989-4a0f-a79f-ff9b399b1aa2\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"TextureTransform\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -364.0001220703125,\n \"y\": 918.0,\n \"width\": 253.0,\n \"height\": 190.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1621662722,\\n \\\"m_DisplayName\\\": \\\"textureST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_27C8CB01\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1453510346,\\n \\\"m_DisplayName\\\": \\\"textureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_55C5D8D5\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 687816062,\\n \\\"m_DisplayName\\\": \\\"UVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_192DCE9E\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 316563527,\\n \\\"m_DisplayName\\\": \\\"UV0\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_3C6B3DF8\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1403022609,\\n \\\"m_DisplayName\\\": \\\"UV1\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_97FB8726\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Out_Vector2\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"OutVector2\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_SerializedSubGraph\": \"{\\n \\\"subGraph\\\": {\\n \\\"fileID\\\": -5475051401550479605,\\n \\\"guid\\\": \\\"9a44a43ef44bd4a9dbc883ebde01cc72\\\",\\n \\\"type\\\": 3\\n }\\n}\",\n \"m_PropertyGuids\": [\n \"04e280fa-2040-4e5b-8061-7203ec63836b\",\n \"29612dd4-4736-4e38-b443-f14dca3e5a12\",\n \"7e1522b9-a8cb-42cd-959e-c421a5fabf33\",\n \"29a22b7f-e502-46e1-95c2-9febc2334c8f\",\n \"515e7228-12a1-4ff0-bd06-6beac202bea6\"\n ],\n \"m_PropertyIds\": [\n 1453510346,\n -1621662722,\n 316563527,\n 1403022609,\n 687816062\n ]\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"155411b4-f374-4eb3-9d9d-d88f07237fe6\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -790.0000610351563,\n \"y\": 1264.0,\n \"width\": 239.0,\n \"height\": 34.000003814697269\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"specularGlossinessTexture_ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"9a427b69-f942-400a-a456-c016599bfada\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"7bdf41af-4887-4666-b847-22c61bbbafd4\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -790.0000610351563,\n \"y\": 1294.0001220703125,\n \"width\": 267.0,\n \"height\": 34.000003814697269\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"specularGlossinessTextureRotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"e7c6d5c3-30b7-48a5-a191-3fc467b60538\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"5fc4b831-7528-43cf-801f-beedc4443e67\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -791.0000610351563,\n \"y\": 1324.0001220703125,\n \"width\": 280.0,\n \"height\": 34.000003814697269\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"specularGlossinessTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"cebcc942-4291-40c9-9359-f5eff99198ae\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"40857686-4382-4960-9ae3-da8502986236\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"TextureTransform\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -360.0000915527344,\n \"y\": 1224.0001220703125,\n \"width\": 254.00001525878907,\n \"height\": 190.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1621662722,\\n \\\"m_DisplayName\\\": \\\"textureST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_27C8CB01\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1453510346,\\n \\\"m_DisplayName\\\": \\\"textureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_55C5D8D5\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 687816062,\\n \\\"m_DisplayName\\\": \\\"UVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_192DCE9E\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 316563527,\\n \\\"m_DisplayName\\\": \\\"UV0\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_3C6B3DF8\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1403022609,\\n \\\"m_DisplayName\\\": \\\"UV1\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_97FB8726\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Out_Vector2\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"OutVector2\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_SerializedSubGraph\": \"{\\n \\\"subGraph\\\": {\\n \\\"fileID\\\": -5475051401550479605,\\n \\\"guid\\\": \\\"9a44a43ef44bd4a9dbc883ebde01cc72\\\",\\n \\\"type\\\": 3\\n }\\n}\",\n \"m_PropertyGuids\": [\n \"04e280fa-2040-4e5b-8061-7203ec63836b\",\n \"29612dd4-4736-4e38-b443-f14dca3e5a12\",\n \"7e1522b9-a8cb-42cd-959e-c421a5fabf33\",\n \"29a22b7f-e502-46e1-95c2-9febc2334c8f\",\n \"515e7228-12a1-4ff0-bd06-6beac202bea6\"\n ],\n \"m_PropertyIds\": [\n 1453510346,\n -1621662722,\n 316563527,\n 1403022609,\n 687816062\n ]\n}" - } - ], - "m_Groups": [], - "m_StickyNotes": [], - "m_SerializableEdges": [ - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 4,\n \"m_NodeGUIDSerialized\": \"057cbf25-371c-4dd2-a918-93abd14917e1\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 631471846,\n \"m_NodeGUIDSerialized\": \"f8f1aaae-6a31-40c1-95fd-97adf9be935a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"2edcf598-b447-4835-8ccc-ca49cd9091c6\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -250492256,\n \"m_NodeGUIDSerialized\": \"4a900638-04df-49de-8743-a81ea26e58a9\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"ab9ea953-fe75-46e3-886f-778efcb82af1\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1793285055,\n \"m_NodeGUIDSerialized\": \"f8f1aaae-6a31-40c1-95fd-97adf9be935a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"6a474f8c-cb3c-4664-b6a7-e9ece3936096\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 547271248,\n \"m_NodeGUIDSerialized\": \"a352463b-64d1-45eb-952f-9ac9474eb3cd\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"801d669a-7adb-4c8f-a83a-61ebaa650478\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1745977249,\n \"m_NodeGUIDSerialized\": \"a352463b-64d1-45eb-952f-9ac9474eb3cd\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"1369f54c-f7db-41fb-9bf1-a53a4fa21327\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1073215148,\n \"m_NodeGUIDSerialized\": \"1e8df206-0fe1-4ea0-bdda-fd0872367fa6\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"bafb849b-6d7f-4f94-9265-3422fefc4a1d\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -414029688,\n \"m_NodeGUIDSerialized\": \"4a900638-04df-49de-8743-a81ea26e58a9\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"b7c85b75-bf06-49b4-ade3-368180adf609\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 735972575,\n \"m_NodeGUIDSerialized\": \"4a900638-04df-49de-8743-a81ea26e58a9\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"2c5c4b01-3bbf-4b8c-83eb-890d76602f67\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"057cbf25-371c-4dd2-a918-93abd14917e1\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"8fd654af-77bf-4410-9d58-bf9a526d3da1\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1453510346,\n \"m_NodeGUIDSerialized\": \"2edcf598-b447-4835-8ccc-ca49cd9091c6\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"2afebd59-d30f-4c02-a4d7-3c5f3a296b49\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1621662722,\n \"m_NodeGUIDSerialized\": \"2edcf598-b447-4835-8ccc-ca49cd9091c6\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"a352463b-64d1-45eb-952f-9ac9474eb3cd\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"909b7ec6-8e39-43b4-bddd-69eb12826479\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"1e8df206-0fe1-4ea0-bdda-fd0872367fa6\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 3,\n \"m_NodeGUIDSerialized\": \"909b7ec6-8e39-43b4-bddd-69eb12826479\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"f8f1aaae-6a31-40c1-95fd-97adf9be935a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"909b7ec6-8e39-43b4-bddd-69eb12826479\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"4a900638-04df-49de-8743-a81ea26e58a9\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 6,\n \"m_NodeGUIDSerialized\": \"909b7ec6-8e39-43b4-bddd-69eb12826479\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"4a900638-04df-49de-8743-a81ea26e58a9\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 7,\n \"m_NodeGUIDSerialized\": \"909b7ec6-8e39-43b4-bddd-69eb12826479\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"d2aecde4-a530-428e-9bd3-b3be8d481304\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 316563527,\n \"m_NodeGUIDSerialized\": \"2edcf598-b447-4835-8ccc-ca49cd9091c6\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"cf09cd9c-89da-4837-ab09-6a7a38cf9dc3\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1231207831,\n \"m_NodeGUIDSerialized\": \"0e9ee8a0-a87f-4658-8bf3-8b5afd250244\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"92cc264c-2ced-4475-9822-2a2a625cc469\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 889808691,\n \"m_NodeGUIDSerialized\": \"0e9ee8a0-a87f-4658-8bf3-8b5afd250244\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"5f56ea43-78c8-4c4e-8082-57448c531e2a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 885535925,\n \"m_NodeGUIDSerialized\": \"0e9ee8a0-a87f-4658-8bf3-8b5afd250244\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"0e9ee8a0-a87f-4658-8bf3-8b5afd250244\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 4,\n \"m_NodeGUIDSerialized\": \"909b7ec6-8e39-43b4-bddd-69eb12826479\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"0e9ee8a0-a87f-4658-8bf3-8b5afd250244\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 5,\n \"m_NodeGUIDSerialized\": \"909b7ec6-8e39-43b4-bddd-69eb12826479\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"4709617b-37f9-42b8-8777-6305b5b13887\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 963550628,\n \"m_NodeGUIDSerialized\": \"1e8df206-0fe1-4ea0-bdda-fd0872367fa6\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"4ed76062-9be5-4acf-b379-d12135fbc537\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1403022609,\n \"m_NodeGUIDSerialized\": \"2edcf598-b447-4835-8ccc-ca49cd9091c6\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"1670dd74-36ce-47d2-8c0d-f463c02d64de\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 687816062,\n \"m_NodeGUIDSerialized\": \"2edcf598-b447-4835-8ccc-ca49cd9091c6\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"192b40fb-59e1-453a-b376-27abafb9ca31\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1328848496,\n \"m_NodeGUIDSerialized\": \"a352463b-64d1-45eb-952f-9ac9474eb3cd\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"bc4b76b0-c5c2-4c0b-9d9a-6aac2b734d18\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1621662722,\n \"m_NodeGUIDSerialized\": \"192b40fb-59e1-453a-b376-27abafb9ca31\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"84f6f694-9386-49e2-bb9b-5354572666f9\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1453510346,\n \"m_NodeGUIDSerialized\": \"192b40fb-59e1-453a-b376-27abafb9ca31\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"50f26fc1-7396-42c5-88cd-7b66f8e74c79\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 687816062,\n \"m_NodeGUIDSerialized\": \"192b40fb-59e1-453a-b376-27abafb9ca31\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"d2aecde4-a530-428e-9bd3-b3be8d481304\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 316563527,\n \"m_NodeGUIDSerialized\": \"192b40fb-59e1-453a-b376-27abafb9ca31\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"4ed76062-9be5-4acf-b379-d12135fbc537\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1403022609,\n \"m_NodeGUIDSerialized\": \"192b40fb-59e1-453a-b376-27abafb9ca31\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"2f9e68ee-8d51-43dc-a948-5132091efdb0\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 739431299,\n \"m_NodeGUIDSerialized\": \"1e8df206-0fe1-4ea0-bdda-fd0872367fa6\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"c3804dc6-1ab9-4b7a-acec-633491d5c46f\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1621662722,\n \"m_NodeGUIDSerialized\": \"2f9e68ee-8d51-43dc-a948-5132091efdb0\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"630e4512-502c-4fcf-af44-73f07d3c0cd6\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1453510346,\n \"m_NodeGUIDSerialized\": \"2f9e68ee-8d51-43dc-a948-5132091efdb0\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"cb5e9eb6-2aa3-44a3-9b08-fae1c58b509c\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 687816062,\n \"m_NodeGUIDSerialized\": \"2f9e68ee-8d51-43dc-a948-5132091efdb0\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"d2aecde4-a530-428e-9bd3-b3be8d481304\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 316563527,\n \"m_NodeGUIDSerialized\": \"2f9e68ee-8d51-43dc-a948-5132091efdb0\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"4ed76062-9be5-4acf-b379-d12135fbc537\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1403022609,\n \"m_NodeGUIDSerialized\": \"2f9e68ee-8d51-43dc-a948-5132091efdb0\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"e6416308-953c-43ca-bbc9-5fecf9a4b78d\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1621662722,\n \"m_NodeGUIDSerialized\": \"8416f3f6-d989-4a0f-a79f-ff9b399b1aa2\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"9552a1c3-515a-490a-9b1e-de1de94471e7\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1453510346,\n \"m_NodeGUIDSerialized\": \"8416f3f6-d989-4a0f-a79f-ff9b399b1aa2\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"275bd523-845f-4136-80e5-bc21aac5d416\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 687816062,\n \"m_NodeGUIDSerialized\": \"8416f3f6-d989-4a0f-a79f-ff9b399b1aa2\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"d2aecde4-a530-428e-9bd3-b3be8d481304\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 316563527,\n \"m_NodeGUIDSerialized\": \"8416f3f6-d989-4a0f-a79f-ff9b399b1aa2\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"4ed76062-9be5-4acf-b379-d12135fbc537\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1403022609,\n \"m_NodeGUIDSerialized\": \"8416f3f6-d989-4a0f-a79f-ff9b399b1aa2\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"8416f3f6-d989-4a0f-a79f-ff9b399b1aa2\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"057cbf25-371c-4dd2-a918-93abd14917e1\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"155411b4-f374-4eb3-9d9d-d88f07237fe6\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1621662722,\n \"m_NodeGUIDSerialized\": \"40857686-4382-4960-9ae3-da8502986236\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"7bdf41af-4887-4666-b847-22c61bbbafd4\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1453510346,\n \"m_NodeGUIDSerialized\": \"40857686-4382-4960-9ae3-da8502986236\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"5fc4b831-7528-43cf-801f-beedc4443e67\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 687816062,\n \"m_NodeGUIDSerialized\": \"40857686-4382-4960-9ae3-da8502986236\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"d2aecde4-a530-428e-9bd3-b3be8d481304\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 316563527,\n \"m_NodeGUIDSerialized\": \"40857686-4382-4960-9ae3-da8502986236\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"4ed76062-9be5-4acf-b379-d12135fbc537\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1403022609,\n \"m_NodeGUIDSerialized\": \"40857686-4382-4960-9ae3-da8502986236\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"40857686-4382-4960-9ae3-da8502986236\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 42585391,\n \"m_NodeGUIDSerialized\": \"0e9ee8a0-a87f-4658-8bf3-8b5afd250244\"\n }\n}" - } - ], - "m_PreviewData": { - "serializedMesh": { - "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", - "m_Guid": "" - } - }, - "m_Path": "Sub Graphs", - "m_ConcretePrecision": 0, - "m_ActiveOutputNodeGuidSerialized": "" -} \ No newline at end of file diff --git a/Runtime/Shader/Legacy/SubGraphs/PBR_specular_glossiness_Legacy.shadersubgraph.meta b/Runtime/Shader/Legacy/SubGraphs/PBR_specular_glossiness_Legacy.shadersubgraph.meta deleted file mode 100644 index eaa9c1f91..000000000 --- a/Runtime/Shader/Legacy/SubGraphs/PBR_specular_glossiness_Legacy.shadersubgraph.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 61360ed3722d94c1baeb8aed4a335a03 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Blend-double.shadergraph b/Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Blend-double.shadergraph deleted file mode 100644 index 0a6fc8e9b..000000000 --- a/Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Blend-double.shadergraph +++ /dev/null @@ -1,753 +0,0 @@ -{ - "m_SerializedProperties": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"7f4f45f2-b62a-4732-893b-0d7ab9ce6986\"\n },\n \"m_Name\": \"Base Color\",\n \"m_DefaultReferenceName\": \"Color_A53D4B2B\",\n \"m_OverrideReferenceName\": \"baseColorFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 2,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"r\": 1.0,\n \"g\": 1.0,\n \"b\": 1.0,\n \"a\": 1.0\n },\n \"m_ColorMode\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"06d6e0d3-a210-4065-af02-38a543a20066\"\n },\n \"m_Name\": \"Base Color Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_3270778E\",\n \"m_OverrideReferenceName\": \"baseColorTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 2,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"50cc2671-e469-49b3-804d-a1b67f32fe59\"\n },\n \"m_Name\": \"Base Color Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_6585E8BA\",\n \"m_OverrideReferenceName\": \"baseColorTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"8c960e31-f89f-41e6-958a-5a8561a5d8c4\"\n },\n \"m_Name\": \"Base Color Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_DC752BB\",\n \"m_OverrideReferenceName\": \"baseColorTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"7ea18ce5-73b9-4b07-8f6e-d62cab2b90ec\"\n },\n \"m_Name\": \"Base Color Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_A94E80AC\",\n \"m_OverrideReferenceName\": \"baseColorTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 2,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"290855a3-663b-4b44-871b-434a544fd001\"\n },\n \"m_Name\": \"Normal Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_4207825D\",\n \"m_OverrideReferenceName\": \"normalTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 3\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"f8cc2e99-25ba-4281-9185-2ac913de2fec\"\n },\n \"m_Name\": \"Normal Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_E7706444\",\n \"m_OverrideReferenceName\": \"normalTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"a16b4778-0d05-4f2c-a036-74e3a2572672\"\n },\n \"m_Name\": \"Normal Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_FB474061\",\n \"m_OverrideReferenceName\": \"normalTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"df69bcd3-003f-490e-bce5-0c08dc8b16e5\"\n },\n \"m_Name\": \"Normal Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_F23F38C5\",\n \"m_OverrideReferenceName\": \"normalTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 2,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"0f8451d3-f402-45f1-80a0-90c8cfc3c5a1\"\n },\n \"m_Name\": \"Normal Scale\",\n \"m_DefaultReferenceName\": \"Vector1_97BB6A5\",\n \"m_OverrideReferenceName\": \"normalTexture_scale\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 1.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"10d76b91-eaaf-4eb7-8331-d7e8f7615734\"\n },\n \"m_Name\": \"Occlusion Strength\",\n \"m_DefaultReferenceName\": \"Vector1_DDDD754\",\n \"m_OverrideReferenceName\": \"occlusionTexture_strength\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 1.0,\n \"m_FloatType\": 1,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"9af024c4-f31e-41c9-936a-5007c0b61fb9\"\n },\n \"m_Name\": \"Occlusion Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_527B980B\",\n \"m_OverrideReferenceName\": \"occlusionTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"7a3462d3-a575-44a7-b697-dde25280965f\"\n },\n \"m_Name\": \"Occlusion Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_C7D943A\",\n \"m_OverrideReferenceName\": \"occlusionTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"26fc42ae-fd43-43a4-a2e9-ca11370f729d\"\n },\n \"m_Name\": \"Occlusion Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_8A3FF12A\",\n \"m_OverrideReferenceName\": \"occlusionTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"aa063099-631d-478c-97f8-1f4f51b3d678\"\n },\n \"m_Name\": \"Occlusion Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_C105ACA3\",\n \"m_OverrideReferenceName\": \"occlusionTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 2,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"9dba0444-5255-46c6-b45b-d7758fb87c92\"\n },\n \"m_Name\": \"Roughness\",\n \"m_DefaultReferenceName\": \"Vector1_BB0292F7\",\n \"m_OverrideReferenceName\": \"roughnessFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 1.0,\n \"m_FloatType\": 1,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"2447befe-815a-42fa-a48c-0ecec203118c\"\n },\n \"m_Name\": \"Metallic\",\n \"m_DefaultReferenceName\": \"Vector1_94172940\",\n \"m_OverrideReferenceName\": \"metallicFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 1.0,\n \"m_FloatType\": 1,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"7c763b51-7fad-4cea-8cd7-bfc77a4aed10\"\n },\n \"m_Name\": \"Metallic-Roughness Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_479F257E\",\n \"m_OverrideReferenceName\": \"metallicRoughnessTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"edd024e3-d277-4823-8c12-4582fdff9159\"\n },\n \"m_Name\": \"Metallic-Roughness Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_A13B271F\",\n \"m_OverrideReferenceName\": \"metallicRoughnessTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"0927d298-4751-4682-8878-f5be6c79ecc7\"\n },\n \"m_Name\": \"Metallic-Roughness Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_57BB6518\",\n \"m_OverrideReferenceName\": \"metallicRoughnessTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"6835151b-0ad3-4033-8c86-a74b8a496be3\"\n },\n \"m_Name\": \"Metallic-Roughness Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_2D828357\",\n \"m_OverrideReferenceName\": \"metallicRoughnessTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 2,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"1f801b95-1898-44f4-a056-0e179cd2290f\"\n },\n \"m_Name\": \"Emissive\",\n \"m_DefaultReferenceName\": \"Color_DDF6DA04\",\n \"m_OverrideReferenceName\": \"emissiveFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"r\": 0.0,\n \"g\": 0.0,\n \"b\": 0.0,\n \"a\": 1.0\n },\n \"m_ColorMode\": 1\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"26a0e850-f4b7-4172-9e6d-ebd076aa12f4\"\n },\n \"m_Name\": \"Emissive Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_C0C78D41\",\n \"m_OverrideReferenceName\": \"emissiveTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"9223fc2e-3af8-4f3d-a057-c3b8ecb242c1\"\n },\n \"m_Name\": \"Emissive Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_C8198B5B\",\n \"m_OverrideReferenceName\": \"emissiveTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"3808eaeb-c1f8-485f-b720-85471cde6242\"\n },\n \"m_Name\": \"Emissive Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_54BDA678\",\n \"m_OverrideReferenceName\": \"emissiveTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"9ab25cb0-4bd2-45f1-8acb-ef46abdfa351\"\n },\n \"m_Name\": \"Emissive Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_F1273740\",\n \"m_OverrideReferenceName\": \"emissiveTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 2,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"7b92f262-febd-4fdf-89f4-2f0dbbe3c19e\"\n },\n \"m_Name\": \"Alpha Cutoff\",\n \"m_DefaultReferenceName\": \"Vector1_C94E19E6\",\n \"m_OverrideReferenceName\": \"alphaCutoff\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.5,\n \"m_FloatType\": 1,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"f0dfb027-3e52-40a5-b171-01559413a441\"\n },\n \"m_Name\": \"Transmission\",\n \"m_DefaultReferenceName\": \"Vector1_6C699411\",\n \"m_OverrideReferenceName\": \"transmissionFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 1,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"08767d44-e7a8-4cda-b622-26dad8d76294\"\n },\n \"m_Name\": \"Transmission Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_A7190678\",\n \"m_OverrideReferenceName\": \"transmissionTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"3aabcffc-00d9-4efe-9e69-67938b3ffa7d\"\n },\n \"m_Name\": \"Transmission Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_5B6874EF\",\n \"m_OverrideReferenceName\": \"transmissionTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"5433a3c9-309c-42c0-b640-b7e86dd218ef\"\n },\n \"m_Name\": \"Transmission Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_4292995A\",\n \"m_OverrideReferenceName\": \"transmissionTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"34e75300-771a-499f-a5dd-d1e2ca2aee7b\"\n },\n \"m_Name\": \"Transmission Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_F2F974A8\",\n \"m_OverrideReferenceName\": \"transmissionTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 2,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - } - ], - "m_SerializedKeywords": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.ShaderKeyword" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"a7d905c3-7492-4341-bcc1-99dd0b856891\"\n },\n \"m_Name\": \"EMISSIVE\",\n \"m_DefaultReferenceName\": \"BOOLEAN_81A09341_ON\",\n \"m_OverrideReferenceName\": \"_EMISSIVE\",\n \"m_GeneratePropertyBlock\": true,\n \"m_KeywordType\": 0,\n \"m_KeywordDefinition\": 0,\n \"m_KeywordScope\": 0,\n \"m_Entries\": [],\n \"m_Value\": 0,\n \"m_IsEditable\": true,\n \"m_IsExposable\": true\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.ShaderKeyword" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"4bdd5ce6-07d2-407c-8a17-dc0d8fa64973\"\n },\n \"m_Name\": \"OCCLUSION\",\n \"m_DefaultReferenceName\": \"BOOLEAN_90C144E9_ON\",\n \"m_OverrideReferenceName\": \"_OCCLUSION\",\n \"m_GeneratePropertyBlock\": true,\n \"m_KeywordType\": 0,\n \"m_KeywordDefinition\": 0,\n \"m_KeywordScope\": 0,\n \"m_Entries\": [],\n \"m_Value\": 0,\n \"m_IsEditable\": true,\n \"m_IsExposable\": true\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.ShaderKeyword" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"d566e1b8-822d-4ece-a287-59ddc56da7f0\"\n },\n \"m_Name\": \"TEXTURE_TRANSFORM\",\n \"m_DefaultReferenceName\": \"BOOLEAN_26997A09_ON\",\n \"m_OverrideReferenceName\": \"_TEXTURE_TRANSFORM\",\n \"m_GeneratePropertyBlock\": true,\n \"m_KeywordType\": 0,\n \"m_KeywordDefinition\": 0,\n \"m_KeywordScope\": 0,\n \"m_Entries\": [],\n \"m_Value\": 0,\n \"m_IsEditable\": true,\n \"m_IsExposable\": true\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.ShaderKeyword" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"98994392-8a82-4472-9945-286d359740ed\"\n },\n \"m_Name\": \"TRANSMISSION\",\n \"m_DefaultReferenceName\": \"BOOLEAN_AE14E760_ON\",\n \"m_OverrideReferenceName\": \"_TRANSMISSION\",\n \"m_GeneratePropertyBlock\": true,\n \"m_KeywordType\": 0,\n \"m_KeywordDefinition\": 0,\n \"m_KeywordScope\": 0,\n \"m_Entries\": [],\n \"m_Value\": 0,\n \"m_IsEditable\": true,\n \"m_IsExposable\": true\n}" - } - ], - "m_SerializableNodes": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"c3a2f30b-2332-45df-ab3c-9fd061527cc6\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -66.0,\n \"y\": 611.0,\n \"width\": 225.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Metallic-Roughness Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"7c763b51-7fad-4cea-8cd7-bfc77a4aed10\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"18922adc-3efa-4c2e-9faa-ce5a585d4657\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -66.0,\n \"y\": 488.0,\n \"width\": 178.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 2,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"06d6e0d3-a210-4065-af02-38a543a20066\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.UVNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"18246a20-8752-4459-8c75-2818fc4af4f3\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"UV\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 58.00006866455078,\n \"y\": 742.0,\n \"width\": 145.0,\n \"height\": 129.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_OutputChannel\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"d96b2bad-447c-4001-bc02-75edd93ac03a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -66.0,\n \"y\": 550.0,\n \"width\": 216.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"8c960e31-f89f-41e6-958a-5a8561a5d8c4\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"ff8e6a70-685e-40e3-bd9a-1253d36a963f\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -66.0,\n \"y\": 458.0,\n \"width\": 163.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 2,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"7f4f45f2-b62a-4732-893b-0d7ab9ce6986\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PBRMasterNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"PBR Master\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 1343.0,\n \"y\": 154.00001525878907,\n \"width\": 200.0,\n \"height\": 317.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.PositionMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 9,\\n \\\"m_DisplayName\\\": \\\"Vertex Position\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vertex Position\\\",\\n \\\"m_StageCapability\\\": 1,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.NormalMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 10,\\n \\\"m_DisplayName\\\": \\\"Vertex Normal\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vertex Normal\\\",\\n \\\"m_StageCapability\\\": 1,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.TangentMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 11,\\n \\\"m_DisplayName\\\": \\\"Vertex Tangent\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vertex Tangent\\\",\\n \\\"m_StageCapability\\\": 1,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.ColorRGBMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Albedo\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Albedo\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.7353569269180298,\\n \\\"y\\\": 0.7353569269180298,\\n \\\"z\\\": 0.7353569269180298\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_ColorMode\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.NormalMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Normal\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Normal\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 3\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.ColorRGBMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"Emission\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Emission\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_ColorMode\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"Metallic\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Metallic\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 5,\\n \\\"m_DisplayName\\\": \\\"Smoothness\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Smoothness\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.5,\\n \\\"m_DefaultValue\\\": 0.5,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"Occlusion\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Occlusion\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 1.0,\\n \\\"m_DefaultValue\\\": 1.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"Alpha\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Alpha\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 1.0,\\n \\\"m_DefaultValue\\\": 1.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 8,\\n \\\"m_DisplayName\\\": \\\"AlphaClipThreshold\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"AlphaClipThreshold\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_DOTSInstancing\": false,\n \"m_SerializableSubShaders\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.Rendering.Universal.UniversalPBRSubShader\"\n },\n \"JSONnodeData\": \"{}\"\n }\n ],\n \"m_ShaderGUIOverride\": \"\",\n \"m_OverrideEnabled\": false,\n \"m_Model\": 1,\n \"m_SurfaceType\": 1,\n \"m_AlphaMode\": 0,\n \"m_TwoSided\": true,\n \"m_NormalDropOffSpace\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"53e5c6cc-7887-4ad6-98e7-2dfd426d06bb\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -66.0,\n \"y\": 519.0,\n \"width\": 190.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"50cc2671-e469-49b3-804d-a1b67f32fe59\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"f4afe522-baf9-432a-82b7-b7de3d32c6d1\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -67.0,\n \"y\": 254.0,\n \"width\": 154.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"1f801b95-1898-44f4-a056-0e179cd2290f\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"ff47ecaa-c17b-4f81-8687-1b8c109dc638\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -67.0,\n \"y\": 283.0,\n \"width\": 170.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"26a0e850-f4b7-4172-9e6d-ebd076aa12f4\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"0b2b92be-0f00-45ce-8d47-0ccc16547e14\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -66.0,\n \"y\": 225.0,\n \"width\": 141.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Scale\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"0f8451d3-f402-45f1-80a0-90c8cfc3c5a1\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"33113907-91a6-4f77-bbdb-4c5daa97af8f\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -65.0,\n \"y\": 113.0,\n \"width\": 163.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"290855a3-663b-4b44-871b-434a544fd001\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"04a8b3b8-020e-472c-a9ee-37228c27956a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 1171.0001220703125,\n \"y\": 436.00006103515627,\n \"width\": 136.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Alpha Cutoff\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"7b92f262-febd-4fdf-89f4-2f0dbbe3c19e\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"1f6ca554-5311-49be-b211-bca780fc33da\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -65.0,\n \"y\": -23.0,\n \"width\": 172.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Strength\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"10d76b91-eaaf-4eb7-8331-d7e8f7615734\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"65be6b0d-29f0-491a-b7a4-b94380ec2094\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -66.0,\n \"y\": 428.0,\n \"width\": 152.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Metallic\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"2447befe-815a-42fa-a48c-0ecec203118c\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"15adefed-fe51-4a61-9f73-45fed5bc2961\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -67.0,\n \"y\": 398.0,\n \"width\": 139.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Roughness\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"9dba0444-5255-46c6-b45b-d7758fb87c92\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"PBR_metallic_roughness_Legacy\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 294.0001220703125,\n \"y\": 40.9999885559082,\n \"width\": 351.0,\n \"height\": 566.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -93992038,\\n \\\"m_DisplayName\\\": \\\"occlusionStrength\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_57266306\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1176174230,\\n \\\"m_DisplayName\\\": \\\"occlusionTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_36068458\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1329966883,\\n \\\"m_DisplayName\\\": \\\"occlusionTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_D95F09CC\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 786133705,\\n \\\"m_DisplayName\\\": \\\"occlusionTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_47B0896F\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -210516650,\\n \\\"m_DisplayName\\\": \\\"occlusionTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_14EEF9A9\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -170433253,\\n \\\"m_DisplayName\\\": \\\"normalTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_B4A7F700\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1159867161,\\n \\\"m_DisplayName\\\": \\\"normalTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_5C7F3701\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -429140327,\\n \\\"m_DisplayName\\\": \\\"normalTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_C39E4CD1\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -481750681,\\n \\\"m_DisplayName\\\": \\\"normalTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_88C78C57\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1763326587,\\n \\\"m_DisplayName\\\": \\\"normalScale\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_345B830B\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 366981793,\\n \\\"m_DisplayName\\\": \\\"emissiveFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector3_E344F397\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 129475646,\\n \\\"m_DisplayName\\\": \\\"emissiveTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_8F96C631\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1448742966,\\n \\\"m_DisplayName\\\": \\\"emissionTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_44D9BB81\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -797345333,\\n \\\"m_DisplayName\\\": \\\"emissionTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_C7C6C37D\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1882888430,\\n \\\"m_DisplayName\\\": \\\"emissionTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_DB36ED60\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1788256886,\\n \\\"m_DisplayName\\\": \\\"roughnessFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_B9A549A5\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1324895555,\\n \\\"m_DisplayName\\\": \\\"metallicFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_6633F151\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1438624126,\\n \\\"m_DisplayName\\\": \\\"baseColorFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_8743F3C3\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1050676157,\\n \\\"m_DisplayName\\\": \\\"baseColorTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_EBF077FA\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 921423784,\\n \\\"m_DisplayName\\\": \\\"baseColorTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_6F4A9DFD\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 76898838,\\n \\\"m_DisplayName\\\": \\\"baseColorTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_FE260CB0\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1997650031,\\n \\\"m_DisplayName\\\": \\\"baseColorTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_813EE33E\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -908648287,\\n \\\"m_DisplayName\\\": \\\"metallicRoughnessTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_2BD19CD4\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -373963592,\\n \\\"m_DisplayName\\\": \\\"metallicRoughnessTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_A391227B\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1343882601,\\n \\\"m_DisplayName\\\": \\\"metallicRoughnessTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_EE89C726\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1531592597,\\n \\\"m_DisplayName\\\": \\\"metallicRoughnessTextureTexCoord\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_7FA59A3E\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -2033327270,\\n \\\"m_DisplayName\\\": \\\"UV0\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_B59C246\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -745315628,\\n \\\"m_DisplayName\\\": \\\"UV1\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_2B3B3D76\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"Albedo\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Albedo\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"Normal\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Normal\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"Emission\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Emission\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"Metallic\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Metallic\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 5,\\n \\\"m_DisplayName\\\": \\\"Smoothness\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Smoothness\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Occlusion\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Occlusion\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"Alpha\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Alpha\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 8,\\n \\\"m_DisplayName\\\": \\\"baseColorUV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"baseColorUV\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_SerializedSubGraph\": \"{\\n \\\"subGraph\\\": {\\n \\\"fileID\\\": -5475051401550479605,\\n \\\"guid\\\": \\\"1610512b96f344c11bf850c044c1b5c7\\\",\\n \\\"type\\\": 3\\n }\\n}\",\n \"m_PropertyGuids\": [\n \"2a4c85c6-a729-4e82-81d3-77ec259c58de\",\n \"e85226d9-1785-431c-b779-0a31a91295de\",\n \"d7da8a92-273f-4f7b-ae2c-668b7e04a26c\",\n \"189b1fbb-ef98-4483-a2a6-74653e7265ad\",\n \"18c8e2c1-767f-46e3-90f7-6938c8c9891c\",\n \"1aa9ec50-0e3f-4e77-81b7-7ed5cd0d7c51\",\n \"0091f9d7-7596-4b86-86b3-c45dc2f579ec\",\n \"23b11ff4-3af1-4945-9c4b-b3b499bdfa33\",\n \"1535492a-2795-428c-a7a8-0c963bc80c1b\",\n \"380b6046-ffdc-407c-aab5-0e62237b3e9b\",\n \"349829b0-a90d-4b44-bf38-99916345bde2\",\n \"77ff8161-3714-4ef8-8885-767db25a0931\",\n \"1c7d931e-ae67-4dbe-910f-950e7f631636\",\n \"34d7ae95-a71a-4dea-b2b5-15f8e886e625\",\n \"8029fa63-8af6-4814-8886-1f788280d2d6\",\n \"7be3bd36-f1f9-4365-99db-cc9af66a0ec5\",\n \"850c1957-79b6-494b-aed1-4c867151a8c1\",\n \"bb273083-5afc-424d-b84d-cf153a4b9a07\",\n \"d81e8ca0-466d-494d-9b62-6d822f9394bb\",\n \"1a9c6f38-e9be-441e-b922-b649b889e53f\",\n \"4e8f9afd-37e4-4c1e-8d37-9f7911e3a17a\",\n \"34745e4b-9d3d-4fc3-b755-4abc8212bdef\",\n \"0ac9a86a-306c-478f-96b5-93e2800d182f\",\n \"f2303c84-2349-45d7-86d2-019dd1103298\",\n \"a2532bde-bd96-4c3d-b3f3-90e9b53fb3f1\",\n \"2bf50a80-5b1b-4d86-85c6-f86339dc7f97\",\n \"3ba9818a-881c-45bb-a3ce-5a590d7da089\",\n \"abc4bac7-7e21-4041-9894-7a08dce3a711\",\n \"76c98fda-047c-4f17-ba66-d653df4556a6\",\n \"73d8282d-4f4b-4a00-96f0-ef1c19d5e5f9\"\n ],\n \"m_PropertyIds\": [\n -93992038,\n -170433253,\n -1763326587,\n -2096931947,\n 129475646,\n 1788256886,\n -1324895555,\n -1438624126,\n 1050676157,\n -908648287,\n 76898838,\n 921423784,\n 656072342,\n -2033327270,\n 366981793,\n 1176174230,\n -1329966883,\n 786133705,\n -210516650,\n 1159867161,\n -429140327,\n -481750681,\n -1448742966,\n -797345333,\n -1882888430,\n -1997650031,\n -373963592,\n -1343882601,\n -1531592597,\n -745315628\n ]\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"08e2c531-3e23-4364-989e-7b28e2280efd\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -64.0,\n \"y\": 4.0,\n \"width\": 175.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"9af024c4-f31e-41c9-936a-5007c0b61fb9\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.KeywordNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"b5892207-9605-486e-a562-6b7247e6a0d8\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"TRANSMISSION\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 1101.0001220703125,\n \"y\": 21.000032424926759,\n \"width\": 139.0,\n \"height\": 118.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicVectorMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicVectorMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"On\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"On\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicVectorMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"Off\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Off\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_KeywordGuidSerialized\": \"98994392-8a82-4472-9945-286d359740ed\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"6a497091-2fba-49d9-92b5-c92d3d39816c\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -60.0,\n \"y\": -182.0,\n \"width\": 177.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Transmission\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"f0dfb027-3e52-40a5-b171-01559413a441\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"0bac29fd-b442-4a96-8ccb-86f8d37d6747\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -61.0,\n \"y\": -155.0,\n \"width\": 193.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Transmission Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"08767d44-e7a8-4cda-b622-26dad8d76294\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"b109520f-0225-417b-8173-f0a842245f9c\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"ScreenGrab\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 742.9999389648438,\n \"y\": -84.00000762939453,\n \"width\": 295.0000305175781,\n \"height\": 166.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1442603025,\\n \\\"m_DisplayName\\\": \\\"Albedo\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector3_6B81D22D\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 1.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 120952686,\\n \\\"m_DisplayName\\\": \\\"transmissionFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_F68FE44C\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 109598298,\\n \\\"m_DisplayName\\\": \\\"transmissionTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_746CA73\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1449242513,\\n \\\"m_DisplayName\\\": \\\"transmissionTextureUV\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_49307EBC\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Out_Vector3\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"OutVector3\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_SerializedSubGraph\": \"{\\n \\\"subGraph\\\": {\\n \\\"fileID\\\": -5475051401550479605,\\n \\\"guid\\\": \\\"34bce5e04fd5d474286972968941bb2a\\\",\\n \\\"type\\\": 3\\n }\\n}\",\n \"m_PropertyGuids\": [\n \"22a7d007-eba4-4fe6-b3d7-636c03cc760e\",\n \"6975d6d2-7b40-4103-aceb-154520b5a9bf\",\n \"8c061bba-ea8e-4dfc-9ff3-60bada05801c\",\n \"c7571956-4ec9-4927-ab49-20c14168211e\"\n ],\n \"m_PropertyIds\": [\n -1442603025,\n 120952686,\n 109598298,\n -1449242513\n ]\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.UVNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"12191fb5-40f8-4ca0-89ae-9b874900f2c8\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"UV\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 58.00006866455078,\n \"y\": 870.0000610351563,\n \"width\": 145.0,\n \"height\": 129.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_OutputChannel\": 1\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"695f70d2-4c4a-42ce-b01c-66e0c2a28bee\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -68.0,\n \"y\": 642.0,\n \"width\": 236.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Metallic-Roughness Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"edd024e3-d277-4823-8c12-4582fdff9159\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"781c6af2-906d-48f4-9ef1-3fdc136cb52c\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -68.0,\n \"y\": 672.0,\n \"width\": 263.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Metallic-Roughness Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"0927d298-4751-4682-8878-f5be6c79ecc7\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"7cc464dd-67fe-4a74-9679-a6b09c153280\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -69.0,\n \"y\": 702.0,\n \"width\": 276.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Metallic-Roughness Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"6835151b-0ad3-4033-8c86-a74b8a496be3\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"69b895cd-91dd-45d7-8b9c-946b63f3371a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -66.0,\n \"y\": 581.0,\n \"width\": 229.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"7ea18ce5-73b9-4b07-8f6e-d62cab2b90ec\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"8679cee3-dbc8-41a9-b694-531a11b5aac0\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -68.0,\n \"y\": 312.0,\n \"width\": 181.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"9223fc2e-3af8-4f3d-a057-c3b8ecb242c1\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"3e77eb4e-18bb-4b85-b8a7-5149afc25d1c\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -68.0,\n \"y\": 341.0,\n \"width\": 208.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"3808eaeb-c1f8-485f-b720-85471cde6242\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"41dba6c5-52ca-4e71-94d2-f6640bd1e2e5\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -68.0,\n \"y\": 369.0,\n \"width\": 221.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"9ab25cb0-4bd2-45f1-8acb-ef46abdfa351\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"1b837fda-ef29-40a7-b774-12c6d0c21dff\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -65.0,\n \"y\": 140.0,\n \"width\": 174.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"f8cc2e99-25ba-4281-9185-2ac913de2fec\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"3b7dadcf-be33-485f-b13c-650b32eef1bc\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -65.0,\n \"y\": 168.0,\n \"width\": 201.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"a16b4778-0d05-4f2c-a036-74e3a2572672\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"be4d246a-6ce1-47b0-b47f-becfe7ad2163\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -65.0,\n \"y\": 196.0,\n \"width\": 214.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"df69bcd3-003f-490e-bce5-0c08dc8b16e5\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"900f0938-3497-48da-8917-d26835d3ba07\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -64.0,\n \"y\": 32.0,\n \"width\": 187.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"7a3462d3-a575-44a7-b697-dde25280965f\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"035b5c17-8c19-4c29-b1e1-90529be46381\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -64.0,\n \"y\": 59.0,\n \"width\": 213.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"26fc42ae-fd43-43a4-a2e9-ca11370f729d\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"e8832c39-f812-47cf-a5ec-7ff7e888253c\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -65.0,\n \"y\": 86.0,\n \"width\": 226.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"aa063099-631d-478c-97f8-1f4f51b3d678\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"ae9736a1-b90e-4945-9e76-734096136544\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -63.0,\n \"y\": -125.0,\n \"width\": 205.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Transmission Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"3aabcffc-00d9-4efe-9e69-67938b3ffa7d\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"a370fb23-c711-4b5e-bd8e-9f610747b4bf\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -63.0,\n \"y\": -97.0,\n \"width\": 231.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Transmission Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"5433a3c9-309c-42c0-b640-b7e86dd218ef\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"61489c4f-e064-4ecb-a3a3-bc7a6c92c742\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -63.0,\n \"y\": -69.0,\n \"width\": 244.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Transmission Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"34e75300-771a-499f-a5dd-d1e2ca2aee7b\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"2e3cedae-5c72-484d-ad7a-1638b8d01b72\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"TextureTransform\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 404.9999694824219,\n \"y\": -151.99998474121095,\n \"width\": 253.0,\n \"height\": 189.99998474121095\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1621662722,\\n \\\"m_DisplayName\\\": \\\"textureST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_27C8CB01\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1453510346,\\n \\\"m_DisplayName\\\": \\\"textureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_55C5D8D5\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 687816062,\\n \\\"m_DisplayName\\\": \\\"UVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_192DCE9E\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 316563527,\\n \\\"m_DisplayName\\\": \\\"UV0\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_3C6B3DF8\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1403022609,\\n \\\"m_DisplayName\\\": \\\"UV1\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_97FB8726\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Out_Vector2\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"OutVector2\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_SerializedSubGraph\": \"{\\n \\\"subGraph\\\": {\\n \\\"fileID\\\": -5475051401550479605,\\n \\\"guid\\\": \\\"9a44a43ef44bd4a9dbc883ebde01cc72\\\",\\n \\\"type\\\": 3\\n }\\n}\",\n \"m_PropertyGuids\": [\n \"29612dd4-4736-4e38-b443-f14dca3e5a12\",\n \"04e280fa-2040-4e5b-8061-7203ec63836b\",\n \"7e1522b9-a8cb-42cd-959e-c421a5fabf33\",\n \"29a22b7f-e502-46e1-95c2-9febc2334c8f\",\n \"515e7228-12a1-4ff0-bd06-6beac202bea6\"\n ],\n \"m_PropertyIds\": [\n -1621662722,\n 1453510346,\n 316563527,\n 1403022609,\n 687816062\n ]\n}" - } - ], - "m_Groups": [], - "m_StickyNotes": [], - "m_SerializableEdges": [ - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"04a8b3b8-020e-472c-a9ee-37228c27956a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 8,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"1f6ca554-5311-49be-b211-bca780fc33da\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -93992038,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"33113907-91a6-4f77-bbdb-4c5daa97af8f\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -170433253,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"0b2b92be-0f00-45ce-8d47-0ccc16547e14\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1763326587,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"ff47ecaa-c17b-4f81-8687-1b8c109dc638\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 129475646,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"15adefed-fe51-4a61-9f73-45fed5bc2961\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1788256886,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"65be6b0d-29f0-491a-b7a4-b94380ec2094\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1324895555,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"ff8e6a70-685e-40e3-bd9a-1253d36a963f\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1438624126,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"18922adc-3efa-4c2e-9faa-ce5a585d4657\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1050676157,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"c3a2f30b-2332-45df-ab3c-9fd061527cc6\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -908648287,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"d96b2bad-447c-4001-bc02-75edd93ac03a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 76898838,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"53e5c6cc-7887-4ad6-98e7-2dfd426d06bb\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 921423784,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 6,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 3,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 4,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 4,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 5,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 5,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 7,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 7,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"18246a20-8752-4459-8c75-2818fc4af4f3\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -2033327270,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"f4afe522-baf9-432a-82b7-b7de3d32c6d1\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 366981793,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"08e2c531-3e23-4364-989e-7b28e2280efd\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1176174230,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 6,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"b5892207-9605-486e-a562-6b7247e6a0d8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"6a497091-2fba-49d9-92b5-c92d3d39816c\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 120952686,\n \"m_NodeGUIDSerialized\": \"b109520f-0225-417b-8173-f0a842245f9c\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"0bac29fd-b442-4a96-8ccb-86f8d37d6747\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 109598298,\n \"m_NodeGUIDSerialized\": \"b109520f-0225-417b-8173-f0a842245f9c\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 6,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1442603025,\n \"m_NodeGUIDSerialized\": \"b109520f-0225-417b-8173-f0a842245f9c\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"b109520f-0225-417b-8173-f0a842245f9c\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"b5892207-9605-486e-a562-6b7247e6a0d8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"b5892207-9605-486e-a562-6b7247e6a0d8\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"12191fb5-40f8-4ca0-89ae-9b874900f2c8\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -745315628,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"7cc464dd-67fe-4a74-9679-a6b09c153280\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1531592597,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"781c6af2-906d-48f4-9ef1-3fdc136cb52c\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1343882601,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"695f70d2-4c4a-42ce-b01c-66e0c2a28bee\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -373963592,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"69b895cd-91dd-45d7-8b9c-946b63f3371a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1997650031,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"41dba6c5-52ca-4e71-94d2-f6640bd1e2e5\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1882888430,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"3e77eb4e-18bb-4b85-b8a7-5149afc25d1c\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -797345333,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"8679cee3-dbc8-41a9-b694-531a11b5aac0\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1448742966,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"be4d246a-6ce1-47b0-b47f-becfe7ad2163\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -481750681,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"3b7dadcf-be33-485f-b13c-650b32eef1bc\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -429140327,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"1b837fda-ef29-40a7-b774-12c6d0c21dff\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1159867161,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"e8832c39-f812-47cf-a5ec-7ff7e888253c\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -210516650,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"035b5c17-8c19-4c29-b1e1-90529be46381\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 786133705,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"900f0938-3497-48da-8917-d26835d3ba07\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1329966883,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"18246a20-8752-4459-8c75-2818fc4af4f3\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 316563527,\n \"m_NodeGUIDSerialized\": \"2e3cedae-5c72-484d-ad7a-1638b8d01b72\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"12191fb5-40f8-4ca0-89ae-9b874900f2c8\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1403022609,\n \"m_NodeGUIDSerialized\": \"2e3cedae-5c72-484d-ad7a-1638b8d01b72\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"2e3cedae-5c72-484d-ad7a-1638b8d01b72\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1449242513,\n \"m_NodeGUIDSerialized\": \"b109520f-0225-417b-8173-f0a842245f9c\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"ae9736a1-b90e-4945-9e76-734096136544\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1621662722,\n \"m_NodeGUIDSerialized\": \"2e3cedae-5c72-484d-ad7a-1638b8d01b72\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"a370fb23-c711-4b5e-bd8e-9f610747b4bf\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1453510346,\n \"m_NodeGUIDSerialized\": \"2e3cedae-5c72-484d-ad7a-1638b8d01b72\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"61489c4f-e064-4ecb-a3a3-bc7a6c92c742\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 687816062,\n \"m_NodeGUIDSerialized\": \"2e3cedae-5c72-484d-ad7a-1638b8d01b72\"\n }\n}" - } - ], - "m_PreviewData": { - "serializedMesh": { - "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", - "m_Guid": "" - } - }, - "m_Path": "Shader Graphs", - "m_ConcretePrecision": 0, - "m_ActiveOutputNodeGuidSerialized": "e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8" -} \ No newline at end of file diff --git a/Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Blend-double.shadergraph.meta b/Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Blend-double.shadergraph.meta deleted file mode 100644 index 528dbbcd8..000000000 --- a/Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Blend-double.shadergraph.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: c9ba521fe23b44d6db1017a2d9d47a17 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Blend.shadergraph b/Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Blend.shadergraph deleted file mode 100644 index a0923d3ac..000000000 --- a/Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Blend.shadergraph +++ /dev/null @@ -1,753 +0,0 @@ -{ - "m_SerializedProperties": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"7f4f45f2-b62a-4732-893b-0d7ab9ce6986\"\n },\n \"m_Name\": \"Base Color\",\n \"m_DefaultReferenceName\": \"Color_A53D4B2B\",\n \"m_OverrideReferenceName\": \"baseColorFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 2,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"r\": 1.0,\n \"g\": 1.0,\n \"b\": 1.0,\n \"a\": 1.0\n },\n \"m_ColorMode\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"06d6e0d3-a210-4065-af02-38a543a20066\"\n },\n \"m_Name\": \"Base Color Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_3270778E\",\n \"m_OverrideReferenceName\": \"baseColorTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 2,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"50cc2671-e469-49b3-804d-a1b67f32fe59\"\n },\n \"m_Name\": \"Base Color Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_6585E8BA\",\n \"m_OverrideReferenceName\": \"baseColorTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"8c960e31-f89f-41e6-958a-5a8561a5d8c4\"\n },\n \"m_Name\": \"Base Color Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_DC752BB\",\n \"m_OverrideReferenceName\": \"baseColorTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"c8a715e2-64fb-48b5-8ffa-57023a47f0a8\"\n },\n \"m_Name\": \"Base Color Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_B39A1DB5\",\n \"m_OverrideReferenceName\": \"baseColorTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 2,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"290855a3-663b-4b44-871b-434a544fd001\"\n },\n \"m_Name\": \"Normal Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_4207825D\",\n \"m_OverrideReferenceName\": \"normalTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 3\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"360d2e87-45b9-4f0b-a738-5a9c32383c19\"\n },\n \"m_Name\": \"Normal Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_1026C5EC\",\n \"m_OverrideReferenceName\": \"normalTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"1a8b64a4-8833-4987-85ff-72c1f0fa7bf5\"\n },\n \"m_Name\": \"Normal Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_88E4A509\",\n \"m_OverrideReferenceName\": \"normalTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"4f288fac-b27b-432a-be22-5ec2a5869131\"\n },\n \"m_Name\": \"Normal Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_9B57DB7A\",\n \"m_OverrideReferenceName\": \"normalTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 2,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"0f8451d3-f402-45f1-80a0-90c8cfc3c5a1\"\n },\n \"m_Name\": \"Normal Scale\",\n \"m_DefaultReferenceName\": \"Vector1_97BB6A5\",\n \"m_OverrideReferenceName\": \"normalTexture_scale\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 1.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"10d76b91-eaaf-4eb7-8331-d7e8f7615734\"\n },\n \"m_Name\": \"Occlusion Strength\",\n \"m_DefaultReferenceName\": \"Vector1_DDDD754\",\n \"m_OverrideReferenceName\": \"occlusionTexture_strength\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 1.0,\n \"m_FloatType\": 1,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"8e2bf8f5-c63a-4499-838d-4d8264e31925\"\n },\n \"m_Name\": \"Occlusion Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_1970B80F\",\n \"m_OverrideReferenceName\": \"occlusionTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"25ab9c7b-45e7-4b69-89fc-b35b42f191c1\"\n },\n \"m_Name\": \"Occlusion Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_940F52F6\",\n \"m_OverrideReferenceName\": \"occlusionTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"41f3b17d-d607-4be1-95f1-b8a25d1fb9eb\"\n },\n \"m_Name\": \"Occlusion Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_C4678F6A\",\n \"m_OverrideReferenceName\": \"occlusionTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"439130e7-e216-45b3-8862-d99934ed4898\"\n },\n \"m_Name\": \"Occlusion Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_8D037ED4\",\n \"m_OverrideReferenceName\": \"occlusionTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 2,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"9dba0444-5255-46c6-b45b-d7758fb87c92\"\n },\n \"m_Name\": \"Roughness\",\n \"m_DefaultReferenceName\": \"Vector1_BB0292F7\",\n \"m_OverrideReferenceName\": \"roughnessFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 1.0,\n \"m_FloatType\": 1,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"2447befe-815a-42fa-a48c-0ecec203118c\"\n },\n \"m_Name\": \"Metallic\",\n \"m_DefaultReferenceName\": \"Vector1_94172940\",\n \"m_OverrideReferenceName\": \"metallicFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 1.0,\n \"m_FloatType\": 1,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"7c763b51-7fad-4cea-8cd7-bfc77a4aed10\"\n },\n \"m_Name\": \"Metallic-Roughness Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_479F257E\",\n \"m_OverrideReferenceName\": \"metallicRoughnessTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"1f801b95-1898-44f4-a056-0e179cd2290f\"\n },\n \"m_Name\": \"Emissive\",\n \"m_DefaultReferenceName\": \"Color_DDF6DA04\",\n \"m_OverrideReferenceName\": \"emissiveFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"r\": 0.0,\n \"g\": 0.0,\n \"b\": 0.0,\n \"a\": 1.0\n },\n \"m_ColorMode\": 1\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"26a0e850-f4b7-4172-9e6d-ebd076aa12f4\"\n },\n \"m_Name\": \"Emissive Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_C0C78D41\",\n \"m_OverrideReferenceName\": \"emissiveTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"8069d191-b10c-471b-a5ae-16384ca90940\"\n },\n \"m_Name\": \"Emissive Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_D4B2115\",\n \"m_OverrideReferenceName\": \"emissiveTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"13676fba-23e4-49ad-b70f-e250be354ef7\"\n },\n \"m_Name\": \"Emissive Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_5E599E6C\",\n \"m_OverrideReferenceName\": \"emissiveTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"33b9a84b-9570-4047-9289-51059a70df4b\"\n },\n \"m_Name\": \"Emissive Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_BD91F85\",\n \"m_OverrideReferenceName\": \"emissiveTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 2,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"7b92f262-febd-4fdf-89f4-2f0dbbe3c19e\"\n },\n \"m_Name\": \"Alpha Cutoff\",\n \"m_DefaultReferenceName\": \"Vector1_C94E19E6\",\n \"m_OverrideReferenceName\": \"alphaCutoff\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.5,\n \"m_FloatType\": 1,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"12e86959-b673-4cfd-b371-daed8dd361c8\"\n },\n \"m_Name\": \"Transmission\",\n \"m_DefaultReferenceName\": \"Vector1_C52952F7\",\n \"m_OverrideReferenceName\": \"transmissionFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 1,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"6bdc614e-f8d1-4b57-bdc1-1b40d954bddc\"\n },\n \"m_Name\": \"Transmission Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_85C35B6A\",\n \"m_OverrideReferenceName\": \"transmissionTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"05680c68-3cd8-4b90-bcbe-12ba1c9b423b\"\n },\n \"m_Name\": \"Metallic-Roughness Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_DF78EF67\",\n \"m_OverrideReferenceName\": \"metallicRoughnessTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"d06c6686-2733-4c68-8a54-e0cc5bfd6267\"\n },\n \"m_Name\": \"Metallic-Roughness Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_4CC98AB6\",\n \"m_OverrideReferenceName\": \"metallicRoughnessTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"2be30ff7-0532-4d6f-aa64-44667cd90e1f\"\n },\n \"m_Name\": \"Metallic-Roughness Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_7C7A42F\",\n \"m_OverrideReferenceName\": \"metallicRoughnessTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 2,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"d7ca41c1-9247-452d-9bee-e2ac31f4517a\"\n },\n \"m_Name\": \"Transmission Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_4C910B51\",\n \"m_OverrideReferenceName\": \"transmissionTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"78b0a0a2-de38-47ee-afcc-82765be9e7e4\"\n },\n \"m_Name\": \"Transmission Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_B5C54546\",\n \"m_OverrideReferenceName\": \"transmissionTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"8bc7cc3f-ab25-49c5-917e-dc27f7e7edae\"\n },\n \"m_Name\": \"Transmission Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_44E3EC43\",\n \"m_OverrideReferenceName\": \"transmissionTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - } - ], - "m_SerializedKeywords": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.ShaderKeyword" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"a7d905c3-7492-4341-bcc1-99dd0b856891\"\n },\n \"m_Name\": \"EMISSIVE\",\n \"m_DefaultReferenceName\": \"BOOLEAN_81A09341_ON\",\n \"m_OverrideReferenceName\": \"_EMISSIVE\",\n \"m_GeneratePropertyBlock\": true,\n \"m_KeywordType\": 0,\n \"m_KeywordDefinition\": 0,\n \"m_KeywordScope\": 0,\n \"m_Entries\": [],\n \"m_Value\": 0,\n \"m_IsEditable\": true,\n \"m_IsExposable\": true\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.ShaderKeyword" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"4bdd5ce6-07d2-407c-8a17-dc0d8fa64973\"\n },\n \"m_Name\": \"OCCLUSION\",\n \"m_DefaultReferenceName\": \"BOOLEAN_90C144E9_ON\",\n \"m_OverrideReferenceName\": \"_OCCLUSION\",\n \"m_GeneratePropertyBlock\": true,\n \"m_KeywordType\": 0,\n \"m_KeywordDefinition\": 0,\n \"m_KeywordScope\": 0,\n \"m_Entries\": [],\n \"m_Value\": 0,\n \"m_IsEditable\": true,\n \"m_IsExposable\": true\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.ShaderKeyword" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"491a1517-580c-4293-944c-c710404646f2\"\n },\n \"m_Name\": \"TEXTURE_TRANSFORM\",\n \"m_DefaultReferenceName\": \"BOOLEAN_3B0ECFED_ON\",\n \"m_OverrideReferenceName\": \"_TEXTURE_TRANSFORM\",\n \"m_GeneratePropertyBlock\": true,\n \"m_KeywordType\": 0,\n \"m_KeywordDefinition\": 0,\n \"m_KeywordScope\": 1,\n \"m_Entries\": [],\n \"m_Value\": 0,\n \"m_IsEditable\": true,\n \"m_IsExposable\": true\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.ShaderKeyword" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"4843cc8f-4cfc-4e50-88ea-f314d6fb7638\"\n },\n \"m_Name\": \"TRANSMISSION\",\n \"m_DefaultReferenceName\": \"BOOLEAN_88C07532_ON\",\n \"m_OverrideReferenceName\": \"_TRANSMISSION\",\n \"m_GeneratePropertyBlock\": true,\n \"m_KeywordType\": 0,\n \"m_KeywordDefinition\": 0,\n \"m_KeywordScope\": 0,\n \"m_Entries\": [],\n \"m_Value\": 0,\n \"m_IsEditable\": true,\n \"m_IsExposable\": true\n}" - } - ], - "m_SerializableNodes": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.KeywordNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"d3f14116-5872-4b22-8632-eb02db55bbba\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"TRANSMISSION\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 1108.0,\n \"y\": -116.99996948242188,\n \"width\": 208.0,\n \"height\": 302.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicVectorMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicVectorMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"On\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"On\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicVectorMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"Off\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Off\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_KeywordGuidSerialized\": \"4843cc8f-4cfc-4e50-88ea-f314d6fb7638\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"0202a3df-9736-4d7e-9de9-397cab28522e\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -47.0,\n \"y\": -217.0,\n \"width\": 193.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Transmission Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"6bdc614e-f8d1-4b57-bdc1-1b40d954bddc\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"620357ed-013a-491e-b4c8-ba8a3d79cb85\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -47.0,\n \"y\": -252.0,\n \"width\": 178.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Transmission\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"12e86959-b673-4cfd-b371-daed8dd361c8\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"73ef09f8-cbf8-43a7-9dfc-2fe92e972914\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"ScreenGrab\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 724.0,\n \"y\": -232.0,\n \"width\": 292.0,\n \"height\": 166.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1442603025,\\n \\\"m_DisplayName\\\": \\\"Albedo\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector3_6B81D22D\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 1.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 120952686,\\n \\\"m_DisplayName\\\": \\\"transmissionFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_F68FE44C\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 109598298,\\n \\\"m_DisplayName\\\": \\\"transmissionTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_746CA73\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1449242513,\\n \\\"m_DisplayName\\\": \\\"transmissionTextureUV\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_49307EBC\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Out_Vector3\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"OutVector3\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_SerializedSubGraph\": \"{\\n \\\"subGraph\\\": {\\n \\\"fileID\\\": -5475051401550479605,\\n \\\"guid\\\": \\\"34bce5e04fd5d474286972968941bb2a\\\",\\n \\\"type\\\": 3\\n }\\n}\",\n \"m_PropertyGuids\": [\n \"22a7d007-eba4-4fe6-b3d7-636c03cc760e\",\n \"6975d6d2-7b40-4103-aceb-154520b5a9bf\",\n \"8c061bba-ea8e-4dfc-9ff3-60bada05801c\",\n \"c7571956-4ec9-4927-ab49-20c14168211e\"\n ],\n \"m_PropertyIds\": [\n -1442603025,\n 120952686,\n 109598298,\n -1449242513\n ]\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"b9d12c80-0898-4bf9-9456-0659a03d4f29\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -48.0000114440918,\n \"y\": 31.000003814697267,\n \"width\": 175.00001525878907,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"8e2bf8f5-c63a-4499-838d-4d8264e31925\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"PBR_metallic_roughness_Legacy\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 294.0001220703125,\n \"y\": 40.9999885559082,\n \"width\": 351.0,\n \"height\": 566.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -93992038,\\n \\\"m_DisplayName\\\": \\\"occlusionStrength\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_57266306\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1176174230,\\n \\\"m_DisplayName\\\": \\\"occlusionTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_36068458\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1329966883,\\n \\\"m_DisplayName\\\": \\\"occlusionTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_D95F09CC\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 786133705,\\n \\\"m_DisplayName\\\": \\\"occlusionTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_47B0896F\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -210516650,\\n \\\"m_DisplayName\\\": \\\"occlusionTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_14EEF9A9\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -170433253,\\n \\\"m_DisplayName\\\": \\\"normalTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_B4A7F700\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1159867161,\\n \\\"m_DisplayName\\\": \\\"normalTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_5C7F3701\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -429140327,\\n \\\"m_DisplayName\\\": \\\"normalTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_C39E4CD1\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -481750681,\\n \\\"m_DisplayName\\\": \\\"normalTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_88C78C57\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1763326587,\\n \\\"m_DisplayName\\\": \\\"normalScale\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_345B830B\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 366981793,\\n \\\"m_DisplayName\\\": \\\"emissiveFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector3_E344F397\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 129475646,\\n \\\"m_DisplayName\\\": \\\"emissiveTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_8F96C631\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1448742966,\\n \\\"m_DisplayName\\\": \\\"emissionTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_44D9BB81\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -797345333,\\n \\\"m_DisplayName\\\": \\\"emissionTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_C7C6C37D\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1882888430,\\n \\\"m_DisplayName\\\": \\\"emissionTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_DB36ED60\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1788256886,\\n \\\"m_DisplayName\\\": \\\"roughnessFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_B9A549A5\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1324895555,\\n \\\"m_DisplayName\\\": \\\"metallicFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_6633F151\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1438624126,\\n \\\"m_DisplayName\\\": \\\"baseColorFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_8743F3C3\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1050676157,\\n \\\"m_DisplayName\\\": \\\"baseColorTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_EBF077FA\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 921423784,\\n \\\"m_DisplayName\\\": \\\"baseColorTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_6F4A9DFD\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 76898838,\\n \\\"m_DisplayName\\\": \\\"baseColorTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_FE260CB0\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1997650031,\\n \\\"m_DisplayName\\\": \\\"baseColorTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_813EE33E\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -908648287,\\n \\\"m_DisplayName\\\": \\\"metallicRoughnessTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_2BD19CD4\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -373963592,\\n \\\"m_DisplayName\\\": \\\"metallicRoughnessTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_A391227B\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1343882601,\\n \\\"m_DisplayName\\\": \\\"metallicRoughnessTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_EE89C726\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1531592597,\\n \\\"m_DisplayName\\\": \\\"metallicRoughnessTextureTexCoord\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_7FA59A3E\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -2033327270,\\n \\\"m_DisplayName\\\": \\\"UV0\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_B59C246\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -745315628,\\n \\\"m_DisplayName\\\": \\\"UV1\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_2B3B3D76\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"Albedo\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Albedo\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"Normal\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Normal\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"Emission\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Emission\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"Metallic\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Metallic\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 5,\\n \\\"m_DisplayName\\\": \\\"Smoothness\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Smoothness\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Occlusion\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Occlusion\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"Alpha\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Alpha\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 8,\\n \\\"m_DisplayName\\\": \\\"baseColorUV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"baseColorUV\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_SerializedSubGraph\": \"{\\n \\\"subGraph\\\": {\\n \\\"fileID\\\": -5475051401550479605,\\n \\\"guid\\\": \\\"1610512b96f344c11bf850c044c1b5c7\\\",\\n \\\"type\\\": 3\\n }\\n}\",\n \"m_PropertyGuids\": [\n \"2a4c85c6-a729-4e82-81d3-77ec259c58de\",\n \"e85226d9-1785-431c-b779-0a31a91295de\",\n \"d7da8a92-273f-4f7b-ae2c-668b7e04a26c\",\n \"189b1fbb-ef98-4483-a2a6-74653e7265ad\",\n \"18c8e2c1-767f-46e3-90f7-6938c8c9891c\",\n \"1aa9ec50-0e3f-4e77-81b7-7ed5cd0d7c51\",\n \"0091f9d7-7596-4b86-86b3-c45dc2f579ec\",\n \"23b11ff4-3af1-4945-9c4b-b3b499bdfa33\",\n \"1535492a-2795-428c-a7a8-0c963bc80c1b\",\n \"380b6046-ffdc-407c-aab5-0e62237b3e9b\",\n \"349829b0-a90d-4b44-bf38-99916345bde2\",\n \"77ff8161-3714-4ef8-8885-767db25a0931\",\n \"1c7d931e-ae67-4dbe-910f-950e7f631636\",\n \"34d7ae95-a71a-4dea-b2b5-15f8e886e625\",\n \"8029fa63-8af6-4814-8886-1f788280d2d6\",\n \"7be3bd36-f1f9-4365-99db-cc9af66a0ec5\",\n \"850c1957-79b6-494b-aed1-4c867151a8c1\",\n \"bb273083-5afc-424d-b84d-cf153a4b9a07\",\n \"d81e8ca0-466d-494d-9b62-6d822f9394bb\",\n \"1a9c6f38-e9be-441e-b922-b649b889e53f\",\n \"4e8f9afd-37e4-4c1e-8d37-9f7911e3a17a\",\n \"34745e4b-9d3d-4fc3-b755-4abc8212bdef\",\n \"0ac9a86a-306c-478f-96b5-93e2800d182f\",\n \"f2303c84-2349-45d7-86d2-019dd1103298\",\n \"a2532bde-bd96-4c3d-b3f3-90e9b53fb3f1\",\n \"2bf50a80-5b1b-4d86-85c6-f86339dc7f97\",\n \"3ba9818a-881c-45bb-a3ce-5a590d7da089\",\n \"abc4bac7-7e21-4041-9894-7a08dce3a711\",\n \"76c98fda-047c-4f17-ba66-d653df4556a6\",\n \"73d8282d-4f4b-4a00-96f0-ef1c19d5e5f9\"\n ],\n \"m_PropertyIds\": [\n -93992038,\n -170433253,\n -1763326587,\n -2096931947,\n 129475646,\n 1788256886,\n -1324895555,\n -1438624126,\n 1050676157,\n -908648287,\n 76898838,\n 921423784,\n 656072342,\n -2033327270,\n 366981793,\n 1176174230,\n -1329966883,\n 786133705,\n -210516650,\n 1159867161,\n -429140327,\n -481750681,\n -1448742966,\n -797345333,\n -1882888430,\n -1997650031,\n -373963592,\n -1343882601,\n -1531592597,\n -745315628\n ]\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"15adefed-fe51-4a61-9f73-45fed5bc2961\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -47.0,\n \"y\": 461.0,\n \"width\": 142.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Roughness\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"9dba0444-5255-46c6-b45b-d7758fb87c92\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"65be6b0d-29f0-491a-b7a4-b94380ec2094\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -47.0,\n \"y\": 491.0,\n \"width\": 153.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Metallic\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"2447befe-815a-42fa-a48c-0ecec203118c\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"1f6ca554-5311-49be-b211-bca780fc33da\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -49.0,\n \"y\": -1.0,\n \"width\": 172.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Strength\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"10d76b91-eaaf-4eb7-8331-d7e8f7615734\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"04a8b3b8-020e-472c-a9ee-37228c27956a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 1647.0001220703125,\n \"y\": 569.0,\n \"width\": 141.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Alpha Cutoff\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"7b92f262-febd-4fdf-89f4-2f0dbbe3c19e\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"33113907-91a6-4f77-bbdb-4c5daa97af8f\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -49.0,\n \"y\": 159.0,\n \"width\": 163.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"290855a3-663b-4b44-871b-434a544fd001\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"0b2b92be-0f00-45ce-8d47-0ccc16547e14\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -46.99996566772461,\n \"y\": 278.0,\n \"width\": 142.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Scale\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"0f8451d3-f402-45f1-80a0-90c8cfc3c5a1\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"ff47ecaa-c17b-4f81-8687-1b8c109dc638\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -49.0,\n \"y\": 344.0,\n \"width\": 170.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"26a0e850-f4b7-4172-9e6d-ebd076aa12f4\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"f4afe522-baf9-432a-82b7-b7de3d32c6d1\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -47.9999885559082,\n \"y\": 315.0,\n \"width\": 155.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"1f801b95-1898-44f4-a056-0e179cd2290f\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"53e5c6cc-7887-4ad6-98e7-2dfd426d06bb\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -48.0,\n \"y\": 580.0,\n \"width\": 191.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"50cc2671-e469-49b3-804d-a1b67f32fe59\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PBRMasterNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"PBR Master\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 1826.0,\n \"y\": 288.0000305175781,\n \"width\": 200.00001525878907,\n \"height\": 317.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.PositionMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 9,\\n \\\"m_DisplayName\\\": \\\"Vertex Position\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vertex Position\\\",\\n \\\"m_StageCapability\\\": 1,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.NormalMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 10,\\n \\\"m_DisplayName\\\": \\\"Vertex Normal\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vertex Normal\\\",\\n \\\"m_StageCapability\\\": 1,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.TangentMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 11,\\n \\\"m_DisplayName\\\": \\\"Vertex Tangent\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vertex Tangent\\\",\\n \\\"m_StageCapability\\\": 1,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.ColorRGBMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Albedo\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Albedo\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.7353569269180298,\\n \\\"y\\\": 0.7353569269180298,\\n \\\"z\\\": 0.7353569269180298\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_ColorMode\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.NormalMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Normal\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Normal\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 3\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.ColorRGBMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"Emission\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Emission\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_ColorMode\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"Metallic\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Metallic\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 5,\\n \\\"m_DisplayName\\\": \\\"Smoothness\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Smoothness\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.5,\\n \\\"m_DefaultValue\\\": 0.5,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"Occlusion\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Occlusion\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 1.0,\\n \\\"m_DefaultValue\\\": 1.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"Alpha\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Alpha\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 1.0,\\n \\\"m_DefaultValue\\\": 1.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 8,\\n \\\"m_DisplayName\\\": \\\"AlphaClipThreshold\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"AlphaClipThreshold\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_DOTSInstancing\": false,\n \"m_SerializableSubShaders\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.Rendering.Universal.UniversalPBRSubShader\"\n },\n \"JSONnodeData\": \"{}\"\n }\n ],\n \"m_ShaderGUIOverride\": \"\",\n \"m_OverrideEnabled\": false,\n \"m_Model\": 1,\n \"m_SurfaceType\": 1,\n \"m_AlphaMode\": 0,\n \"m_TwoSided\": false,\n \"m_NormalDropOffSpace\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"ff8e6a70-685e-40e3-bd9a-1253d36a963f\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -47.0,\n \"y\": 521.0,\n \"width\": 165.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 2,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"7f4f45f2-b62a-4732-893b-0d7ab9ce6986\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"d96b2bad-447c-4001-bc02-75edd93ac03a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -48.0,\n \"y\": 611.0,\n \"width\": 218.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"8c960e31-f89f-41e6-958a-5a8561a5d8c4\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.UVNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"18246a20-8752-4459-8c75-2818fc4af4f3\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"UV\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 74.00001525878906,\n \"y\": 808.9999389648438,\n \"width\": 145.0,\n \"height\": 128.99998474121095\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_OutputChannel\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"18922adc-3efa-4c2e-9faa-ce5a585d4657\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -47.0,\n \"y\": 551.0,\n \"width\": 180.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 2,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"06d6e0d3-a210-4065-af02-38a543a20066\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"c3a2f30b-2332-45df-ab3c-9fd061527cc6\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -48.0,\n \"y\": 670.0,\n \"width\": 225.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Metallic-Roughness Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"7c763b51-7fad-4cea-8cd7-bfc77a4aed10\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.UVNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"e048ae78-dfee-461b-8e69-85559fb9db10\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"UV\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 76.00007629394531,\n \"y\": 939.9999389648438,\n \"width\": 145.0,\n \"height\": 128.99998474121095\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_OutputChannel\": 1\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"1b261e1e-55df-4c97-b86e-66eca08ea1e3\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -48.0000114440918,\n \"y\": 61.99999237060547,\n \"width\": 186.00001525878907,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"25ab9c7b-45e7-4b69-89fc-b35b42f191c1\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"58c3ad21-e933-4227-8ce9-9ea95bbb1e12\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -49.00004196166992,\n \"y\": 93.0,\n \"width\": 212.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"41f3b17d-d607-4be1-95f1-b8a25d1fb9eb\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"2c36af4a-87c5-44a1-92ac-c5496def9b4d\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -49.00004196166992,\n \"y\": 123.99998474121094,\n \"width\": 226.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"439130e7-e216-45b3-8862-d99934ed4898\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"f8b42cce-e6a3-42f3-9d0c-a4f18e4ab24f\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -48.0,\n \"y\": 189.0,\n \"width\": 174.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"360d2e87-45b9-4f0b-a738-5a9c32383c19\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"a1e824a6-b68c-4dd5-aea9-be275b0b93cd\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -48.0,\n \"y\": 219.0,\n \"width\": 201.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"1a8b64a4-8833-4987-85ff-72c1f0fa7bf5\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"4048d45e-6c2e-403b-8367-f567a1358a59\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -48.0,\n \"y\": 248.0,\n \"width\": 214.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"4f288fac-b27b-432a-be22-5ec2a5869131\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"922eba8b-7a08-4d3d-b708-b709d9745eee\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -48.0,\n \"y\": 373.0,\n \"width\": 184.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"8069d191-b10c-471b-a5ae-16384ca90940\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"7da1e926-ad8d-4e4a-82d9-e95d4b0cb742\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -48.0,\n \"y\": 402.0,\n \"width\": 210.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"13676fba-23e4-49ad-b70f-e250be354ef7\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"9f846d54-f7a1-410c-88cd-1b07fc112c67\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -47.0,\n \"y\": 430.0,\n \"width\": 223.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"33b9a84b-9570-4047-9289-51059a70df4b\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"b6650f08-ed42-4208-9135-93b435edeb45\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -48.0,\n \"y\": 640.0,\n \"width\": 229.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"c8a715e2-64fb-48b5-8ffa-57023a47f0a8\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"7246ae85-9aab-41d6-a19e-506dd4e1c55e\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -48.0,\n \"y\": 705.0,\n \"width\": 236.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Metallic-Roughness Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"05680c68-3cd8-4b90-bcbe-12ba1c9b423b\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"b6a6b666-b3d8-49e0-ba3d-98d6a49e3f14\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -49.0,\n \"y\": 736.0,\n \"width\": 263.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Metallic-Roughness Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"d06c6686-2733-4c68-8a54-e0cc5bfd6267\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"9e4a21e2-b9d2-4bc3-b447-5fe4d54b83c7\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -49.0,\n \"y\": 766.0,\n \"width\": 276.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Metallic-Roughness Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"2be30ff7-0532-4d6f-aa64-44667cd90e1f\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"b7306857-56ec-4c41-8e36-09f5c475bc38\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"TextureTransform\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 294.9999084472656,\n \"y\": -156.99998474121095,\n \"width\": 252.99998474121095,\n \"height\": 189.99998474121095\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1621662722,\\n \\\"m_DisplayName\\\": \\\"textureST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_27C8CB01\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1453510346,\\n \\\"m_DisplayName\\\": \\\"textureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_55C5D8D5\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 687816062,\\n \\\"m_DisplayName\\\": \\\"UVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_192DCE9E\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 316563527,\\n \\\"m_DisplayName\\\": \\\"UV0\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_3C6B3DF8\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1403022609,\\n \\\"m_DisplayName\\\": \\\"UV1\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_97FB8726\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Out_Vector2\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"OutVector2\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_SerializedSubGraph\": \"{\\n \\\"subGraph\\\": {\\n \\\"fileID\\\": -5475051401550479605,\\n \\\"guid\\\": \\\"9a44a43ef44bd4a9dbc883ebde01cc72\\\",\\n \\\"type\\\": 3\\n }\\n}\",\n \"m_PropertyGuids\": [\n \"29612dd4-4736-4e38-b443-f14dca3e5a12\",\n \"04e280fa-2040-4e5b-8061-7203ec63836b\",\n \"7e1522b9-a8cb-42cd-959e-c421a5fabf33\",\n \"29a22b7f-e502-46e1-95c2-9febc2334c8f\",\n \"515e7228-12a1-4ff0-bd06-6beac202bea6\"\n ],\n \"m_PropertyIds\": [\n -1621662722,\n 1453510346,\n 316563527,\n 1403022609,\n 687816062\n ]\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"0c41438a-fe6b-40b2-b62f-181d0e159e8e\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -47.0,\n \"y\": -182.0,\n \"width\": 207.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Transmission Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"d7ca41c1-9247-452d-9bee-e2ac31f4517a\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"75e52b87-0276-4d19-b67c-73b95c16d3e0\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -47.0,\n \"y\": -151.0,\n \"width\": 226.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Transmission Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"78b0a0a2-de38-47ee-afcc-82765be9e7e4\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"09d6bb0a-01a9-45d3-85e0-a09d8741e58d\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -47.0,\n \"y\": -119.0,\n \"width\": 244.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Transmission Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"8bc7cc3f-ab25-49c5-917e-dc27f7e7edae\"\n}" - } - ], - "m_Groups": [], - "m_StickyNotes": [], - "m_SerializableEdges": [ - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"04a8b3b8-020e-472c-a9ee-37228c27956a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 8,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"1f6ca554-5311-49be-b211-bca780fc33da\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -93992038,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"33113907-91a6-4f77-bbdb-4c5daa97af8f\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -170433253,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"0b2b92be-0f00-45ce-8d47-0ccc16547e14\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1763326587,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"ff47ecaa-c17b-4f81-8687-1b8c109dc638\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 129475646,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"15adefed-fe51-4a61-9f73-45fed5bc2961\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1788256886,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"65be6b0d-29f0-491a-b7a4-b94380ec2094\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1324895555,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"ff8e6a70-685e-40e3-bd9a-1253d36a963f\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1438624126,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"18922adc-3efa-4c2e-9faa-ce5a585d4657\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1050676157,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"c3a2f30b-2332-45df-ab3c-9fd061527cc6\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -908648287,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"d96b2bad-447c-4001-bc02-75edd93ac03a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 76898838,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"53e5c6cc-7887-4ad6-98e7-2dfd426d06bb\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 921423784,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 6,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 3,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 4,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 4,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 5,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 5,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 7,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 7,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"18246a20-8752-4459-8c75-2818fc4af4f3\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -2033327270,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"f4afe522-baf9-432a-82b7-b7de3d32c6d1\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 366981793,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"b9d12c80-0898-4bf9-9456-0659a03d4f29\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1176174230,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 6,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1442603025,\n \"m_NodeGUIDSerialized\": \"73ef09f8-cbf8-43a7-9dfc-2fe92e972914\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"73ef09f8-cbf8-43a7-9dfc-2fe92e972914\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"d3f14116-5872-4b22-8632-eb02db55bbba\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 6,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"d3f14116-5872-4b22-8632-eb02db55bbba\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"d3f14116-5872-4b22-8632-eb02db55bbba\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"0202a3df-9736-4d7e-9de9-397cab28522e\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 109598298,\n \"m_NodeGUIDSerialized\": \"73ef09f8-cbf8-43a7-9dfc-2fe92e972914\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"620357ed-013a-491e-b4c8-ba8a3d79cb85\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 120952686,\n \"m_NodeGUIDSerialized\": \"73ef09f8-cbf8-43a7-9dfc-2fe92e972914\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"e048ae78-dfee-461b-8e69-85559fb9db10\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -745315628,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"1b261e1e-55df-4c97-b86e-66eca08ea1e3\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1329966883,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"58c3ad21-e933-4227-8ce9-9ea95bbb1e12\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 786133705,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"2c36af4a-87c5-44a1-92ac-c5496def9b4d\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -210516650,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"f8b42cce-e6a3-42f3-9d0c-a4f18e4ab24f\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1159867161,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"a1e824a6-b68c-4dd5-aea9-be275b0b93cd\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -429140327,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"4048d45e-6c2e-403b-8367-f567a1358a59\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -481750681,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"922eba8b-7a08-4d3d-b708-b709d9745eee\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1448742966,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"7da1e926-ad8d-4e4a-82d9-e95d4b0cb742\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -797345333,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"9f846d54-f7a1-410c-88cd-1b07fc112c67\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1882888430,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"b6650f08-ed42-4208-9135-93b435edeb45\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1997650031,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"7246ae85-9aab-41d6-a19e-506dd4e1c55e\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -373963592,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"b6a6b666-b3d8-49e0-ba3d-98d6a49e3f14\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1343882601,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"9e4a21e2-b9d2-4bc3-b447-5fe4d54b83c7\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1531592597,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"b7306857-56ec-4c41-8e36-09f5c475bc38\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1449242513,\n \"m_NodeGUIDSerialized\": \"73ef09f8-cbf8-43a7-9dfc-2fe92e972914\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"18246a20-8752-4459-8c75-2818fc4af4f3\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 316563527,\n \"m_NodeGUIDSerialized\": \"b7306857-56ec-4c41-8e36-09f5c475bc38\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"e048ae78-dfee-461b-8e69-85559fb9db10\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1403022609,\n \"m_NodeGUIDSerialized\": \"b7306857-56ec-4c41-8e36-09f5c475bc38\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"0c41438a-fe6b-40b2-b62f-181d0e159e8e\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1621662722,\n \"m_NodeGUIDSerialized\": \"b7306857-56ec-4c41-8e36-09f5c475bc38\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"75e52b87-0276-4d19-b67c-73b95c16d3e0\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1453510346,\n \"m_NodeGUIDSerialized\": \"b7306857-56ec-4c41-8e36-09f5c475bc38\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"09d6bb0a-01a9-45d3-85e0-a09d8741e58d\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 687816062,\n \"m_NodeGUIDSerialized\": \"b7306857-56ec-4c41-8e36-09f5c475bc38\"\n }\n}" - } - ], - "m_PreviewData": { - "serializedMesh": { - "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", - "m_Guid": "" - } - }, - "m_Path": "Shader Graphs", - "m_ConcretePrecision": 0, - "m_ActiveOutputNodeGuidSerialized": "e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8" -} \ No newline at end of file diff --git a/Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Blend.shadergraph.meta b/Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Blend.shadergraph.meta deleted file mode 100644 index cf367f36f..000000000 --- a/Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Blend.shadergraph.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: f06cd296b834444abb6dbc0acccf9414 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Opaque-double.shadergraph b/Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Opaque-double.shadergraph deleted file mode 100644 index 98e7b7fe2..000000000 --- a/Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Opaque-double.shadergraph +++ /dev/null @@ -1,753 +0,0 @@ -{ - "m_SerializedProperties": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"7f4f45f2-b62a-4732-893b-0d7ab9ce6986\"\n },\n \"m_Name\": \"Base Color\",\n \"m_DefaultReferenceName\": \"Color_A53D4B2B\",\n \"m_OverrideReferenceName\": \"baseColorFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 2,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"r\": 1.0,\n \"g\": 1.0,\n \"b\": 1.0,\n \"a\": 1.0\n },\n \"m_ColorMode\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"06d6e0d3-a210-4065-af02-38a543a20066\"\n },\n \"m_Name\": \"Base Color Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_3270778E\",\n \"m_OverrideReferenceName\": \"baseColorTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 2,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"069f0a9f-bab9-4025-81ea-0b6976eec3c5\"\n },\n \"m_Name\": \"Base Color Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_BAFF3CA9\",\n \"m_OverrideReferenceName\": \"baseColorTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"8c960e31-f89f-41e6-958a-5a8561a5d8c4\"\n },\n \"m_Name\": \"Base Color Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_DC752BB\",\n \"m_OverrideReferenceName\": \"baseColorTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"3d55d33a-e30d-48b8-b16b-4803b37c0f55\"\n },\n \"m_Name\": \"Base Color Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_5C3FCD94\",\n \"m_OverrideReferenceName\": \"baseColorTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 2,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"290855a3-663b-4b44-871b-434a544fd001\"\n },\n \"m_Name\": \"Normal Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_4207825D\",\n \"m_OverrideReferenceName\": \"normalTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 3\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"a770d5a4-f0f7-4855-96bd-5c74542bf285\"\n },\n \"m_Name\": \"Normal Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_C8CC109F\",\n \"m_OverrideReferenceName\": \"normalTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"f013b05f-d25f-451a-b8dd-970366defa4b\"\n },\n \"m_Name\": \"Normal Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_8794A66A\",\n \"m_OverrideReferenceName\": \"normalTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"84396dc6-7525-457e-b67b-83d4f46b2ad1\"\n },\n \"m_Name\": \"Normal Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_46A356F1\",\n \"m_OverrideReferenceName\": \"normalTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"0f8451d3-f402-45f1-80a0-90c8cfc3c5a1\"\n },\n \"m_Name\": \"Normal Scale\",\n \"m_DefaultReferenceName\": \"Vector1_97BB6A5\",\n \"m_OverrideReferenceName\": \"normalTexture_scale\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 1.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"10d76b91-eaaf-4eb7-8331-d7e8f7615734\"\n },\n \"m_Name\": \"Occlusion Strength\",\n \"m_DefaultReferenceName\": \"Vector1_DDDD754\",\n \"m_OverrideReferenceName\": \"occlusionTexture_strength\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 1.0,\n \"m_FloatType\": 1,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"8e2bf8f5-c63a-4499-838d-4d8264e31925\"\n },\n \"m_Name\": \"Occlusion Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_1970B80F\",\n \"m_OverrideReferenceName\": \"occlusionTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"579530bd-b320-4418-ad21-baf705263ae9\"\n },\n \"m_Name\": \"Occlusion Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_52F66C1B\",\n \"m_OverrideReferenceName\": \"occlusionTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"cad67e66-a6d1-4331-8da9-2627cc0c171e\"\n },\n \"m_Name\": \"Occlusion Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_555EB6E4\",\n \"m_OverrideReferenceName\": \"occlusionTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"b3cf4fd3-05dc-4d32-b8f2-f1e3da990478\"\n },\n \"m_Name\": \"Occlusion Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_6F0375E0\",\n \"m_OverrideReferenceName\": \"occlusionTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"9dba0444-5255-46c6-b45b-d7758fb87c92\"\n },\n \"m_Name\": \"Roughness\",\n \"m_DefaultReferenceName\": \"Vector1_BB0292F7\",\n \"m_OverrideReferenceName\": \"roughnessFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 1.0,\n \"m_FloatType\": 1,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"2447befe-815a-42fa-a48c-0ecec203118c\"\n },\n \"m_Name\": \"Metallic\",\n \"m_DefaultReferenceName\": \"Vector1_94172940\",\n \"m_OverrideReferenceName\": \"metallicFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 1.0,\n \"m_FloatType\": 1,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"7c763b51-7fad-4cea-8cd7-bfc77a4aed10\"\n },\n \"m_Name\": \"Metallic-Roughness Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_479F257E\",\n \"m_OverrideReferenceName\": \"metallicRoughnessTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"e81f4cd5-2378-4566-a321-88ab605d5d2c\"\n },\n \"m_Name\": \"Metallic-Roughness Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_87D605E6\",\n \"m_OverrideReferenceName\": \"metallicRoughnessTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"f2cd1dec-857a-4c5f-b0e2-47700b513740\"\n },\n \"m_Name\": \"Metallic-Roughness Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_2C8ACF67\",\n \"m_OverrideReferenceName\": \"metallicRoughnessTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"92fd0e45-f4fd-4577-ba7c-1ae69c9676a6\"\n },\n \"m_Name\": \"Metallic-Roughness Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_4A1F96A6\",\n \"m_OverrideReferenceName\": \"metallicRoughnessTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"1f801b95-1898-44f4-a056-0e179cd2290f\"\n },\n \"m_Name\": \"Emissive\",\n \"m_DefaultReferenceName\": \"Color_DDF6DA04\",\n \"m_OverrideReferenceName\": \"emissiveFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"r\": 0.0,\n \"g\": 0.0,\n \"b\": 0.0,\n \"a\": 1.0\n },\n \"m_ColorMode\": 1\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"26a0e850-f4b7-4172-9e6d-ebd076aa12f4\"\n },\n \"m_Name\": \"Emissive Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_C0C78D41\",\n \"m_OverrideReferenceName\": \"emissiveTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"486ff305-5cb5-4093-9bb9-aa4511e248a3\"\n },\n \"m_Name\": \"Emissive Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_DE339569\",\n \"m_OverrideReferenceName\": \"emissiveTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"fc2740e1-55ad-4a3d-b74e-a5a015dd5fa1\"\n },\n \"m_Name\": \"Emissive Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_53F2551A\",\n \"m_OverrideReferenceName\": \"emissiveTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"53990ce9-fc1a-4dd3-9b3b-ab50c9415c75\"\n },\n \"m_Name\": \"Emissive Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_BDA62B77\",\n \"m_OverrideReferenceName\": \"emissiveTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"7b92f262-febd-4fdf-89f4-2f0dbbe3c19e\"\n },\n \"m_Name\": \"Alpha Cutoff\",\n \"m_DefaultReferenceName\": \"Vector1_C94E19E6\",\n \"m_OverrideReferenceName\": \"alphaCutoff\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.5,\n \"m_FloatType\": 1,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"2793be4b-b042-47ee-aee8-4ad548f3e6a8\"\n },\n \"m_Name\": \"Transmission\",\n \"m_DefaultReferenceName\": \"Vector1_80A79279\",\n \"m_OverrideReferenceName\": \"transmissionFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 1,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"c78dc6ba-ab52-4c62-9001-bf2477bc92d3\"\n },\n \"m_Name\": \"Transmission Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_CF877E29\",\n \"m_OverrideReferenceName\": \"transmissionTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"a0b744ec-0940-425f-aeb4-ad5553f73072\"\n },\n \"m_Name\": \"Transmission Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_1CCF588F\",\n \"m_OverrideReferenceName\": \"transmissionTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"74ad16b4-07db-4fbd-9f84-734719bacfaa\"\n },\n \"m_Name\": \"Transmission Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_F965526B\",\n \"m_OverrideReferenceName\": \"transmissionTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"ac603bb4-9e74-448f-9df5-4b94b2088c1a\"\n },\n \"m_Name\": \"Transmission Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_7F30EFC\",\n \"m_OverrideReferenceName\": \"transmissionTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - } - ], - "m_SerializedKeywords": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.ShaderKeyword" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"a7d905c3-7492-4341-bcc1-99dd0b856891\"\n },\n \"m_Name\": \"EMISSIVE\",\n \"m_DefaultReferenceName\": \"BOOLEAN_81A09341_ON\",\n \"m_OverrideReferenceName\": \"_EMISSIVE\",\n \"m_GeneratePropertyBlock\": true,\n \"m_KeywordType\": 0,\n \"m_KeywordDefinition\": 0,\n \"m_KeywordScope\": 0,\n \"m_Entries\": [],\n \"m_Value\": 0,\n \"m_IsEditable\": true,\n \"m_IsExposable\": true\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.ShaderKeyword" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"4bdd5ce6-07d2-407c-8a17-dc0d8fa64973\"\n },\n \"m_Name\": \"OCCLUSION\",\n \"m_DefaultReferenceName\": \"BOOLEAN_90C144E9_ON\",\n \"m_OverrideReferenceName\": \"_OCCLUSION\",\n \"m_GeneratePropertyBlock\": true,\n \"m_KeywordType\": 0,\n \"m_KeywordDefinition\": 0,\n \"m_KeywordScope\": 0,\n \"m_Entries\": [],\n \"m_Value\": 0,\n \"m_IsEditable\": true,\n \"m_IsExposable\": true\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.ShaderKeyword" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"108fbca7-4236-4cd0-91b0-91284d981583\"\n },\n \"m_Name\": \"TEXTURE_TRANSFORM\",\n \"m_DefaultReferenceName\": \"BOOLEAN_B94C4E3A_ON\",\n \"m_OverrideReferenceName\": \"_TEXTURE_TRANSFORM\",\n \"m_GeneratePropertyBlock\": true,\n \"m_KeywordType\": 0,\n \"m_KeywordDefinition\": 0,\n \"m_KeywordScope\": 0,\n \"m_Entries\": [],\n \"m_Value\": 0,\n \"m_IsEditable\": true,\n \"m_IsExposable\": true\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.ShaderKeyword" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"2d4a6c6e-9ba5-40d0-aedf-0a2df1d543dd\"\n },\n \"m_Name\": \"TRANSMISSION\",\n \"m_DefaultReferenceName\": \"BOOLEAN_8ED3D026_ON\",\n \"m_OverrideReferenceName\": \"_TRANSMISSION\",\n \"m_GeneratePropertyBlock\": true,\n \"m_KeywordType\": 0,\n \"m_KeywordDefinition\": 0,\n \"m_KeywordScope\": 0,\n \"m_Entries\": [],\n \"m_Value\": 0,\n \"m_IsEditable\": true,\n \"m_IsExposable\": true\n}" - } - ], - "m_SerializableNodes": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"c3a2f30b-2332-45df-ab3c-9fd061527cc6\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -109.99999237060547,\n \"y\": 676.0,\n \"width\": 225.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Metallic-Roughness Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"7c763b51-7fad-4cea-8cd7-bfc77a4aed10\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"18922adc-3efa-4c2e-9faa-ce5a585d4657\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -111.99996948242188,\n \"y\": 546.0,\n \"width\": 178.00001525878907,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 2,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"06d6e0d3-a210-4065-af02-38a543a20066\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.UVNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"18246a20-8752-4459-8c75-2818fc4af4f3\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"UV\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -42.0,\n \"y\": 821.0,\n \"width\": 145.0,\n \"height\": 128.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_OutputChannel\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"d96b2bad-447c-4001-bc02-75edd93ac03a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -110.9999771118164,\n \"y\": 613.0,\n \"width\": 216.00001525878907,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"8c960e31-f89f-41e6-958a-5a8561a5d8c4\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"ff8e6a70-685e-40e3-bd9a-1253d36a963f\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -110.0,\n \"y\": 511.0,\n \"width\": 163.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 2,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"7f4f45f2-b62a-4732-893b-0d7ab9ce6986\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PBRMasterNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"PBR Master\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 1380.0001220703125,\n \"y\": 165.0,\n \"width\": 200.00001525878907,\n \"height\": 317.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.PositionMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 9,\\n \\\"m_DisplayName\\\": \\\"Vertex Position\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vertex Position\\\",\\n \\\"m_StageCapability\\\": 1,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.NormalMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 10,\\n \\\"m_DisplayName\\\": \\\"Vertex Normal\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vertex Normal\\\",\\n \\\"m_StageCapability\\\": 1,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.TangentMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 11,\\n \\\"m_DisplayName\\\": \\\"Vertex Tangent\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vertex Tangent\\\",\\n \\\"m_StageCapability\\\": 1,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.ColorRGBMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Albedo\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Albedo\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.7353569269180298,\\n \\\"y\\\": 0.7353569269180298,\\n \\\"z\\\": 0.7353569269180298\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_ColorMode\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.NormalMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Normal\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Normal\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 3\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.ColorRGBMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"Emission\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Emission\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_ColorMode\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"Metallic\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Metallic\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 5,\\n \\\"m_DisplayName\\\": \\\"Smoothness\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Smoothness\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.5,\\n \\\"m_DefaultValue\\\": 0.5,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"Occlusion\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Occlusion\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 1.0,\\n \\\"m_DefaultValue\\\": 1.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"Alpha\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Alpha\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 1.0,\\n \\\"m_DefaultValue\\\": 1.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 8,\\n \\\"m_DisplayName\\\": \\\"AlphaClipThreshold\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"AlphaClipThreshold\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_DOTSInstancing\": false,\n \"m_SerializableSubShaders\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.Rendering.Universal.UniversalPBRSubShader\"\n },\n \"JSONnodeData\": \"{}\"\n }\n ],\n \"m_ShaderGUIOverride\": \"\",\n \"m_OverrideEnabled\": false,\n \"m_Model\": 1,\n \"m_SurfaceType\": 0,\n \"m_AlphaMode\": 0,\n \"m_TwoSided\": true,\n \"m_NormalDropOffSpace\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"f4afe522-baf9-432a-82b7-b7de3d32c6d1\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -111.0,\n \"y\": 292.0,\n \"width\": 154.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"1f801b95-1898-44f4-a056-0e179cd2290f\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"ff47ecaa-c17b-4f81-8687-1b8c109dc638\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -113.0,\n \"y\": 325.0,\n \"width\": 170.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"26a0e850-f4b7-4172-9e6d-ebd076aa12f4\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"0b2b92be-0f00-45ce-8d47-0ccc16547e14\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -112.0,\n \"y\": 261.0,\n \"width\": 141.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Scale\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"0f8451d3-f402-45f1-80a0-90c8cfc3c5a1\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"33113907-91a6-4f77-bbdb-4c5daa97af8f\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -109.0,\n \"y\": 134.0,\n \"width\": 163.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"290855a3-663b-4b44-871b-434a544fd001\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"04a8b3b8-020e-472c-a9ee-37228c27956a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 1199.0,\n \"y\": 445.0,\n \"width\": 139.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Alpha Cutoff\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"7b92f262-febd-4fdf-89f4-2f0dbbe3c19e\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"1f6ca554-5311-49be-b211-bca780fc33da\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -108.0,\n \"y\": -23.0,\n \"width\": 172.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Strength\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"10d76b91-eaaf-4eb7-8331-d7e8f7615734\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"65be6b0d-29f0-491a-b7a4-b94380ec2094\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -110.0,\n \"y\": 478.0,\n \"width\": 150.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Metallic\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"2447befe-815a-42fa-a48c-0ecec203118c\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"15adefed-fe51-4a61-9f73-45fed5bc2961\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -112.0,\n \"y\": 446.0,\n \"width\": 141.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Roughness\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"9dba0444-5255-46c6-b45b-d7758fb87c92\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"PBR_metallic_roughness_Legacy\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 294.00006103515627,\n \"y\": 23.0,\n \"width\": 331.0,\n \"height\": 590.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -93992038,\\n \\\"m_DisplayName\\\": \\\"occlusionStrength\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_57266306\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1176174230,\\n \\\"m_DisplayName\\\": \\\"occlusionTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_36068458\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1329966883,\\n \\\"m_DisplayName\\\": \\\"occlusionTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_D95F09CC\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 786133705,\\n \\\"m_DisplayName\\\": \\\"occlusionTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_47B0896F\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -210516650,\\n \\\"m_DisplayName\\\": \\\"occlusionTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_14EEF9A9\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -170433253,\\n \\\"m_DisplayName\\\": \\\"normalTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_B4A7F700\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1159867161,\\n \\\"m_DisplayName\\\": \\\"normalTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_5C7F3701\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -429140327,\\n \\\"m_DisplayName\\\": \\\"normalTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_C39E4CD1\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -481750681,\\n \\\"m_DisplayName\\\": \\\"normalTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_88C78C57\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1763326587,\\n \\\"m_DisplayName\\\": \\\"normalScale\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_345B830B\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 366981793,\\n \\\"m_DisplayName\\\": \\\"emissiveFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector3_E344F397\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 129475646,\\n \\\"m_DisplayName\\\": \\\"emissiveTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_8F96C631\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1448742966,\\n \\\"m_DisplayName\\\": \\\"emissionTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_44D9BB81\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -797345333,\\n \\\"m_DisplayName\\\": \\\"emissionTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_C7C6C37D\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1882888430,\\n \\\"m_DisplayName\\\": \\\"emissionTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_DB36ED60\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1788256886,\\n \\\"m_DisplayName\\\": \\\"roughnessFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_B9A549A5\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1324895555,\\n \\\"m_DisplayName\\\": \\\"metallicFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_6633F151\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1438624126,\\n \\\"m_DisplayName\\\": \\\"baseColorFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_8743F3C3\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1050676157,\\n \\\"m_DisplayName\\\": \\\"baseColorTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_EBF077FA\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 921423784,\\n \\\"m_DisplayName\\\": \\\"baseColorTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_6F4A9DFD\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 76898838,\\n \\\"m_DisplayName\\\": \\\"baseColorTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_FE260CB0\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1997650031,\\n \\\"m_DisplayName\\\": \\\"baseColorTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_813EE33E\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -908648287,\\n \\\"m_DisplayName\\\": \\\"metallicRoughnessTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_2BD19CD4\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -373963592,\\n \\\"m_DisplayName\\\": \\\"metallicRoughnessTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_A391227B\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1343882601,\\n \\\"m_DisplayName\\\": \\\"metallicRoughnessTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_EE89C726\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1531592597,\\n \\\"m_DisplayName\\\": \\\"metallicRoughnessTextureTexCoord\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_7FA59A3E\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -2033327270,\\n \\\"m_DisplayName\\\": \\\"UV0\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_B59C246\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -745315628,\\n \\\"m_DisplayName\\\": \\\"UV1\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_2B3B3D76\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"Albedo\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Albedo\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"Normal\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Normal\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"Emission\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Emission\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"Metallic\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Metallic\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 5,\\n \\\"m_DisplayName\\\": \\\"Smoothness\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Smoothness\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Occlusion\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Occlusion\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"Alpha\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Alpha\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 8,\\n \\\"m_DisplayName\\\": \\\"baseColorUV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"baseColorUV\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_SerializedSubGraph\": \"{\\n \\\"subGraph\\\": {\\n \\\"fileID\\\": -5475051401550479605,\\n \\\"guid\\\": \\\"1610512b96f344c11bf850c044c1b5c7\\\",\\n \\\"type\\\": 3\\n }\\n}\",\n \"m_PropertyGuids\": [\n \"2a4c85c6-a729-4e82-81d3-77ec259c58de\",\n \"e85226d9-1785-431c-b779-0a31a91295de\",\n \"d7da8a92-273f-4f7b-ae2c-668b7e04a26c\",\n \"189b1fbb-ef98-4483-a2a6-74653e7265ad\",\n \"18c8e2c1-767f-46e3-90f7-6938c8c9891c\",\n \"1aa9ec50-0e3f-4e77-81b7-7ed5cd0d7c51\",\n \"0091f9d7-7596-4b86-86b3-c45dc2f579ec\",\n \"23b11ff4-3af1-4945-9c4b-b3b499bdfa33\",\n \"1535492a-2795-428c-a7a8-0c963bc80c1b\",\n \"380b6046-ffdc-407c-aab5-0e62237b3e9b\",\n \"349829b0-a90d-4b44-bf38-99916345bde2\",\n \"77ff8161-3714-4ef8-8885-767db25a0931\",\n \"1c7d931e-ae67-4dbe-910f-950e7f631636\",\n \"34d7ae95-a71a-4dea-b2b5-15f8e886e625\",\n \"8029fa63-8af6-4814-8886-1f788280d2d6\",\n \"7be3bd36-f1f9-4365-99db-cc9af66a0ec5\",\n \"850c1957-79b6-494b-aed1-4c867151a8c1\",\n \"bb273083-5afc-424d-b84d-cf153a4b9a07\",\n \"d81e8ca0-466d-494d-9b62-6d822f9394bb\",\n \"1a9c6f38-e9be-441e-b922-b649b889e53f\",\n \"4e8f9afd-37e4-4c1e-8d37-9f7911e3a17a\",\n \"34745e4b-9d3d-4fc3-b755-4abc8212bdef\",\n \"0ac9a86a-306c-478f-96b5-93e2800d182f\",\n \"f2303c84-2349-45d7-86d2-019dd1103298\",\n \"a2532bde-bd96-4c3d-b3f3-90e9b53fb3f1\",\n \"2bf50a80-5b1b-4d86-85c6-f86339dc7f97\",\n \"3ba9818a-881c-45bb-a3ce-5a590d7da089\",\n \"abc4bac7-7e21-4041-9894-7a08dce3a711\",\n \"76c98fda-047c-4f17-ba66-d653df4556a6\",\n \"73d8282d-4f4b-4a00-96f0-ef1c19d5e5f9\"\n ],\n \"m_PropertyIds\": [\n -93992038,\n -170433253,\n -1763326587,\n -2096931947,\n 129475646,\n 1788256886,\n -1324895555,\n -1438624126,\n 1050676157,\n -908648287,\n 76898838,\n 921423784,\n 656072342,\n -2033327270,\n 366981793,\n 1176174230,\n -1329966883,\n 786133705,\n -210516650,\n 1159867161,\n -429140327,\n -481750681,\n -1448742966,\n -797345333,\n -1882888430,\n -1997650031,\n -373963592,\n -1343882601,\n -1531592597,\n -745315628\n ]\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"b9d12c80-0898-4bf9-9456-0659a03d4f29\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -107.0,\n \"y\": 8.0,\n \"width\": 175.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"8e2bf8f5-c63a-4499-838d-4d8264e31925\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"f950e22c-0faa-449e-9c27-7219efbbac6b\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -110.0,\n \"y\": 578.0,\n \"width\": 190.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"069f0a9f-bab9-4025-81ea-0b6976eec3c5\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"776f173b-cc1c-4891-a0ce-63a9e7c084d0\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -105.0,\n \"y\": -197.0,\n \"width\": 178.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Transmission\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"2793be4b-b042-47ee-aee8-4ad548f3e6a8\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"7717f4f3-ca38-424c-939c-f9d425f17346\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -105.0,\n \"y\": -166.0,\n \"width\": 193.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Transmission Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"c78dc6ba-ab52-4c62-9001-bf2477bc92d3\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.KeywordNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"32e9e4f3-587b-4181-b67c-527db93b58c6\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"TRANSMISSION\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 1121.0,\n \"y\": 78.99999237060547,\n \"width\": 141.0,\n \"height\": 118.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicVectorMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicVectorMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"On\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"On\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicVectorMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"Off\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Off\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_KeywordGuidSerialized\": \"2d4a6c6e-9ba5-40d0-aedf-0a2df1d543dd\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"b934a544-b3b3-4c16-a1bb-61395b5129cc\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"ScreenGrab\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 754.9999389648438,\n \"y\": -103.00003814697266,\n \"width\": 294.0,\n \"height\": 166.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1442603025,\\n \\\"m_DisplayName\\\": \\\"Albedo\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector3_6B81D22D\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 1.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 120952686,\\n \\\"m_DisplayName\\\": \\\"transmissionFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_F68FE44C\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 109598298,\\n \\\"m_DisplayName\\\": \\\"transmissionTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_746CA73\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1449242513,\\n \\\"m_DisplayName\\\": \\\"transmissionTextureUV\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_49307EBC\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Out_Vector3\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"OutVector3\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_SerializedSubGraph\": \"{\\n \\\"subGraph\\\": {\\n \\\"fileID\\\": -5475051401550479605,\\n \\\"guid\\\": \\\"34bce5e04fd5d474286972968941bb2a\\\",\\n \\\"type\\\": 3\\n }\\n}\",\n \"m_PropertyGuids\": [\n \"22a7d007-eba4-4fe6-b3d7-636c03cc760e\",\n \"6975d6d2-7b40-4103-aceb-154520b5a9bf\",\n \"8c061bba-ea8e-4dfc-9ff3-60bada05801c\",\n \"c7571956-4ec9-4927-ab49-20c14168211e\"\n ],\n \"m_PropertyIds\": [\n -1442603025,\n 120952686,\n 109598298,\n -1449242513\n ]\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.UVNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"0be24aeb-5019-4806-b7e2-71f5951eb3d3\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"UV\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -40.0,\n \"y\": 951.0,\n \"width\": 145.0,\n \"height\": 129.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_OutputChannel\": 1\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"278e69ac-9ddb-42dc-a650-a3406799865c\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -110.9999771118164,\n \"y\": 644.0,\n \"width\": 229.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"3d55d33a-e30d-48b8-b16b-4803b37c0f55\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"600a17e2-2477-42cb-bd3c-b2d6f2578baf\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -112.0,\n \"y\": 708.0,\n \"width\": 236.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Metallic-Roughness Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"e81f4cd5-2378-4566-a321-88ab605d5d2c\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"0ea0dcec-4884-4675-9494-a412e04859b6\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -113.0,\n \"y\": 739.0,\n \"width\": 263.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Metallic-Roughness Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"f2cd1dec-857a-4c5f-b0e2-47700b513740\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"de3bc56b-65d7-414b-990f-286cb47fb871\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -112.0,\n \"y\": 769.0,\n \"width\": 276.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Metallic-Roughness Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"92fd0e45-f4fd-4577-ba7c-1ae69c9676a6\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"90fcf1a4-8dbf-480e-a82d-ca8a60f1d59f\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -113.0,\n \"y\": 415.0,\n \"width\": 221.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"53990ce9-fc1a-4dd3-9b3b-ab50c9415c75\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"328a5601-31f7-42f9-814c-1124e7275632\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -113.0,\n \"y\": 386.0,\n \"width\": 208.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"fc2740e1-55ad-4a3d-b74e-a5a015dd5fa1\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"66753d5b-06a1-464a-ab6e-fd435bd31e4d\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -113.0,\n \"y\": 356.0,\n \"width\": 181.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"486ff305-5cb5-4093-9bb9-aa4511e248a3\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"da08d102-d64c-402e-92e7-6760625e3d2a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -111.0,\n \"y\": 166.0,\n \"width\": 174.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"a770d5a4-f0f7-4855-96bd-5c74542bf285\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"e1416acc-f216-4489-8029-288ee0472559\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -111.0,\n \"y\": 196.0,\n \"width\": 201.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"f013b05f-d25f-451a-b8dd-970366defa4b\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"a85f5fe6-093d-4618-9869-0450b8fda1a4\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -110.0,\n \"y\": 226.0,\n \"width\": 214.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"84396dc6-7525-457e-b67b-83d4f46b2ad1\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"cc4c5be6-3f19-459f-b198-17314838fe97\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -107.0,\n \"y\": 41.0,\n \"width\": 187.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"579530bd-b320-4418-ad21-baf705263ae9\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"1c1fcdec-84c4-4024-9cb6-0a575bee1535\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -108.0,\n \"y\": 71.0,\n \"width\": 213.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"cad67e66-a6d1-4331-8da9-2627cc0c171e\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"e4563378-06d2-4055-88fb-6f48f1e1a046\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -108.0,\n \"y\": 101.0,\n \"width\": 226.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"b3cf4fd3-05dc-4d32-b8f2-f1e3da990478\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"2f3219a0-4d07-41d5-ad51-f6d90e82e34a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"TextureTransform\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 411.0000305175781,\n \"y\": -167.0,\n \"width\": 250.0,\n \"height\": 190.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1621662722,\\n \\\"m_DisplayName\\\": \\\"textureST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_27C8CB01\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1453510346,\\n \\\"m_DisplayName\\\": \\\"textureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_55C5D8D5\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 687816062,\\n \\\"m_DisplayName\\\": \\\"UVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_192DCE9E\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 316563527,\\n \\\"m_DisplayName\\\": \\\"UV0\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_3C6B3DF8\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1403022609,\\n \\\"m_DisplayName\\\": \\\"UV1\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_97FB8726\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Out_Vector2\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"OutVector2\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_SerializedSubGraph\": \"{\\n \\\"subGraph\\\": {\\n \\\"fileID\\\": -5475051401550479605,\\n \\\"guid\\\": \\\"9a44a43ef44bd4a9dbc883ebde01cc72\\\",\\n \\\"type\\\": 3\\n }\\n}\",\n \"m_PropertyGuids\": [\n \"29612dd4-4736-4e38-b443-f14dca3e5a12\",\n \"04e280fa-2040-4e5b-8061-7203ec63836b\",\n \"7e1522b9-a8cb-42cd-959e-c421a5fabf33\",\n \"29a22b7f-e502-46e1-95c2-9febc2334c8f\",\n \"515e7228-12a1-4ff0-bd06-6beac202bea6\"\n ],\n \"m_PropertyIds\": [\n -1621662722,\n 1453510346,\n 316563527,\n 1403022609,\n 687816062\n ]\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"9b270ecb-c0ae-4c0a-b310-13cf011ebaa4\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -105.0,\n \"y\": -135.0,\n \"width\": 205.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Transmission Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"a0b744ec-0940-425f-aeb4-ad5553f73072\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"c0f90ec2-697b-4829-9342-22ed78caedeb\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -105.0,\n \"y\": -104.0,\n \"width\": 231.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Transmission Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"74ad16b4-07db-4fbd-9f84-734719bacfaa\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"019719c4-0b3d-4db8-be55-2fac68d35d6a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -105.0,\n \"y\": -74.0,\n \"width\": 244.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Transmission Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"ac603bb4-9e74-448f-9df5-4b94b2088c1a\"\n}" - } - ], - "m_Groups": [], - "m_StickyNotes": [], - "m_SerializableEdges": [ - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"04a8b3b8-020e-472c-a9ee-37228c27956a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 8,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"1f6ca554-5311-49be-b211-bca780fc33da\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -93992038,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"33113907-91a6-4f77-bbdb-4c5daa97af8f\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -170433253,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"0b2b92be-0f00-45ce-8d47-0ccc16547e14\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1763326587,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"ff47ecaa-c17b-4f81-8687-1b8c109dc638\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 129475646,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"15adefed-fe51-4a61-9f73-45fed5bc2961\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1788256886,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"65be6b0d-29f0-491a-b7a4-b94380ec2094\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1324895555,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"ff8e6a70-685e-40e3-bd9a-1253d36a963f\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1438624126,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"18922adc-3efa-4c2e-9faa-ce5a585d4657\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1050676157,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"c3a2f30b-2332-45df-ab3c-9fd061527cc6\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -908648287,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 6,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 3,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 4,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 4,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 5,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 5,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 7,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 7,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"18246a20-8752-4459-8c75-2818fc4af4f3\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -2033327270,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"f4afe522-baf9-432a-82b7-b7de3d32c6d1\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 366981793,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"b9d12c80-0898-4bf9-9456-0659a03d4f29\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1176174230,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"f950e22c-0faa-449e-9c27-7219efbbac6b\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 921423784,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"d96b2bad-447c-4001-bc02-75edd93ac03a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 76898838,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 6,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1442603025,\n \"m_NodeGUIDSerialized\": \"b934a544-b3b3-4c16-a1bb-61395b5129cc\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"b934a544-b3b3-4c16-a1bb-61395b5129cc\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"32e9e4f3-587b-4181-b67c-527db93b58c6\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"776f173b-cc1c-4891-a0ce-63a9e7c084d0\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 120952686,\n \"m_NodeGUIDSerialized\": \"b934a544-b3b3-4c16-a1bb-61395b5129cc\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"7717f4f3-ca38-424c-939c-f9d425f17346\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 109598298,\n \"m_NodeGUIDSerialized\": \"b934a544-b3b3-4c16-a1bb-61395b5129cc\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 6,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"32e9e4f3-587b-4181-b67c-527db93b58c6\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"32e9e4f3-587b-4181-b67c-527db93b58c6\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"0be24aeb-5019-4806-b7e2-71f5951eb3d3\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -745315628,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"278e69ac-9ddb-42dc-a650-a3406799865c\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1997650031,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"de3bc56b-65d7-414b-990f-286cb47fb871\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1531592597,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"0ea0dcec-4884-4675-9494-a412e04859b6\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1343882601,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"600a17e2-2477-42cb-bd3c-b2d6f2578baf\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -373963592,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"66753d5b-06a1-464a-ab6e-fd435bd31e4d\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1448742966,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"328a5601-31f7-42f9-814c-1124e7275632\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -797345333,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"90fcf1a4-8dbf-480e-a82d-ca8a60f1d59f\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1882888430,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"a85f5fe6-093d-4618-9869-0450b8fda1a4\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -481750681,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"e1416acc-f216-4489-8029-288ee0472559\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -429140327,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"da08d102-d64c-402e-92e7-6760625e3d2a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1159867161,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"e4563378-06d2-4055-88fb-6f48f1e1a046\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -210516650,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"1c1fcdec-84c4-4024-9cb6-0a575bee1535\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 786133705,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"cc4c5be6-3f19-459f-b198-17314838fe97\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1329966883,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"019719c4-0b3d-4db8-be55-2fac68d35d6a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 687816062,\n \"m_NodeGUIDSerialized\": \"2f3219a0-4d07-41d5-ad51-f6d90e82e34a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"c0f90ec2-697b-4829-9342-22ed78caedeb\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1453510346,\n \"m_NodeGUIDSerialized\": \"2f3219a0-4d07-41d5-ad51-f6d90e82e34a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"9b270ecb-c0ae-4c0a-b310-13cf011ebaa4\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1621662722,\n \"m_NodeGUIDSerialized\": \"2f3219a0-4d07-41d5-ad51-f6d90e82e34a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"2f3219a0-4d07-41d5-ad51-f6d90e82e34a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1449242513,\n \"m_NodeGUIDSerialized\": \"b934a544-b3b3-4c16-a1bb-61395b5129cc\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"18246a20-8752-4459-8c75-2818fc4af4f3\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 316563527,\n \"m_NodeGUIDSerialized\": \"2f3219a0-4d07-41d5-ad51-f6d90e82e34a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"0be24aeb-5019-4806-b7e2-71f5951eb3d3\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1403022609,\n \"m_NodeGUIDSerialized\": \"2f3219a0-4d07-41d5-ad51-f6d90e82e34a\"\n }\n}" - } - ], - "m_PreviewData": { - "serializedMesh": { - "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", - "m_Guid": "" - } - }, - "m_Path": "Shader Graphs", - "m_ConcretePrecision": 0, - "m_ActiveOutputNodeGuidSerialized": "e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8" -} \ No newline at end of file diff --git a/Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Opaque-double.shadergraph.meta b/Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Opaque-double.shadergraph.meta deleted file mode 100644 index 380c5d449..000000000 --- a/Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Opaque-double.shadergraph.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: ba6d401c74b2c4f96af7edf0fe32241e -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Opaque.shadergraph b/Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Opaque.shadergraph deleted file mode 100644 index f48b98301..000000000 --- a/Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Opaque.shadergraph +++ /dev/null @@ -1,693 +0,0 @@ -{ - "m_SerializedProperties": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"7f4f45f2-b62a-4732-893b-0d7ab9ce6986\"\n },\n \"m_Name\": \"Base Color\",\n \"m_DefaultReferenceName\": \"Color_A53D4B2B\",\n \"m_OverrideReferenceName\": \"baseColorFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 2,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"r\": 1.0,\n \"g\": 1.0,\n \"b\": 1.0,\n \"a\": 1.0\n },\n \"m_ColorMode\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"06d6e0d3-a210-4065-af02-38a543a20066\"\n },\n \"m_Name\": \"Base Color Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_3270778E\",\n \"m_OverrideReferenceName\": \"baseColorTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 2,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"069f0a9f-bab9-4025-81ea-0b6976eec3c5\"\n },\n \"m_Name\": \"Base Color Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_BAFF3CA9\",\n \"m_OverrideReferenceName\": \"baseColorTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"8c960e31-f89f-41e6-958a-5a8561a5d8c4\"\n },\n \"m_Name\": \"Base Color Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_DC752BB\",\n \"m_OverrideReferenceName\": \"baseColorTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"01a86c44-4c21-442a-8ee1-a7eb77704c4f\"\n },\n \"m_Name\": \"Base Color Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_435CB51C\",\n \"m_OverrideReferenceName\": \"baseColorTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 2,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"290855a3-663b-4b44-871b-434a544fd001\"\n },\n \"m_Name\": \"Normal Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_4207825D\",\n \"m_OverrideReferenceName\": \"normalTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 3\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"d1e9d72e-fd9f-444e-9d70-c1504e8fe681\"\n },\n \"m_Name\": \"Normal Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_795CA5AE\",\n \"m_OverrideReferenceName\": \"normalTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"602ab477-8f72-4df8-9191-288cd6c5e4d5\"\n },\n \"m_Name\": \"Normal Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_9110BE9A\",\n \"m_OverrideReferenceName\": \"normalTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"0f8451d3-f402-45f1-80a0-90c8cfc3c5a1\"\n },\n \"m_Name\": \"Normal Scale\",\n \"m_DefaultReferenceName\": \"Vector1_97BB6A5\",\n \"m_OverrideReferenceName\": \"normalTexture_scale\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 1.0,\n \"m_FloatType\": 1,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"10d76b91-eaaf-4eb7-8331-d7e8f7615734\"\n },\n \"m_Name\": \"Occlusion Strength\",\n \"m_DefaultReferenceName\": \"Vector1_DDDD754\",\n \"m_OverrideReferenceName\": \"occlusionTexture_strength\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 1.0,\n \"m_FloatType\": 1,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"8e2bf8f5-c63a-4499-838d-4d8264e31925\"\n },\n \"m_Name\": \"Occlusion Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_1970B80F\",\n \"m_OverrideReferenceName\": \"occlusionTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"9dba0444-5255-46c6-b45b-d7758fb87c92\"\n },\n \"m_Name\": \"Roughness\",\n \"m_DefaultReferenceName\": \"Vector1_BB0292F7\",\n \"m_OverrideReferenceName\": \"roughnessFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 1.0,\n \"m_FloatType\": 1,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"2447befe-815a-42fa-a48c-0ecec203118c\"\n },\n \"m_Name\": \"Metallic\",\n \"m_DefaultReferenceName\": \"Vector1_94172940\",\n \"m_OverrideReferenceName\": \"metallicFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 1.0,\n \"m_FloatType\": 1,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"7c763b51-7fad-4cea-8cd7-bfc77a4aed10\"\n },\n \"m_Name\": \"Metallic-Roughness Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_479F257E\",\n \"m_OverrideReferenceName\": \"metallicRoughnessTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"1f801b95-1898-44f4-a056-0e179cd2290f\"\n },\n \"m_Name\": \"Emissive\",\n \"m_DefaultReferenceName\": \"Color_DDF6DA04\",\n \"m_OverrideReferenceName\": \"emissiveFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"r\": 0.0,\n \"g\": 0.0,\n \"b\": 0.0,\n \"a\": 1.0\n },\n \"m_ColorMode\": 1\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"26a0e850-f4b7-4172-9e6d-ebd076aa12f4\"\n },\n \"m_Name\": \"Emissive Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_C0C78D41\",\n \"m_OverrideReferenceName\": \"emissiveTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"b1be9b39-b105-4087-985e-f6eb003f06d1\"\n },\n \"m_Name\": \"Emissive Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_44682D9\",\n \"m_OverrideReferenceName\": \"emissiveTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"e9170e04-da87-484d-96ad-897c059300e0\"\n },\n \"m_Name\": \"Emissive Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_7FC41406\",\n \"m_OverrideReferenceName\": \"emissiveTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"60848160-13a2-43fc-aac7-39b6a35ea439\"\n },\n \"m_Name\": \"Emissive Exposure Weight\",\n \"m_DefaultReferenceName\": \"Vector1_E0484821\",\n \"m_OverrideReferenceName\": \"emissiveExposureWeight\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 1,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"7b92f262-febd-4fdf-89f4-2f0dbbe3c19e\"\n },\n \"m_Name\": \"Alpha Cutoff\",\n \"m_DefaultReferenceName\": \"Vector1_C94E19E6\",\n \"m_OverrideReferenceName\": \"alphaCutoff\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.5,\n \"m_FloatType\": 1,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"2793be4b-b042-47ee-aee8-4ad548f3e6a8\"\n },\n \"m_Name\": \"Transmission\",\n \"m_DefaultReferenceName\": \"Vector1_80A79279\",\n \"m_OverrideReferenceName\": \"transmissionFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 1,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"c78dc6ba-ab52-4c62-9001-bf2477bc92d3\"\n },\n \"m_Name\": \"Transmission Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_CF877E29\",\n \"m_OverrideReferenceName\": \"transmissionTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"e29fdde6-03d7-4303-a706-e86a76dc3344\"\n },\n \"m_Name\": \"Emissive Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_BFF96238\",\n \"m_OverrideReferenceName\": \"emissiveTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 2,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"99601d2a-dea4-43c7-a834-04f9af6f05fa\"\n },\n \"m_Name\": \"Normal Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_BA73988E\",\n \"m_OverrideReferenceName\": \"normalTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"aa0c7a44-774f-4810-b9c3-cf7ac3b7e153\"\n },\n \"m_Name\": \"Occlusion Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_F2B689AA\",\n \"m_OverrideReferenceName\": \"occlusionTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"81ffbc91-537c-4248-9442-5b1679781096\"\n },\n \"m_Name\": \"Occlusion Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_6F76CAE\",\n \"m_OverrideReferenceName\": \"occlusionTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"415b99f8-047a-4116-a162-7a2c1dee6d2c\"\n },\n \"m_Name\": \"Occlusion Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_F9266676\",\n \"m_OverrideReferenceName\": \"occlusionTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"743c7b72-9601-4582-92b7-a9e09e4eeabb\"\n },\n \"m_Name\": \"Metallic-Roughness Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_604660D9\",\n \"m_OverrideReferenceName\": \"metallicRoughnessTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"974a34fd-0dc8-4d00-9979-0519802e7a73\"\n },\n \"m_Name\": \"Metallic-Roughness Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_B4780DDF\",\n \"m_OverrideReferenceName\": \"metallicRoughnessTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"dd9b0745-38e2-4c14-9fab-5a098929fd43\"\n },\n \"m_Name\": \"Metallic-Roughness Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_A20661FD\",\n \"m_OverrideReferenceName\": \"metallicRoughnessTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - } - ], - "m_SerializedKeywords": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.ShaderKeyword" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"a7d905c3-7492-4341-bcc1-99dd0b856891\"\n },\n \"m_Name\": \"EMISSIVE\",\n \"m_DefaultReferenceName\": \"BOOLEAN_81A09341_ON\",\n \"m_OverrideReferenceName\": \"_EMISSIVE\",\n \"m_GeneratePropertyBlock\": true,\n \"m_KeywordType\": 0,\n \"m_KeywordDefinition\": 0,\n \"m_KeywordScope\": 0,\n \"m_Entries\": [],\n \"m_Value\": 0,\n \"m_IsEditable\": true,\n \"m_IsExposable\": true\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.ShaderKeyword" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"4bdd5ce6-07d2-407c-8a17-dc0d8fa64973\"\n },\n \"m_Name\": \"OCCLUSION\",\n \"m_DefaultReferenceName\": \"BOOLEAN_90C144E9_ON\",\n \"m_OverrideReferenceName\": \"_OCCLUSION\",\n \"m_GeneratePropertyBlock\": true,\n \"m_KeywordType\": 0,\n \"m_KeywordDefinition\": 0,\n \"m_KeywordScope\": 0,\n \"m_Entries\": [],\n \"m_Value\": 0,\n \"m_IsEditable\": true,\n \"m_IsExposable\": true\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.ShaderKeyword" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"108fbca7-4236-4cd0-91b0-91284d981583\"\n },\n \"m_Name\": \"TEXTURE_TRANSFORM\",\n \"m_DefaultReferenceName\": \"BOOLEAN_B94C4E3A_ON\",\n \"m_OverrideReferenceName\": \"_TEXTURE_TRANSFORM\",\n \"m_GeneratePropertyBlock\": true,\n \"m_KeywordType\": 0,\n \"m_KeywordDefinition\": 0,\n \"m_KeywordScope\": 0,\n \"m_Entries\": [],\n \"m_Value\": 0,\n \"m_IsEditable\": true,\n \"m_IsExposable\": true\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.ShaderKeyword" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"2d4a6c6e-9ba5-40d0-aedf-0a2df1d543dd\"\n },\n \"m_Name\": \"TRANSMISSION\",\n \"m_DefaultReferenceName\": \"BOOLEAN_8ED3D026_ON\",\n \"m_OverrideReferenceName\": \"_TRANSMISSION\",\n \"m_GeneratePropertyBlock\": true,\n \"m_KeywordType\": 0,\n \"m_KeywordDefinition\": 0,\n \"m_KeywordScope\": 0,\n \"m_Entries\": [],\n \"m_Value\": 0,\n \"m_IsEditable\": true,\n \"m_IsExposable\": true\n}" - } - ], - "m_SerializableNodes": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"c3a2f30b-2332-45df-ab3c-9fd061527cc6\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -109.99996185302735,\n \"y\": 738.9999389648438,\n \"width\": 223.0,\n \"height\": 33.999996185302737\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Metallic-Roughness Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"7c763b51-7fad-4cea-8cd7-bfc77a4aed10\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"18922adc-3efa-4c2e-9faa-ce5a585d4657\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -112.00009155273438,\n \"y\": 594.0000610351563,\n \"width\": 177.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 2,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"06d6e0d3-a210-4065-af02-38a543a20066\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.UVNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"18246a20-8752-4459-8c75-2818fc4af4f3\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"UV\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 10.000000953674317,\n \"y\": 871.9999389648438,\n \"width\": 145.0,\n \"height\": 127.99999237060547\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_OutputChannel\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"d96b2bad-447c-4001-bc02-75edd93ac03a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -111.00006103515625,\n \"y\": 661.0,\n \"width\": 214.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"8c960e31-f89f-41e6-958a-5a8561a5d8c4\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"ff8e6a70-685e-40e3-bd9a-1253d36a963f\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -108.00007629394531,\n \"y\": 559.0,\n \"width\": 161.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 2,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"7f4f45f2-b62a-4732-893b-0d7ab9ce6986\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PBRMasterNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"PBR Master\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 1380.0001220703125,\n \"y\": 165.0,\n \"width\": 200.00001525878907,\n \"height\": 317.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.PositionMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 9,\\n \\\"m_DisplayName\\\": \\\"Vertex Position\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vertex Position\\\",\\n \\\"m_StageCapability\\\": 1,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.NormalMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 10,\\n \\\"m_DisplayName\\\": \\\"Vertex Normal\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vertex Normal\\\",\\n \\\"m_StageCapability\\\": 1,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.TangentMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 11,\\n \\\"m_DisplayName\\\": \\\"Vertex Tangent\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vertex Tangent\\\",\\n \\\"m_StageCapability\\\": 1,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.ColorRGBMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Albedo\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Albedo\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.7353569269180298,\\n \\\"y\\\": 0.7353569269180298,\\n \\\"z\\\": 0.7353569269180298\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_ColorMode\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.NormalMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Normal\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Normal\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 3\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.ColorRGBMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"Emission\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Emission\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_ColorMode\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"Metallic\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Metallic\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 5,\\n \\\"m_DisplayName\\\": \\\"Smoothness\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Smoothness\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.5,\\n \\\"m_DefaultValue\\\": 0.5,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"Occlusion\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Occlusion\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 1.0,\\n \\\"m_DefaultValue\\\": 1.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"Alpha\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Alpha\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 1.0,\\n \\\"m_DefaultValue\\\": 1.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 8,\\n \\\"m_DisplayName\\\": \\\"AlphaClipThreshold\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"AlphaClipThreshold\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_DOTSInstancing\": false,\n \"m_SerializableSubShaders\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.Rendering.Universal.UniversalPBRSubShader\"\n },\n \"JSONnodeData\": \"{}\"\n }\n ],\n \"m_ShaderGUIOverride\": \"\",\n \"m_OverrideEnabled\": false,\n \"m_Model\": 1,\n \"m_SurfaceType\": 0,\n \"m_AlphaMode\": 0,\n \"m_TwoSided\": false,\n \"m_NormalDropOffSpace\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"f4afe522-baf9-432a-82b7-b7de3d32c6d1\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -115.0,\n \"y\": 258.0,\n \"width\": 156.0,\n \"height\": 34.000003814697269\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"1f801b95-1898-44f4-a056-0e179cd2290f\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"ff47ecaa-c17b-4f81-8687-1b8c109dc638\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -113.99996185302735,\n \"y\": 291.0,\n \"width\": 171.00001525878907,\n \"height\": 34.000003814697269\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"26a0e850-f4b7-4172-9e6d-ebd076aa12f4\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"0b2b92be-0f00-45ce-8d47-0ccc16547e14\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -115.99996185302735,\n \"y\": 227.0,\n \"width\": 141.0,\n \"height\": 34.000003814697269\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Scale\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"0f8451d3-f402-45f1-80a0-90c8cfc3c5a1\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"33113907-91a6-4f77-bbdb-4c5daa97af8f\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -115.0,\n \"y\": 103.00000762939453,\n \"width\": 163.0,\n \"height\": 34.000003814697269\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"290855a3-663b-4b44-871b-434a544fd001\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"04a8b3b8-020e-472c-a9ee-37228c27956a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 1163.9998779296875,\n \"y\": 444.0000305175781,\n \"width\": 136.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Alpha Cutoff\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"7b92f262-febd-4fdf-89f4-2f0dbbe3c19e\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"1f6ca554-5311-49be-b211-bca780fc33da\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -120.99999237060547,\n \"y\": -66.00000762939453,\n \"width\": 175.00001525878907,\n \"height\": 34.000003814697269\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Strength\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"10d76b91-eaaf-4eb7-8331-d7e8f7615734\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"65be6b0d-29f0-491a-b7a4-b94380ec2094\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -110.00003051757813,\n \"y\": 525.9999389648438,\n \"width\": 149.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Metallic\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"2447befe-815a-42fa-a48c-0ecec203118c\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"15adefed-fe51-4a61-9f73-45fed5bc2961\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -108.00007629394531,\n \"y\": 494.0000305175781,\n \"width\": 140.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Roughness\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"9dba0444-5255-46c6-b45b-d7758fb87c92\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"PBR_metallic_roughness_Legacy\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 294.00006103515627,\n \"y\": 23.0,\n \"width\": 331.0,\n \"height\": 590.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -93992038,\\n \\\"m_DisplayName\\\": \\\"occlusionStrength\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_57266306\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1176174230,\\n \\\"m_DisplayName\\\": \\\"occlusionTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_36068458\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1329966883,\\n \\\"m_DisplayName\\\": \\\"occlusionTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_D95F09CC\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 786133705,\\n \\\"m_DisplayName\\\": \\\"occlusionTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_47B0896F\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -210516650,\\n \\\"m_DisplayName\\\": \\\"occlusionTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_14EEF9A9\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -170433253,\\n \\\"m_DisplayName\\\": \\\"normalTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_B4A7F700\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1159867161,\\n \\\"m_DisplayName\\\": \\\"normalTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_5C7F3701\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -429140327,\\n \\\"m_DisplayName\\\": \\\"normalTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_C39E4CD1\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -481750681,\\n \\\"m_DisplayName\\\": \\\"normalTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_88C78C57\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1763326587,\\n \\\"m_DisplayName\\\": \\\"normalScale\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_345B830B\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 366981793,\\n \\\"m_DisplayName\\\": \\\"emissiveFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector3_E344F397\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 129475646,\\n \\\"m_DisplayName\\\": \\\"emissiveTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_8F96C631\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1448742966,\\n \\\"m_DisplayName\\\": \\\"emissionTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_44D9BB81\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -797345333,\\n \\\"m_DisplayName\\\": \\\"emissionTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_C7C6C37D\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1882888430,\\n \\\"m_DisplayName\\\": \\\"emissionTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_DB36ED60\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1788256886,\\n \\\"m_DisplayName\\\": \\\"roughnessFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_B9A549A5\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1324895555,\\n \\\"m_DisplayName\\\": \\\"metallicFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_6633F151\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1438624126,\\n \\\"m_DisplayName\\\": \\\"baseColorFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_8743F3C3\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1050676157,\\n \\\"m_DisplayName\\\": \\\"baseColorTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_EBF077FA\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 921423784,\\n \\\"m_DisplayName\\\": \\\"baseColorTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_6F4A9DFD\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 76898838,\\n \\\"m_DisplayName\\\": \\\"baseColorTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_FE260CB0\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1997650031,\\n \\\"m_DisplayName\\\": \\\"baseColorTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_813EE33E\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -908648287,\\n \\\"m_DisplayName\\\": \\\"metallicRoughnessTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_2BD19CD4\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -373963592,\\n \\\"m_DisplayName\\\": \\\"metallicRoughnessTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_A391227B\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1343882601,\\n \\\"m_DisplayName\\\": \\\"metallicRoughnessTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_EE89C726\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1531592597,\\n \\\"m_DisplayName\\\": \\\"metallicRoughnessTextureTexCoord\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_7FA59A3E\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -2033327270,\\n \\\"m_DisplayName\\\": \\\"UV0\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_B59C246\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -745315628,\\n \\\"m_DisplayName\\\": \\\"UV1\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_2B3B3D76\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"Albedo\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Albedo\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"Normal\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Normal\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"Emission\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Emission\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"Metallic\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Metallic\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 5,\\n \\\"m_DisplayName\\\": \\\"Smoothness\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Smoothness\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Occlusion\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Occlusion\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"Alpha\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Alpha\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 8,\\n \\\"m_DisplayName\\\": \\\"baseColorUV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"baseColorUV\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_SerializedSubGraph\": \"{\\n \\\"subGraph\\\": {\\n \\\"fileID\\\": -5475051401550479605,\\n \\\"guid\\\": \\\"1610512b96f344c11bf850c044c1b5c7\\\",\\n \\\"type\\\": 3\\n }\\n}\",\n \"m_PropertyGuids\": [\n \"2a4c85c6-a729-4e82-81d3-77ec259c58de\",\n \"e85226d9-1785-431c-b779-0a31a91295de\",\n \"d7da8a92-273f-4f7b-ae2c-668b7e04a26c\",\n \"189b1fbb-ef98-4483-a2a6-74653e7265ad\",\n \"18c8e2c1-767f-46e3-90f7-6938c8c9891c\",\n \"1aa9ec50-0e3f-4e77-81b7-7ed5cd0d7c51\",\n \"0091f9d7-7596-4b86-86b3-c45dc2f579ec\",\n \"23b11ff4-3af1-4945-9c4b-b3b499bdfa33\",\n \"1535492a-2795-428c-a7a8-0c963bc80c1b\",\n \"380b6046-ffdc-407c-aab5-0e62237b3e9b\",\n \"349829b0-a90d-4b44-bf38-99916345bde2\",\n \"77ff8161-3714-4ef8-8885-767db25a0931\",\n \"1c7d931e-ae67-4dbe-910f-950e7f631636\",\n \"34d7ae95-a71a-4dea-b2b5-15f8e886e625\",\n \"8029fa63-8af6-4814-8886-1f788280d2d6\",\n \"7be3bd36-f1f9-4365-99db-cc9af66a0ec5\",\n \"73d8282d-4f4b-4a00-96f0-ef1c19d5e5f9\",\n \"2bf50a80-5b1b-4d86-85c6-f86339dc7f97\",\n \"34745e4b-9d3d-4fc3-b755-4abc8212bdef\",\n \"a2532bde-bd96-4c3d-b3f3-90e9b53fb3f1\",\n \"d81e8ca0-466d-494d-9b62-6d822f9394bb\",\n \"1a9c6f38-e9be-441e-b922-b649b889e53f\",\n \"4e8f9afd-37e4-4c1e-8d37-9f7911e3a17a\",\n \"0ac9a86a-306c-478f-96b5-93e2800d182f\",\n \"850c1957-79b6-494b-aed1-4c867151a8c1\",\n \"f2303c84-2349-45d7-86d2-019dd1103298\",\n \"bb273083-5afc-424d-b84d-cf153a4b9a07\",\n \"3ba9818a-881c-45bb-a3ce-5a590d7da089\",\n \"abc4bac7-7e21-4041-9894-7a08dce3a711\",\n \"76c98fda-047c-4f17-ba66-d653df4556a6\",\n \"c6a2b58b-9ee8-4869-b987-aefaf7e5c0a8\",\n \"14ebecb0-a186-40c4-9baa-2d0614d90e29\"\n ],\n \"m_PropertyIds\": [\n -93992038,\n -170433253,\n -1763326587,\n -2096931947,\n 129475646,\n 1788256886,\n -1324895555,\n -1438624126,\n 1050676157,\n -908648287,\n 76898838,\n 921423784,\n 656072342,\n -2033327270,\n 366981793,\n 1176174230,\n -745315628,\n -1997650031,\n -481750681,\n -1882888430,\n -210516650,\n 1159867161,\n -429140327,\n -1448742966,\n -1329966883,\n -797345333,\n 786133705,\n -373963592,\n -1343882601,\n -1531592597,\n -162857654,\n -1737642915\n ]\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"b9d12c80-0898-4bf9-9456-0659a03d4f29\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -117.0,\n \"y\": -33.99999237060547,\n \"width\": 177.00001525878907,\n \"height\": 34.000003814697269\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"8e2bf8f5-c63a-4499-838d-4d8264e31925\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"f950e22c-0faa-449e-9c27-7219efbbac6b\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -112.00009155273438,\n \"y\": 627.0,\n \"width\": 187.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"069f0a9f-bab9-4025-81ea-0b6976eec3c5\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"776f173b-cc1c-4891-a0ce-63a9e7c084d0\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -119.0,\n \"y\": -146.00001525878907,\n \"width\": 180.0,\n \"height\": 34.000003814697269\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Transmission\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"2793be4b-b042-47ee-aee8-4ad548f3e6a8\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"7717f4f3-ca38-424c-939c-f9d425f17346\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -119.0,\n \"y\": -110.0,\n \"width\": 196.00001525878907,\n \"height\": 34.000003814697269\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Transmission Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"c78dc6ba-ab52-4c62-9001-bf2477bc92d3\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.KeywordNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"32e9e4f3-587b-4181-b67c-527db93b58c6\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"TRANSMISSION\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 1121.0,\n \"y\": 78.99999237060547,\n \"width\": 141.0,\n \"height\": 118.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicVectorMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicVectorMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"On\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"On\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicVectorMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"Off\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Off\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_KeywordGuidSerialized\": \"2d4a6c6e-9ba5-40d0-aedf-0a2df1d543dd\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"b934a544-b3b3-4c16-a1bb-61395b5129cc\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"ScreenGrab\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 754.9999389648438,\n \"y\": -103.00003814697266,\n \"width\": 294.0,\n \"height\": 166.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1442603025,\\n \\\"m_DisplayName\\\": \\\"Albedo\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector3_6B81D22D\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 1.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 120952686,\\n \\\"m_DisplayName\\\": \\\"transmissionFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_F68FE44C\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 109598298,\\n \\\"m_DisplayName\\\": \\\"transmissionTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_746CA73\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1449242513,\\n \\\"m_DisplayName\\\": \\\"transmissionTextureUV\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_49307EBC\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Out_Vector3\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"OutVector3\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_SerializedSubGraph\": \"{\\n \\\"subGraph\\\": {\\n \\\"fileID\\\": -5475051401550479605,\\n \\\"guid\\\": \\\"34bce5e04fd5d474286972968941bb2a\\\",\\n \\\"type\\\": 3\\n }\\n}\",\n \"m_PropertyGuids\": [\n \"22a7d007-eba4-4fe6-b3d7-636c03cc760e\",\n \"6975d6d2-7b40-4103-aceb-154520b5a9bf\",\n \"8c061bba-ea8e-4dfc-9ff3-60bada05801c\",\n \"c7571956-4ec9-4927-ab49-20c14168211e\"\n ],\n \"m_PropertyIds\": [\n -1442603025,\n 120952686,\n 109598298,\n -1449242513\n ]\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.UVNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"bebc2a18-6091-4b17-8572-b81ac8bdaf32\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"UV\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 11.000032424926758,\n \"y\": 997.9999389648438,\n \"width\": 145.0,\n \"height\": 127.99999237060547\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_OutputChannel\": 1\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"c3e5678f-4d25-47c6-8d90-ff104bf84657\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -111.00006103515625,\n \"y\": 699.0,\n \"width\": 226.00001525878907,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"01a86c44-4c21-442a-8ee1-a7eb77704c4f\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"e50546b7-6c25-481a-94d7-8d5eb66be631\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -113.99996185302735,\n \"y\": 322.0,\n \"width\": 185.0,\n \"height\": 34.000003814697269\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"b1be9b39-b105-4087-985e-f6eb003f06d1\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"d4b05729-f274-4c8b-bc80-6a1fa770fc85\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -111.0,\n \"y\": 390.0000305175781,\n \"width\": 226.00001525878907,\n \"height\": 34.000003814697269\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"e29fdde6-03d7-4303-a706-e86a76dc3344\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"612d7c1b-3a4a-4320-aff3-fa70a04616d1\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -115.0,\n \"y\": 196.00001525878907,\n \"width\": 215.0,\n \"height\": 34.000003814697269\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"99601d2a-dea4-43c7-a834-04f9af6f05fa\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"26eb7d58-0de2-4ddf-8a9f-66daf3f8268e\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -117.99996185302735,\n \"y\": 68.99999237060547,\n \"width\": 229.00001525878907,\n \"height\": 34.000003814697269\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"aa0c7a44-774f-4810-b9c3-cf7ac3b7e153\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"8d7d94a6-b3b5-4c30-988d-fa3a6131a150\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -113.0,\n \"y\": 355.9999694824219,\n \"width\": 213.0,\n \"height\": 34.000003814697269\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"e9170e04-da87-484d-96ad-897c059300e0\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"6002045f-a855-4e21-850d-12864a93f768\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -115.0,\n \"y\": 136.00001525878907,\n \"width\": 175.00001525878907,\n \"height\": 34.000003814697269\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"d1e9d72e-fd9f-444e-9d70-c1504e8fe681\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"a6a8a189-1ca4-4bbb-a80b-7d4697124591\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -113.99996185302735,\n \"y\": 165.0,\n \"width\": 202.00001525878907,\n \"height\": 34.000003814697269\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"602ab477-8f72-4df8-9191-288cd6c5e4d5\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"cfcaabcf-b1b4-455b-a2d0-ce8bf51dcf26\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -117.0,\n \"y\": 0.0000019073486328125,\n \"width\": 189.0,\n \"height\": 34.000003814697269\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"81ffbc91-537c-4248-9442-5b1679781096\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"dde6d5d7-b5b7-4b27-9e3b-fbcabfcbcadd\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -117.0,\n \"y\": 35.00001525878906,\n \"width\": 216.0,\n \"height\": 34.000003814697269\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"415b99f8-047a-4116-a162-7a2c1dee6d2c\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"a4085a8e-e4b0-46be-854e-31edc04fd069\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -110.99999237060547,\n \"y\": 775.9999389648438,\n \"width\": 232.99998474121095,\n \"height\": 33.999996185302737\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Metallic-Roughness Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"974a34fd-0dc8-4d00-9979-0519802e7a73\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"720de258-d13d-453e-be6e-2a307fda0ba9\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -110.99999237060547,\n \"y\": 806.9999389648438,\n \"width\": 259.9999694824219,\n \"height\": 33.999996185302737\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Metallic-Roughness Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"dd9b0745-38e2-4c14-9fab-5a098929fd43\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"6b57a9c8-ddce-41b4-819a-4b8092965b77\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -111.9999008178711,\n \"y\": 838.9999389648438,\n \"width\": 271.9999694824219,\n \"height\": 33.999996185302737\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Metallic-Roughness Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"743c7b72-9601-4582-92b7-a9e09e4eeabb\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"1ddf1e45-69ba-41fa-ba46-4488094e42e1\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -107.0,\n \"y\": 452.0,\n \"width\": 210.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive Exposure Weight\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"60848160-13a2-43fc-aac7-39b6a35ea439\"\n}" - } - ], - "m_Groups": [], - "m_StickyNotes": [], - "m_SerializableEdges": [ - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"04a8b3b8-020e-472c-a9ee-37228c27956a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 8,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"1f6ca554-5311-49be-b211-bca780fc33da\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -93992038,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"33113907-91a6-4f77-bbdb-4c5daa97af8f\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -170433253,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"0b2b92be-0f00-45ce-8d47-0ccc16547e14\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1763326587,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"ff47ecaa-c17b-4f81-8687-1b8c109dc638\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 129475646,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"15adefed-fe51-4a61-9f73-45fed5bc2961\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1788256886,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"65be6b0d-29f0-491a-b7a4-b94380ec2094\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1324895555,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"ff8e6a70-685e-40e3-bd9a-1253d36a963f\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1438624126,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"18922adc-3efa-4c2e-9faa-ce5a585d4657\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1050676157,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"c3a2f30b-2332-45df-ab3c-9fd061527cc6\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -908648287,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 6,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 3,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 4,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 4,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 5,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 5,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 7,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 7,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"18246a20-8752-4459-8c75-2818fc4af4f3\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -2033327270,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"f4afe522-baf9-432a-82b7-b7de3d32c6d1\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 366981793,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"b9d12c80-0898-4bf9-9456-0659a03d4f29\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1176174230,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"f950e22c-0faa-449e-9c27-7219efbbac6b\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 921423784,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"d96b2bad-447c-4001-bc02-75edd93ac03a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 76898838,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 6,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1442603025,\n \"m_NodeGUIDSerialized\": \"b934a544-b3b3-4c16-a1bb-61395b5129cc\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"b934a544-b3b3-4c16-a1bb-61395b5129cc\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"32e9e4f3-587b-4181-b67c-527db93b58c6\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"776f173b-cc1c-4891-a0ce-63a9e7c084d0\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 120952686,\n \"m_NodeGUIDSerialized\": \"b934a544-b3b3-4c16-a1bb-61395b5129cc\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"7717f4f3-ca38-424c-939c-f9d425f17346\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 109598298,\n \"m_NodeGUIDSerialized\": \"b934a544-b3b3-4c16-a1bb-61395b5129cc\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 8,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1449242513,\n \"m_NodeGUIDSerialized\": \"b934a544-b3b3-4c16-a1bb-61395b5129cc\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 6,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"32e9e4f3-587b-4181-b67c-527db93b58c6\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"32e9e4f3-587b-4181-b67c-527db93b58c6\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"bebc2a18-6091-4b17-8572-b81ac8bdaf32\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -745315628,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"c3e5678f-4d25-47c6-8d90-ff104bf84657\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1997650031,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"d4b05729-f274-4c8b-bc80-6a1fa770fc85\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1882888430,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"612d7c1b-3a4a-4320-aff3-fa70a04616d1\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -481750681,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"26eb7d58-0de2-4ddf-8a9f-66daf3f8268e\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -210516650,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"e50546b7-6c25-481a-94d7-8d5eb66be631\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1448742966,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"8d7d94a6-b3b5-4c30-988d-fa3a6131a150\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -797345333,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"6002045f-a855-4e21-850d-12864a93f768\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1159867161,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"a6a8a189-1ca4-4bbb-a80b-7d4697124591\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -429140327,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"cfcaabcf-b1b4-455b-a2d0-ce8bf51dcf26\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1329966883,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"dde6d5d7-b5b7-4b27-9e3b-fbcabfcbcadd\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 786133705,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"a4085a8e-e4b0-46be-854e-31edc04fd069\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -373963592,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"720de258-d13d-453e-be6e-2a307fda0ba9\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1343882601,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"6b57a9c8-ddce-41b4-819a-4b8092965b77\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1531592597,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - } - ], - "m_PreviewData": { - "serializedMesh": { - "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", - "m_Guid": "" - } - }, - "m_Path": "Shader Graphs", - "m_ConcretePrecision": 0, - "m_ActiveOutputNodeGuidSerialized": "e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8" -} \ No newline at end of file diff --git a/Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Opaque.shadergraph.meta b/Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Opaque.shadergraph.meta deleted file mode 100644 index 3a678c1cd..000000000 --- a/Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Opaque.shadergraph.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 90c26dfde11bf4ff69ef936c6e6b1ed1 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Premultiply-double.shadergraph b/Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Premultiply-double.shadergraph deleted file mode 100644 index 98d15bcec..000000000 --- a/Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Premultiply-double.shadergraph +++ /dev/null @@ -1,603 +0,0 @@ -{ - "m_SerializedProperties": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"7f4f45f2-b62a-4732-893b-0d7ab9ce6986\"\n },\n \"m_Name\": \"Base Color\",\n \"m_DefaultReferenceName\": \"Color_A53D4B2B\",\n \"m_OverrideReferenceName\": \"baseColorFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 2,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"r\": 1.0,\n \"g\": 1.0,\n \"b\": 1.0,\n \"a\": 1.0\n },\n \"m_ColorMode\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"06d6e0d3-a210-4065-af02-38a543a20066\"\n },\n \"m_Name\": \"Base Color Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_3270778E\",\n \"m_OverrideReferenceName\": \"baseColorTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 2,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"50cc2671-e469-49b3-804d-a1b67f32fe59\"\n },\n \"m_Name\": \"Base Color Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_6585E8BA\",\n \"m_OverrideReferenceName\": \"baseColorTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"8c960e31-f89f-41e6-958a-5a8561a5d8c4\"\n },\n \"m_Name\": \"Base Color Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_DC752BB\",\n \"m_OverrideReferenceName\": \"baseColorTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"06fc1bb0-e397-44dc-89fc-a800c6f1bcd5\"\n },\n \"m_Name\": \"Base Color Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_6AEDFC69\",\n \"m_OverrideReferenceName\": \"baseColorTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 2,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"290855a3-663b-4b44-871b-434a544fd001\"\n },\n \"m_Name\": \"Normal Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_4207825D\",\n \"m_OverrideReferenceName\": \"normalTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 3\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"2501090c-3a6e-4252-a826-af4acf03a8c8\"\n },\n \"m_Name\": \"Normal Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_F9C92E59\",\n \"m_OverrideReferenceName\": \"normalTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"dfa20b5a-3dda-404f-8c8c-21c91aba2bb6\"\n },\n \"m_Name\": \"Normal Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_BCF150E8\",\n \"m_OverrideReferenceName\": \"normalTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"648e5604-31e0-42a5-bdea-090ffbf7853b\"\n },\n \"m_Name\": \"Normal Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_17E72376\",\n \"m_OverrideReferenceName\": \"normalTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 2,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"0f8451d3-f402-45f1-80a0-90c8cfc3c5a1\"\n },\n \"m_Name\": \"Normal Scale\",\n \"m_DefaultReferenceName\": \"Vector1_97BB6A5\",\n \"m_OverrideReferenceName\": \"normalTexture_scale\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 1.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"10d76b91-eaaf-4eb7-8331-d7e8f7615734\"\n },\n \"m_Name\": \"Occlusion Strength\",\n \"m_DefaultReferenceName\": \"Vector1_DDDD754\",\n \"m_OverrideReferenceName\": \"occlusionTexture_strength\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 1.0,\n \"m_FloatType\": 1,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"8e2bf8f5-c63a-4499-838d-4d8264e31925\"\n },\n \"m_Name\": \"Occlusion Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_1970B80F\",\n \"m_OverrideReferenceName\": \"occlusionTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"c68122fb-c366-45d3-9939-1074d27d462d\"\n },\n \"m_Name\": \"Occlusion Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_F51F7107\",\n \"m_OverrideReferenceName\": \"occlusionTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"9f402c74-adda-4225-a883-dffd77f2149f\"\n },\n \"m_Name\": \"Occlusion Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_52D0E011\",\n \"m_OverrideReferenceName\": \"occlusionTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"afd39e18-ec4c-4180-a612-9f52af0a536f\"\n },\n \"m_Name\": \"Occlusion Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_848AC01E\",\n \"m_OverrideReferenceName\": \"occlusionTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 2,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"9dba0444-5255-46c6-b45b-d7758fb87c92\"\n },\n \"m_Name\": \"Roughness\",\n \"m_DefaultReferenceName\": \"Vector1_BB0292F7\",\n \"m_OverrideReferenceName\": \"roughnessFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 1.0,\n \"m_FloatType\": 1,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"2447befe-815a-42fa-a48c-0ecec203118c\"\n },\n \"m_Name\": \"Metallic\",\n \"m_DefaultReferenceName\": \"Vector1_94172940\",\n \"m_OverrideReferenceName\": \"metallicFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 1.0,\n \"m_FloatType\": 1,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"7c763b51-7fad-4cea-8cd7-bfc77a4aed10\"\n },\n \"m_Name\": \"Metallic-Roughness Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_479F257E\",\n \"m_OverrideReferenceName\": \"metallicRoughnessTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"c4efd2ba-e393-45a1-abba-0a3b5bd6c571\"\n },\n \"m_Name\": \"Metallic-Roughness Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_300F866C\",\n \"m_OverrideReferenceName\": \"metallicRoughnessTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"f2cedafb-5624-4924-bd29-5870a660e1fc\"\n },\n \"m_Name\": \"Metallic-Roughness Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_5CE14D81\",\n \"m_OverrideReferenceName\": \"metallicRoughnessTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"9bf7f682-332d-4fcb-9a11-987375d0196e\"\n },\n \"m_Name\": \"Metallic-Roughness Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_E1E69386\",\n \"m_OverrideReferenceName\": \"metallicRoughnessTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 2,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"1f801b95-1898-44f4-a056-0e179cd2290f\"\n },\n \"m_Name\": \"Emissive\",\n \"m_DefaultReferenceName\": \"Color_DDF6DA04\",\n \"m_OverrideReferenceName\": \"emissiveFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"r\": 0.0,\n \"g\": 0.0,\n \"b\": 0.0,\n \"a\": 1.0\n },\n \"m_ColorMode\": 1\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"26a0e850-f4b7-4172-9e6d-ebd076aa12f4\"\n },\n \"m_Name\": \"Emissive Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_C0C78D41\",\n \"m_OverrideReferenceName\": \"emissiveTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"e489a50d-a2b6-442f-9532-5d3dcc66da61\"\n },\n \"m_Name\": \"Emissive Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_E54CFCD6\",\n \"m_OverrideReferenceName\": \"emissiveTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"3c6c2d03-2054-4dc2-8dc9-7eb6f7966468\"\n },\n \"m_Name\": \"Emissive Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_E1027E10\",\n \"m_OverrideReferenceName\": \"emissiveTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"569d90e9-9590-4949-a1ca-75ababe7c9aa\"\n },\n \"m_Name\": \"Emissive Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_93694151\",\n \"m_OverrideReferenceName\": \"emissiveTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 2,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"7b92f262-febd-4fdf-89f4-2f0dbbe3c19e\"\n },\n \"m_Name\": \"Alpha Cutoff\",\n \"m_DefaultReferenceName\": \"Vector1_C94E19E6\",\n \"m_OverrideReferenceName\": \"alphaCutoff\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.5,\n \"m_FloatType\": 1,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - } - ], - "m_SerializedKeywords": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.ShaderKeyword" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"a7d905c3-7492-4341-bcc1-99dd0b856891\"\n },\n \"m_Name\": \"EMISSIVE\",\n \"m_DefaultReferenceName\": \"BOOLEAN_81A09341_ON\",\n \"m_OverrideReferenceName\": \"_EMISSIVE\",\n \"m_GeneratePropertyBlock\": true,\n \"m_KeywordType\": 0,\n \"m_KeywordDefinition\": 0,\n \"m_KeywordScope\": 0,\n \"m_Entries\": [],\n \"m_Value\": 0,\n \"m_IsEditable\": true,\n \"m_IsExposable\": true\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.ShaderKeyword" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"4bdd5ce6-07d2-407c-8a17-dc0d8fa64973\"\n },\n \"m_Name\": \"OCCLUSION\",\n \"m_DefaultReferenceName\": \"BOOLEAN_90C144E9_ON\",\n \"m_OverrideReferenceName\": \"_OCCLUSION\",\n \"m_GeneratePropertyBlock\": true,\n \"m_KeywordType\": 0,\n \"m_KeywordDefinition\": 0,\n \"m_KeywordScope\": 0,\n \"m_Entries\": [],\n \"m_Value\": 0,\n \"m_IsEditable\": true,\n \"m_IsExposable\": true\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.ShaderKeyword" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"491a1517-580c-4293-944c-c710404646f2\"\n },\n \"m_Name\": \"TEXTURE_TRANSFORM\",\n \"m_DefaultReferenceName\": \"BOOLEAN_3B0ECFED_ON\",\n \"m_OverrideReferenceName\": \"_TEXTURE_TRANSFORM\",\n \"m_GeneratePropertyBlock\": true,\n \"m_KeywordType\": 0,\n \"m_KeywordDefinition\": 0,\n \"m_KeywordScope\": 0,\n \"m_Entries\": [],\n \"m_Value\": 0,\n \"m_IsEditable\": true,\n \"m_IsExposable\": true\n}" - } - ], - "m_SerializableNodes": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"f0d9f728-c4c3-43fc-84e3-c2e13b989db9\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -98.0,\n \"y\": 395.0,\n \"width\": 221.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"569d90e9-9590-4949-a1ca-75ababe7c9aa\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"3f131d3e-266d-4054-9da7-591d553ee96e\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -98.0,\n \"y\": 368.0,\n \"width\": 208.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"3c6c2d03-2054-4dc2-8dc9-7eb6f7966468\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"4711a736-a766-4e49-b770-4c3af6fe412a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -98.0,\n \"y\": 341.0,\n \"width\": 181.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"e489a50d-a2b6-442f-9532-5d3dcc66da61\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"8903543f-3acb-4c5e-8d38-f1cfec470860\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -98.0,\n \"y\": 584.0,\n \"width\": 229.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"06fc1bb0-e397-44dc-89fc-a800c6f1bcd5\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"5d31df53-cb4e-4b7f-a111-c8d9b47af896\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -99.0,\n \"y\": 695.0,\n \"width\": 275.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Metallic-Roughness Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"9bf7f682-332d-4fcb-9a11-987375d0196e\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"df6a1a94-24ed-4d57-8111-064047a2896c\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -98.0,\n \"y\": 667.0,\n \"width\": 261.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Metallic-Roughness Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"f2cedafb-5624-4924-bd29-5870a660e1fc\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"20b09106-05af-429c-8800-720422bc1678\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -98.0,\n \"y\": 639.0,\n \"width\": 235.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Metallic-Roughness Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"c4efd2ba-e393-45a1-abba-0a3b5bd6c571\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.UVNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"aac387ac-7ce1-45c4-8270-bfb6bd85043f\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"UV\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 26.999980926513673,\n \"y\": 855.0,\n \"width\": 145.0,\n \"height\": 128.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_OutputChannel\": 1\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"c3a2f30b-2332-45df-ab3c-9fd061527cc6\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -98.0,\n \"y\": 612.0,\n \"width\": 225.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Metallic-Roughness Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"7c763b51-7fad-4cea-8cd7-bfc77a4aed10\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"18922adc-3efa-4c2e-9faa-ce5a585d4657\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -98.0,\n \"y\": 503.0,\n \"width\": 178.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 2,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"06d6e0d3-a210-4065-af02-38a543a20066\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.UVNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"18246a20-8752-4459-8c75-2818fc4af4f3\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"UV\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 26.999980926513673,\n \"y\": 730.0,\n \"width\": 145.0,\n \"height\": 128.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_OutputChannel\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"d96b2bad-447c-4001-bc02-75edd93ac03a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -98.0,\n \"y\": 557.0,\n \"width\": 216.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"8c960e31-f89f-41e6-958a-5a8561a5d8c4\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"ff8e6a70-685e-40e3-bd9a-1253d36a963f\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -98.0,\n \"y\": 476.0,\n \"width\": 163.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 2,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"7f4f45f2-b62a-4732-893b-0d7ab9ce6986\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PBRMasterNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"PBR Master\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 1012.0000610351563,\n \"y\": 202.0,\n \"width\": 200.0,\n \"height\": 317.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.PositionMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 9,\\n \\\"m_DisplayName\\\": \\\"Vertex Position\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vertex Position\\\",\\n \\\"m_StageCapability\\\": 1,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.NormalMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 10,\\n \\\"m_DisplayName\\\": \\\"Vertex Normal\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vertex Normal\\\",\\n \\\"m_StageCapability\\\": 1,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.TangentMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 11,\\n \\\"m_DisplayName\\\": \\\"Vertex Tangent\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vertex Tangent\\\",\\n \\\"m_StageCapability\\\": 1,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.ColorRGBMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Albedo\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Albedo\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.7353569269180298,\\n \\\"y\\\": 0.7353569269180298,\\n \\\"z\\\": 0.7353569269180298\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_ColorMode\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.NormalMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Normal\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Normal\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 3\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.ColorRGBMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"Emission\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Emission\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_ColorMode\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"Metallic\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Metallic\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 5,\\n \\\"m_DisplayName\\\": \\\"Smoothness\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Smoothness\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.5,\\n \\\"m_DefaultValue\\\": 0.5,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"Occlusion\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Occlusion\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 1.0,\\n \\\"m_DefaultValue\\\": 1.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"Alpha\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Alpha\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 1.0,\\n \\\"m_DefaultValue\\\": 1.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 8,\\n \\\"m_DisplayName\\\": \\\"AlphaClipThreshold\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"AlphaClipThreshold\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_DOTSInstancing\": false,\n \"m_SerializableSubShaders\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.Rendering.Universal.UniversalPBRSubShader\"\n },\n \"JSONnodeData\": \"{}\"\n }\n ],\n \"m_ShaderGUIOverride\": \"\",\n \"m_OverrideEnabled\": false,\n \"m_Model\": 1,\n \"m_SurfaceType\": 1,\n \"m_AlphaMode\": 1,\n \"m_TwoSided\": true,\n \"m_NormalDropOffSpace\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"53e5c6cc-7887-4ad6-98e7-2dfd426d06bb\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -98.0,\n \"y\": 530.0,\n \"width\": 190.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"50cc2671-e469-49b3-804d-a1b67f32fe59\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"f4afe522-baf9-432a-82b7-b7de3d32c6d1\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -98.0,\n \"y\": 287.0,\n \"width\": 154.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"1f801b95-1898-44f4-a056-0e179cd2290f\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"ff47ecaa-c17b-4f81-8687-1b8c109dc638\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -98.0,\n \"y\": 314.0,\n \"width\": 170.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"26a0e850-f4b7-4172-9e6d-ebd076aa12f4\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"0b2b92be-0f00-45ce-8d47-0ccc16547e14\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -98.0,\n \"y\": 260.0,\n \"width\": 141.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Scale\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"0f8451d3-f402-45f1-80a0-90c8cfc3c5a1\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"33113907-91a6-4f77-bbdb-4c5daa97af8f\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -97.0,\n \"y\": 152.0,\n \"width\": 163.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"290855a3-663b-4b44-871b-434a544fd001\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"04a8b3b8-020e-472c-a9ee-37228c27956a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 831.0000610351563,\n \"y\": 483.0,\n \"width\": 139.0,\n \"height\": 34.000003814697269\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Alpha Cutoff\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"7b92f262-febd-4fdf-89f4-2f0dbbe3c19e\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"1f6ca554-5311-49be-b211-bca780fc33da\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -97.0,\n \"y\": 17.0,\n \"width\": 172.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Strength\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"10d76b91-eaaf-4eb7-8331-d7e8f7615734\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"65be6b0d-29f0-491a-b7a4-b94380ec2094\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -98.0,\n \"y\": 449.0,\n \"width\": 150.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Metallic\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"2447befe-815a-42fa-a48c-0ecec203118c\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"15adefed-fe51-4a61-9f73-45fed5bc2961\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -98.0,\n \"y\": 422.0,\n \"width\": 141.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Roughness\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"9dba0444-5255-46c6-b45b-d7758fb87c92\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"PBR_metallic_roughness_Legacy\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 294.0001220703125,\n \"y\": 40.9999885559082,\n \"width\": 351.0,\n \"height\": 566.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -93992038,\\n \\\"m_DisplayName\\\": \\\"occlusionStrength\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_57266306\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1176174230,\\n \\\"m_DisplayName\\\": \\\"occlusionTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_36068458\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1329966883,\\n \\\"m_DisplayName\\\": \\\"occlusionTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_D95F09CC\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 786133705,\\n \\\"m_DisplayName\\\": \\\"occlusionTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_47B0896F\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -210516650,\\n \\\"m_DisplayName\\\": \\\"occlusionTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_14EEF9A9\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -170433253,\\n \\\"m_DisplayName\\\": \\\"normalTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_B4A7F700\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1159867161,\\n \\\"m_DisplayName\\\": \\\"normalTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_5C7F3701\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -429140327,\\n \\\"m_DisplayName\\\": \\\"normalTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_C39E4CD1\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -481750681,\\n \\\"m_DisplayName\\\": \\\"normalTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_88C78C57\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1763326587,\\n \\\"m_DisplayName\\\": \\\"normalScale\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_345B830B\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 366981793,\\n \\\"m_DisplayName\\\": \\\"emissiveFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector3_E344F397\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 129475646,\\n \\\"m_DisplayName\\\": \\\"emissiveTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_8F96C631\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1448742966,\\n \\\"m_DisplayName\\\": \\\"emissionTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_44D9BB81\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -797345333,\\n \\\"m_DisplayName\\\": \\\"emissionTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_C7C6C37D\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1882888430,\\n \\\"m_DisplayName\\\": \\\"emissionTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_DB36ED60\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1788256886,\\n \\\"m_DisplayName\\\": \\\"roughnessFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_B9A549A5\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1324895555,\\n \\\"m_DisplayName\\\": \\\"metallicFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_6633F151\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1438624126,\\n \\\"m_DisplayName\\\": \\\"baseColorFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_8743F3C3\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1050676157,\\n \\\"m_DisplayName\\\": \\\"baseColorTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_EBF077FA\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 921423784,\\n \\\"m_DisplayName\\\": \\\"baseColorTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_6F4A9DFD\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 76898838,\\n \\\"m_DisplayName\\\": \\\"baseColorTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_FE260CB0\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1997650031,\\n \\\"m_DisplayName\\\": \\\"baseColorTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_813EE33E\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -908648287,\\n \\\"m_DisplayName\\\": \\\"metallicRoughnessTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_2BD19CD4\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -373963592,\\n \\\"m_DisplayName\\\": \\\"metallicRoughnessTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_A391227B\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1343882601,\\n \\\"m_DisplayName\\\": \\\"metallicRoughnessTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_EE89C726\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1531592597,\\n \\\"m_DisplayName\\\": \\\"metallicRoughnessTextureTexCoord\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_7FA59A3E\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -2033327270,\\n \\\"m_DisplayName\\\": \\\"UV0\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_B59C246\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -745315628,\\n \\\"m_DisplayName\\\": \\\"UV1\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_2B3B3D76\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"Albedo\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Albedo\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"Normal\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Normal\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"Emission\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Emission\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"Metallic\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Metallic\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 5,\\n \\\"m_DisplayName\\\": \\\"Smoothness\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Smoothness\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Occlusion\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Occlusion\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"Alpha\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Alpha\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 8,\\n \\\"m_DisplayName\\\": \\\"baseColorUV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"baseColorUV\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_SerializedSubGraph\": \"{\\n \\\"subGraph\\\": {\\n \\\"fileID\\\": -5475051401550479605,\\n \\\"guid\\\": \\\"1610512b96f344c11bf850c044c1b5c7\\\",\\n \\\"type\\\": 3\\n }\\n}\",\n \"m_PropertyGuids\": [\n \"2a4c85c6-a729-4e82-81d3-77ec259c58de\",\n \"e85226d9-1785-431c-b779-0a31a91295de\",\n \"d7da8a92-273f-4f7b-ae2c-668b7e04a26c\",\n \"189b1fbb-ef98-4483-a2a6-74653e7265ad\",\n \"18c8e2c1-767f-46e3-90f7-6938c8c9891c\",\n \"1aa9ec50-0e3f-4e77-81b7-7ed5cd0d7c51\",\n \"0091f9d7-7596-4b86-86b3-c45dc2f579ec\",\n \"23b11ff4-3af1-4945-9c4b-b3b499bdfa33\",\n \"1535492a-2795-428c-a7a8-0c963bc80c1b\",\n \"380b6046-ffdc-407c-aab5-0e62237b3e9b\",\n \"349829b0-a90d-4b44-bf38-99916345bde2\",\n \"77ff8161-3714-4ef8-8885-767db25a0931\",\n \"1c7d931e-ae67-4dbe-910f-950e7f631636\",\n \"34d7ae95-a71a-4dea-b2b5-15f8e886e625\",\n \"8029fa63-8af6-4814-8886-1f788280d2d6\",\n \"7be3bd36-f1f9-4365-99db-cc9af66a0ec5\",\n \"850c1957-79b6-494b-aed1-4c867151a8c1\",\n \"bb273083-5afc-424d-b84d-cf153a4b9a07\",\n \"d81e8ca0-466d-494d-9b62-6d822f9394bb\",\n \"1a9c6f38-e9be-441e-b922-b649b889e53f\",\n \"4e8f9afd-37e4-4c1e-8d37-9f7911e3a17a\",\n \"34745e4b-9d3d-4fc3-b755-4abc8212bdef\",\n \"0ac9a86a-306c-478f-96b5-93e2800d182f\",\n \"f2303c84-2349-45d7-86d2-019dd1103298\",\n \"a2532bde-bd96-4c3d-b3f3-90e9b53fb3f1\",\n \"2bf50a80-5b1b-4d86-85c6-f86339dc7f97\",\n \"3ba9818a-881c-45bb-a3ce-5a590d7da089\",\n \"abc4bac7-7e21-4041-9894-7a08dce3a711\",\n \"76c98fda-047c-4f17-ba66-d653df4556a6\",\n \"73d8282d-4f4b-4a00-96f0-ef1c19d5e5f9\"\n ],\n \"m_PropertyIds\": [\n -93992038,\n -170433253,\n -1763326587,\n -2096931947,\n 129475646,\n 1788256886,\n -1324895555,\n -1438624126,\n 1050676157,\n -908648287,\n 76898838,\n 921423784,\n 656072342,\n -2033327270,\n 366981793,\n 1176174230,\n -1329966883,\n 786133705,\n -210516650,\n 1159867161,\n -429140327,\n -481750681,\n -1448742966,\n -797345333,\n -1882888430,\n -1997650031,\n -373963592,\n -1343882601,\n -1531592597,\n -745315628\n ]\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"b9d12c80-0898-4bf9-9456-0659a03d4f29\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -96.0,\n \"y\": 44.0,\n \"width\": 175.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"8e2bf8f5-c63a-4499-838d-4d8264e31925\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"b34fa37c-0a4b-4b91-befb-1ea216f4a9ac\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -97.0,\n \"y\": 179.0,\n \"width\": 174.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"2501090c-3a6e-4252-a826-af4acf03a8c8\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"2b1a2edb-0723-4810-84c9-6f8b369f6d18\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -97.0,\n \"y\": 206.0,\n \"width\": 201.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"dfa20b5a-3dda-404f-8c8c-21c91aba2bb6\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"4b932d77-f082-4970-bb62-916c1dd0b763\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -98.0,\n \"y\": 233.0,\n \"width\": 214.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"648e5604-31e0-42a5-bdea-090ffbf7853b\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"c11da6cc-f898-453e-b575-ebfb0326bddb\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -96.0,\n \"y\": 71.0,\n \"width\": 187.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"c68122fb-c366-45d3-9939-1074d27d462d\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"917e5dbc-a4e2-4b11-b919-caced55374f5\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -96.0,\n \"y\": 98.0,\n \"width\": 213.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"9f402c74-adda-4225-a883-dffd77f2149f\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"3cc53a96-fec1-438b-b4b0-a5f8434ba5b1\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -96.0,\n \"y\": 125.0,\n \"width\": 226.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"afd39e18-ec4c-4180-a612-9f52af0a536f\"\n}" - } - ], - "m_Groups": [], - "m_StickyNotes": [], - "m_SerializableEdges": [ - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"04a8b3b8-020e-472c-a9ee-37228c27956a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 8,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"1f6ca554-5311-49be-b211-bca780fc33da\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -93992038,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"33113907-91a6-4f77-bbdb-4c5daa97af8f\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -170433253,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"0b2b92be-0f00-45ce-8d47-0ccc16547e14\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1763326587,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"ff47ecaa-c17b-4f81-8687-1b8c109dc638\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 129475646,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"15adefed-fe51-4a61-9f73-45fed5bc2961\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1788256886,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"65be6b0d-29f0-491a-b7a4-b94380ec2094\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1324895555,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"ff8e6a70-685e-40e3-bd9a-1253d36a963f\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1438624126,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"18922adc-3efa-4c2e-9faa-ce5a585d4657\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1050676157,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"c3a2f30b-2332-45df-ab3c-9fd061527cc6\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -908648287,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"d96b2bad-447c-4001-bc02-75edd93ac03a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 76898838,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"53e5c6cc-7887-4ad6-98e7-2dfd426d06bb\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 921423784,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 6,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 3,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 4,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 4,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 5,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 5,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 6,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 7,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 7,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"18246a20-8752-4459-8c75-2818fc4af4f3\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -2033327270,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"f4afe522-baf9-432a-82b7-b7de3d32c6d1\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 366981793,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"b9d12c80-0898-4bf9-9456-0659a03d4f29\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1176174230,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"aac387ac-7ce1-45c4-8270-bfb6bd85043f\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -745315628,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"5d31df53-cb4e-4b7f-a111-c8d9b47af896\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1531592597,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"df6a1a94-24ed-4d57-8111-064047a2896c\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1343882601,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"20b09106-05af-429c-8800-720422bc1678\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -373963592,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"8903543f-3acb-4c5e-8d38-f1cfec470860\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1997650031,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"f0d9f728-c4c3-43fc-84e3-c2e13b989db9\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1882888430,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"3f131d3e-266d-4054-9da7-591d553ee96e\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -797345333,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"4711a736-a766-4e49-b770-4c3af6fe412a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1448742966,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"4b932d77-f082-4970-bb62-916c1dd0b763\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -481750681,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"2b1a2edb-0723-4810-84c9-6f8b369f6d18\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -429140327,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"b34fa37c-0a4b-4b91-befb-1ea216f4a9ac\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1159867161,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"3cc53a96-fec1-438b-b4b0-a5f8434ba5b1\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -210516650,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"917e5dbc-a4e2-4b11-b919-caced55374f5\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 786133705,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"c11da6cc-f898-453e-b575-ebfb0326bddb\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1329966883,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - } - ], - "m_PreviewData": { - "serializedMesh": { - "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", - "m_Guid": "" - } - }, - "m_Path": "Shader Graphs", - "m_ConcretePrecision": 0, - "m_ActiveOutputNodeGuidSerialized": "e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8" -} \ No newline at end of file diff --git a/Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Premultiply-double.shadergraph.meta b/Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Premultiply-double.shadergraph.meta deleted file mode 100644 index 57ac3aad1..000000000 --- a/Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Premultiply-double.shadergraph.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 0370904c39b8a4cd4a5db6bcf181055d -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Premultiply.shadergraph b/Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Premultiply.shadergraph deleted file mode 100644 index e32de49df..000000000 --- a/Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Premultiply.shadergraph +++ /dev/null @@ -1,603 +0,0 @@ -{ - "m_SerializedProperties": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"7f4f45f2-b62a-4732-893b-0d7ab9ce6986\"\n },\n \"m_Name\": \"Base Color\",\n \"m_DefaultReferenceName\": \"Color_A53D4B2B\",\n \"m_OverrideReferenceName\": \"baseColorFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 2,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"r\": 1.0,\n \"g\": 1.0,\n \"b\": 1.0,\n \"a\": 1.0\n },\n \"m_ColorMode\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"06d6e0d3-a210-4065-af02-38a543a20066\"\n },\n \"m_Name\": \"Base Color Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_3270778E\",\n \"m_OverrideReferenceName\": \"baseColorTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 2,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"50cc2671-e469-49b3-804d-a1b67f32fe59\"\n },\n \"m_Name\": \"Base Color Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_6585E8BA\",\n \"m_OverrideReferenceName\": \"baseColorTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"8c960e31-f89f-41e6-958a-5a8561a5d8c4\"\n },\n \"m_Name\": \"Base Color Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_DC752BB\",\n \"m_OverrideReferenceName\": \"baseColorTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"ee741f23-00d9-46ff-a194-c172c91dbea3\"\n },\n \"m_Name\": \"Base Color Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_2846417\",\n \"m_OverrideReferenceName\": \"baseColorTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 2,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"290855a3-663b-4b44-871b-434a544fd001\"\n },\n \"m_Name\": \"Normal Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_4207825D\",\n \"m_OverrideReferenceName\": \"normalTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 3\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"0f8451d3-f402-45f1-80a0-90c8cfc3c5a1\"\n },\n \"m_Name\": \"Normal Scale\",\n \"m_DefaultReferenceName\": \"Vector1_97BB6A5\",\n \"m_OverrideReferenceName\": \"normalTexture_scale\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 1.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"10d76b91-eaaf-4eb7-8331-d7e8f7615734\"\n },\n \"m_Name\": \"Occlusion Strength\",\n \"m_DefaultReferenceName\": \"Vector1_DDDD754\",\n \"m_OverrideReferenceName\": \"occlusionTexture_strength\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 1.0,\n \"m_FloatType\": 1,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"8e2bf8f5-c63a-4499-838d-4d8264e31925\"\n },\n \"m_Name\": \"Occlusion Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_1970B80F\",\n \"m_OverrideReferenceName\": \"occlusionTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"9dba0444-5255-46c6-b45b-d7758fb87c92\"\n },\n \"m_Name\": \"Roughness\",\n \"m_DefaultReferenceName\": \"Vector1_BB0292F7\",\n \"m_OverrideReferenceName\": \"roughnessFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 1.0,\n \"m_FloatType\": 1,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"2447befe-815a-42fa-a48c-0ecec203118c\"\n },\n \"m_Name\": \"Metallic\",\n \"m_DefaultReferenceName\": \"Vector1_94172940\",\n \"m_OverrideReferenceName\": \"metallicFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 1.0,\n \"m_FloatType\": 1,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"7c763b51-7fad-4cea-8cd7-bfc77a4aed10\"\n },\n \"m_Name\": \"Metallic-Roughness Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_479F257E\",\n \"m_OverrideReferenceName\": \"metallicRoughnessTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"3431f5f7-2d08-4341-a308-9ba7e5375473\"\n },\n \"m_Name\": \"Metallic-Roughness Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_11B8B67A\",\n \"m_OverrideReferenceName\": \"metallicRoughnessTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"b451ab4f-19c4-430a-8165-252789494a42\"\n },\n \"m_Name\": \"Metallic-Roughness Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_25B15828\",\n \"m_OverrideReferenceName\": \"metallicRoughnessTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"7e883da4-63a2-4212-9440-62e9d00a6da9\"\n },\n \"m_Name\": \"Metallic-Roughness Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_B525E3\",\n \"m_OverrideReferenceName\": \"metallicRoughnessTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 2,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"1f801b95-1898-44f4-a056-0e179cd2290f\"\n },\n \"m_Name\": \"Emissive\",\n \"m_DefaultReferenceName\": \"Color_DDF6DA04\",\n \"m_OverrideReferenceName\": \"emissiveFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"r\": 0.0,\n \"g\": 0.0,\n \"b\": 0.0,\n \"a\": 1.0\n },\n \"m_ColorMode\": 1\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"26a0e850-f4b7-4172-9e6d-ebd076aa12f4\"\n },\n \"m_Name\": \"Emissive Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_C0C78D41\",\n \"m_OverrideReferenceName\": \"emissiveTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"a9d391fd-11ea-4c42-8c4d-7304aef01a7b\"\n },\n \"m_Name\": \"Emissive Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_52721DC8\",\n \"m_OverrideReferenceName\": \"emissiveTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"9165a3cc-b84f-46ea-ae4a-041ef201c3a4\"\n },\n \"m_Name\": \"Emissive Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_763A0919\",\n \"m_OverrideReferenceName\": \"emissiveTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"c6dc3172-4b0d-449c-addd-5513a2e7ae6a\"\n },\n \"m_Name\": \"Emissive Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_D6152DF0\",\n \"m_OverrideReferenceName\": \"emissiveTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 2,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"7b92f262-febd-4fdf-89f4-2f0dbbe3c19e\"\n },\n \"m_Name\": \"Alpha Cutoff\",\n \"m_DefaultReferenceName\": \"Vector1_C94E19E6\",\n \"m_OverrideReferenceName\": \"alphaCutoff\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.5,\n \"m_FloatType\": 1,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"96751a54-7ee1-41be-a6da-39ea5890a6af\"\n },\n \"m_Name\": \"Normal Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_7780DB77\",\n \"m_OverrideReferenceName\": \"normalTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"85ee47ab-9aaf-4218-a423-16c22c39ab29\"\n },\n \"m_Name\": \"Normal Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_779A28AC\",\n \"m_OverrideReferenceName\": \"normalTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"7b87bb65-f4c6-41b2-a5cd-808a03ddfe0a\"\n },\n \"m_Name\": \"Normal Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_463311CE\",\n \"m_OverrideReferenceName\": \"normalTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"700da92e-f409-4ed6-96a7-97d1bcecad83\"\n },\n \"m_Name\": \"Occlusion Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_86650990\",\n \"m_OverrideReferenceName\": \"occlusionTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"66b613e8-65b1-4872-8a10-1cc5f88f2e8e\"\n },\n \"m_Name\": \"Occlusion Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_82518A7E\",\n \"m_OverrideReferenceName\": \"occlusionTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"e3f82023-ef57-4c04-ad2e-2e0d9e75b3af\"\n },\n \"m_Name\": \"Occlusion Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_293F9732\",\n \"m_OverrideReferenceName\": \"occlusionTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 2,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - } - ], - "m_SerializedKeywords": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.ShaderKeyword" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"a7d905c3-7492-4341-bcc1-99dd0b856891\"\n },\n \"m_Name\": \"EMISSIVE\",\n \"m_DefaultReferenceName\": \"BOOLEAN_81A09341_ON\",\n \"m_OverrideReferenceName\": \"_EMISSIVE\",\n \"m_GeneratePropertyBlock\": true,\n \"m_KeywordType\": 0,\n \"m_KeywordDefinition\": 0,\n \"m_KeywordScope\": 0,\n \"m_Entries\": [],\n \"m_Value\": 0,\n \"m_IsEditable\": true,\n \"m_IsExposable\": true\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.ShaderKeyword" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"4bdd5ce6-07d2-407c-8a17-dc0d8fa64973\"\n },\n \"m_Name\": \"OCCLUSION\",\n \"m_DefaultReferenceName\": \"BOOLEAN_90C144E9_ON\",\n \"m_OverrideReferenceName\": \"_OCCLUSION\",\n \"m_GeneratePropertyBlock\": true,\n \"m_KeywordType\": 0,\n \"m_KeywordDefinition\": 0,\n \"m_KeywordScope\": 0,\n \"m_Entries\": [],\n \"m_Value\": 0,\n \"m_IsEditable\": true,\n \"m_IsExposable\": true\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.ShaderKeyword" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"491a1517-580c-4293-944c-c710404646f2\"\n },\n \"m_Name\": \"TEXTURE_TRANSFORM\",\n \"m_DefaultReferenceName\": \"BOOLEAN_3B0ECFED_ON\",\n \"m_OverrideReferenceName\": \"_TEXTURE_TRANSFORM\",\n \"m_GeneratePropertyBlock\": true,\n \"m_KeywordType\": 0,\n \"m_KeywordDefinition\": 0,\n \"m_KeywordScope\": 0,\n \"m_Entries\": [],\n \"m_Value\": 0,\n \"m_IsEditable\": true,\n \"m_IsExposable\": true\n}" - } - ], - "m_SerializableNodes": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"9b48836a-5c8c-4d4d-80ee-b5bffb7aaa19\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -91.99994659423828,\n \"y\": 627.0,\n \"width\": 229.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"ee741f23-00d9-46ff-a194-c172c91dbea3\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"26608981-9b91-4c57-ade3-c44c499e180a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -92.99995422363281,\n \"y\": 756.9999389648438,\n \"width\": 275.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Metallic-Roughness Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"7e883da4-63a2-4212-9440-62e9d00a6da9\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"c46f5d12-160d-4406-8e18-800e1d0b4d1b\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -92.99995422363281,\n \"y\": 725.0,\n \"width\": 261.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Metallic-Roughness Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"b451ab4f-19c4-430a-8165-252789494a42\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"3451fd25-f1f2-4d47-8f1c-b673807b6de3\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -91.99994659423828,\n \"y\": 692.9999389648438,\n \"width\": 235.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Metallic-Roughness Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"3431f5f7-2d08-4341-a308-9ba7e5375473\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.UVNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"56192ca1-48ee-463c-8be2-b29c82c095f3\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"UV\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -13.000041961669922,\n \"y\": 948.0,\n \"width\": 144.99998474121095,\n \"height\": 129.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_OutputChannel\": 1\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"c3a2f30b-2332-45df-ab3c-9fd061527cc6\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -91.99994659423828,\n \"y\": 659.9999389648438,\n \"width\": 224.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Metallic-Roughness Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"7c763b51-7fad-4cea-8cd7-bfc77a4aed10\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"18922adc-3efa-4c2e-9faa-ce5a585d4657\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -90.99993896484375,\n \"y\": 533.0,\n \"width\": 178.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 2,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"06d6e0d3-a210-4065-af02-38a543a20066\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.UVNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"18246a20-8752-4459-8c75-2818fc4af4f3\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"UV\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -12.000053405761719,\n \"y\": 816.0,\n \"width\": 144.99998474121095,\n \"height\": 128.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_OutputChannel\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"d96b2bad-447c-4001-bc02-75edd93ac03a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -90.99993896484375,\n \"y\": 596.0,\n \"width\": 215.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"8c960e31-f89f-41e6-958a-5a8561a5d8c4\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"ff8e6a70-685e-40e3-bd9a-1253d36a963f\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -90.99993896484375,\n \"y\": 498.0000305175781,\n \"width\": 163.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 2,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"7f4f45f2-b62a-4732-893b-0d7ab9ce6986\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PBRMasterNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"PBR Master\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 1012.0000610351563,\n \"y\": 202.0,\n \"width\": 200.0,\n \"height\": 317.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.PositionMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 9,\\n \\\"m_DisplayName\\\": \\\"Vertex Position\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vertex Position\\\",\\n \\\"m_StageCapability\\\": 1,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.NormalMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 10,\\n \\\"m_DisplayName\\\": \\\"Vertex Normal\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vertex Normal\\\",\\n \\\"m_StageCapability\\\": 1,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.TangentMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 11,\\n \\\"m_DisplayName\\\": \\\"Vertex Tangent\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vertex Tangent\\\",\\n \\\"m_StageCapability\\\": 1,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.ColorRGBMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Albedo\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Albedo\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.7353569269180298,\\n \\\"y\\\": 0.7353569269180298,\\n \\\"z\\\": 0.7353569269180298\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_ColorMode\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.NormalMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Normal\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Normal\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 3\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.ColorRGBMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"Emission\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Emission\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_ColorMode\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"Metallic\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Metallic\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 5,\\n \\\"m_DisplayName\\\": \\\"Smoothness\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Smoothness\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.5,\\n \\\"m_DefaultValue\\\": 0.5,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"Occlusion\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Occlusion\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 1.0,\\n \\\"m_DefaultValue\\\": 1.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"Alpha\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Alpha\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 1.0,\\n \\\"m_DefaultValue\\\": 1.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 8,\\n \\\"m_DisplayName\\\": \\\"AlphaClipThreshold\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"AlphaClipThreshold\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_DOTSInstancing\": false,\n \"m_SerializableSubShaders\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.Rendering.Universal.UniversalPBRSubShader\"\n },\n \"JSONnodeData\": \"{}\"\n }\n ],\n \"m_ShaderGUIOverride\": \"\",\n \"m_OverrideEnabled\": false,\n \"m_Model\": 1,\n \"m_SurfaceType\": 1,\n \"m_AlphaMode\": 1,\n \"m_TwoSided\": false,\n \"m_NormalDropOffSpace\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"53e5c6cc-7887-4ad6-98e7-2dfd426d06bb\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -90.99993896484375,\n \"y\": 565.0,\n \"width\": 188.99998474121095,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"50cc2671-e469-49b3-804d-a1b67f32fe59\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"f4afe522-baf9-432a-82b7-b7de3d32c6d1\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -90.0000228881836,\n \"y\": 274.9999694824219,\n \"width\": 155.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"1f801b95-1898-44f4-a056-0e179cd2290f\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"ff47ecaa-c17b-4f81-8687-1b8c109dc638\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -90.0000228881836,\n \"y\": 308.0,\n \"width\": 170.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"26a0e850-f4b7-4172-9e6d-ebd076aa12f4\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"0b2b92be-0f00-45ce-8d47-0ccc16547e14\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -90.0000228881836,\n \"y\": 243.99996948242188,\n \"width\": 142.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Scale\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"0f8451d3-f402-45f1-80a0-90c8cfc3c5a1\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"33113907-91a6-4f77-bbdb-4c5daa97af8f\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -87.0,\n \"y\": 123.99996948242188,\n \"width\": 163.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"290855a3-663b-4b44-871b-434a544fd001\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"04a8b3b8-020e-472c-a9ee-37228c27956a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 837.0000610351563,\n \"y\": 481.9999694824219,\n \"width\": 139.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Alpha Cutoff\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"7b92f262-febd-4fdf-89f4-2f0dbbe3c19e\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"1f6ca554-5311-49be-b211-bca780fc33da\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -81.99996185302735,\n \"y\": -32.00001907348633,\n \"width\": 170.99998474121095,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Strength\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"10d76b91-eaaf-4eb7-8331-d7e8f7615734\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"65be6b0d-29f0-491a-b7a4-b94380ec2094\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -90.99993896484375,\n \"y\": 464.99993896484377,\n \"width\": 151.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Metallic\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"2447befe-815a-42fa-a48c-0ecec203118c\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"15adefed-fe51-4a61-9f73-45fed5bc2961\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -90.99993896484375,\n \"y\": 434.0,\n \"width\": 141.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Roughness\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"9dba0444-5255-46c6-b45b-d7758fb87c92\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"PBR_metallic_roughness_Legacy\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 294.0001220703125,\n \"y\": 40.9999885559082,\n \"width\": 351.0,\n \"height\": 566.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -93992038,\\n \\\"m_DisplayName\\\": \\\"occlusionStrength\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_57266306\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1176174230,\\n \\\"m_DisplayName\\\": \\\"occlusionTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_36068458\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1329966883,\\n \\\"m_DisplayName\\\": \\\"occlusionTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_D95F09CC\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 786133705,\\n \\\"m_DisplayName\\\": \\\"occlusionTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_47B0896F\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -210516650,\\n \\\"m_DisplayName\\\": \\\"occlusionTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_14EEF9A9\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -170433253,\\n \\\"m_DisplayName\\\": \\\"normalTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_B4A7F700\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1159867161,\\n \\\"m_DisplayName\\\": \\\"normalTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_5C7F3701\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -429140327,\\n \\\"m_DisplayName\\\": \\\"normalTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_C39E4CD1\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -481750681,\\n \\\"m_DisplayName\\\": \\\"normalTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_88C78C57\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1763326587,\\n \\\"m_DisplayName\\\": \\\"normalScale\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_345B830B\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 366981793,\\n \\\"m_DisplayName\\\": \\\"emissiveFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector3_E344F397\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 129475646,\\n \\\"m_DisplayName\\\": \\\"emissiveTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_8F96C631\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1448742966,\\n \\\"m_DisplayName\\\": \\\"emissionTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_44D9BB81\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -797345333,\\n \\\"m_DisplayName\\\": \\\"emissionTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_C7C6C37D\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1882888430,\\n \\\"m_DisplayName\\\": \\\"emissionTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_DB36ED60\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1788256886,\\n \\\"m_DisplayName\\\": \\\"roughnessFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_B9A549A5\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1324895555,\\n \\\"m_DisplayName\\\": \\\"metallicFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_6633F151\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1438624126,\\n \\\"m_DisplayName\\\": \\\"baseColorFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_8743F3C3\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1050676157,\\n \\\"m_DisplayName\\\": \\\"baseColorTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_EBF077FA\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 921423784,\\n \\\"m_DisplayName\\\": \\\"baseColorTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_6F4A9DFD\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 76898838,\\n \\\"m_DisplayName\\\": \\\"baseColorTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_FE260CB0\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1997650031,\\n \\\"m_DisplayName\\\": \\\"baseColorTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_813EE33E\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -908648287,\\n \\\"m_DisplayName\\\": \\\"metallicRoughnessTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_2BD19CD4\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -373963592,\\n \\\"m_DisplayName\\\": \\\"metallicRoughnessTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_A391227B\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1343882601,\\n \\\"m_DisplayName\\\": \\\"metallicRoughnessTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_EE89C726\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1531592597,\\n \\\"m_DisplayName\\\": \\\"metallicRoughnessTextureTexCoord\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_7FA59A3E\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -2033327270,\\n \\\"m_DisplayName\\\": \\\"UV0\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_B59C246\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -745315628,\\n \\\"m_DisplayName\\\": \\\"UV1\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_2B3B3D76\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"Albedo\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Albedo\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"Normal\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Normal\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"Emission\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Emission\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"Metallic\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Metallic\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 5,\\n \\\"m_DisplayName\\\": \\\"Smoothness\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Smoothness\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Occlusion\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Occlusion\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"Alpha\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Alpha\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 8,\\n \\\"m_DisplayName\\\": \\\"baseColorUV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"baseColorUV\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_SerializedSubGraph\": \"{\\n \\\"subGraph\\\": {\\n \\\"fileID\\\": -5475051401550479605,\\n \\\"guid\\\": \\\"1610512b96f344c11bf850c044c1b5c7\\\",\\n \\\"type\\\": 3\\n }\\n}\",\n \"m_PropertyGuids\": [\n \"2a4c85c6-a729-4e82-81d3-77ec259c58de\",\n \"e85226d9-1785-431c-b779-0a31a91295de\",\n \"d7da8a92-273f-4f7b-ae2c-668b7e04a26c\",\n \"189b1fbb-ef98-4483-a2a6-74653e7265ad\",\n \"18c8e2c1-767f-46e3-90f7-6938c8c9891c\",\n \"1aa9ec50-0e3f-4e77-81b7-7ed5cd0d7c51\",\n \"0091f9d7-7596-4b86-86b3-c45dc2f579ec\",\n \"23b11ff4-3af1-4945-9c4b-b3b499bdfa33\",\n \"1535492a-2795-428c-a7a8-0c963bc80c1b\",\n \"380b6046-ffdc-407c-aab5-0e62237b3e9b\",\n \"349829b0-a90d-4b44-bf38-99916345bde2\",\n \"77ff8161-3714-4ef8-8885-767db25a0931\",\n \"1c7d931e-ae67-4dbe-910f-950e7f631636\",\n \"34d7ae95-a71a-4dea-b2b5-15f8e886e625\",\n \"8029fa63-8af6-4814-8886-1f788280d2d6\",\n \"7be3bd36-f1f9-4365-99db-cc9af66a0ec5\",\n \"850c1957-79b6-494b-aed1-4c867151a8c1\",\n \"bb273083-5afc-424d-b84d-cf153a4b9a07\",\n \"d81e8ca0-466d-494d-9b62-6d822f9394bb\",\n \"1a9c6f38-e9be-441e-b922-b649b889e53f\",\n \"4e8f9afd-37e4-4c1e-8d37-9f7911e3a17a\",\n \"34745e4b-9d3d-4fc3-b755-4abc8212bdef\",\n \"0ac9a86a-306c-478f-96b5-93e2800d182f\",\n \"f2303c84-2349-45d7-86d2-019dd1103298\",\n \"a2532bde-bd96-4c3d-b3f3-90e9b53fb3f1\",\n \"2bf50a80-5b1b-4d86-85c6-f86339dc7f97\",\n \"3ba9818a-881c-45bb-a3ce-5a590d7da089\",\n \"abc4bac7-7e21-4041-9894-7a08dce3a711\",\n \"76c98fda-047c-4f17-ba66-d653df4556a6\",\n \"73d8282d-4f4b-4a00-96f0-ef1c19d5e5f9\"\n ],\n \"m_PropertyIds\": [\n -93992038,\n -170433253,\n -1763326587,\n -2096931947,\n 129475646,\n 1788256886,\n -1324895555,\n -1438624126,\n 1050676157,\n -908648287,\n 76898838,\n 921423784,\n 656072342,\n -2033327270,\n 366981793,\n 1176174230,\n -1329966883,\n 786133705,\n -210516650,\n 1159867161,\n -429140327,\n -481750681,\n -1448742966,\n -797345333,\n -1882888430,\n -1997650031,\n -373963592,\n -1343882601,\n -1531592597,\n -745315628\n ]\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"b9d12c80-0898-4bf9-9456-0659a03d4f29\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -82.99996948242188,\n \"y\": -1.000014305114746,\n \"width\": 173.99998474121095,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"8e2bf8f5-c63a-4499-838d-4d8264e31925\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"4ee6e9de-bf15-4903-962c-c21df567f0b8\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -90.0000228881836,\n \"y\": 339.0,\n \"width\": 184.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"a9d391fd-11ea-4c42-8c4d-7304aef01a7b\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"f7297e0e-a1a9-4553-8b0f-c9a349e31ea8\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -90.99993896484375,\n \"y\": 368.99993896484377,\n \"width\": 211.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"9165a3cc-b84f-46ea-ae4a-041ef201c3a4\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"da255e77-561c-4183-9aa0-1d7af58e56ac\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -90.99993896484375,\n \"y\": 399.0,\n \"width\": 224.99998474121095,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"c6dc3172-4b0d-449c-addd-5513a2e7ae6a\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"7ccd691d-3b98-4603-890c-6f0e77276d6a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -89.00001525878906,\n \"y\": 154.99998474121095,\n \"width\": 173.99998474121095,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"96751a54-7ee1-41be-a6da-39ea5890a6af\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"59502f79-8493-4900-a5b1-4494933f9c01\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -89.00001525878906,\n \"y\": 183.99996948242188,\n \"width\": 200.99998474121095,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"85ee47ab-9aaf-4218-a423-16c22c39ab29\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"eeb855b9-98a5-4ddf-a77b-a01e98da5af9\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -89.00001525878906,\n \"y\": 213.0,\n \"width\": 214.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"7b87bb65-f4c6-41b2-a5cd-808a03ddfe0a\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"dafc3ad9-a616-453e-bf35-311e4524936e\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -82.99996948242188,\n \"y\": 31.0,\n \"width\": 185.99998474121095,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"700da92e-f409-4ed6-96a7-97d1bcecad83\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"bed2921b-77c7-4e2b-8547-4b08ab2384e4\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -83.9999771118164,\n \"y\": 62.00000762939453,\n \"width\": 212.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"66b613e8-65b1-4872-8a10-1cc5f88f2e8e\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"32fd9ba4-f3c1-4104-bc31-af4e6c1cec7e\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -83.9999771118164,\n \"y\": 92.00000762939453,\n \"width\": 224.99998474121095,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"e3f82023-ef57-4c04-ad2e-2e0d9e75b3af\"\n}" - } - ], - "m_Groups": [], - "m_StickyNotes": [], - "m_SerializableEdges": [ - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"04a8b3b8-020e-472c-a9ee-37228c27956a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 8,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"1f6ca554-5311-49be-b211-bca780fc33da\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -93992038,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"33113907-91a6-4f77-bbdb-4c5daa97af8f\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -170433253,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"0b2b92be-0f00-45ce-8d47-0ccc16547e14\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1763326587,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"ff47ecaa-c17b-4f81-8687-1b8c109dc638\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 129475646,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"15adefed-fe51-4a61-9f73-45fed5bc2961\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1788256886,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"65be6b0d-29f0-491a-b7a4-b94380ec2094\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1324895555,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"ff8e6a70-685e-40e3-bd9a-1253d36a963f\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1438624126,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"18922adc-3efa-4c2e-9faa-ce5a585d4657\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1050676157,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"c3a2f30b-2332-45df-ab3c-9fd061527cc6\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -908648287,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"d96b2bad-447c-4001-bc02-75edd93ac03a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 76898838,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"53e5c6cc-7887-4ad6-98e7-2dfd426d06bb\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 921423784,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 6,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 3,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 4,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 4,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 5,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 5,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 6,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 7,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 7,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"18246a20-8752-4459-8c75-2818fc4af4f3\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -2033327270,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"f4afe522-baf9-432a-82b7-b7de3d32c6d1\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 366981793,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"b9d12c80-0898-4bf9-9456-0659a03d4f29\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1176174230,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"56192ca1-48ee-463c-8be2-b29c82c095f3\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -745315628,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"3451fd25-f1f2-4d47-8f1c-b673807b6de3\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -373963592,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"c46f5d12-160d-4406-8e18-800e1d0b4d1b\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1343882601,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"26608981-9b91-4c57-ade3-c44c499e180a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1531592597,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"9b48836a-5c8c-4d4d-80ee-b5bffb7aaa19\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1997650031,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"da255e77-561c-4183-9aa0-1d7af58e56ac\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1882888430,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"f7297e0e-a1a9-4553-8b0f-c9a349e31ea8\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -797345333,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"4ee6e9de-bf15-4903-962c-c21df567f0b8\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1448742966,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"eeb855b9-98a5-4ddf-a77b-a01e98da5af9\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -481750681,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"59502f79-8493-4900-a5b1-4494933f9c01\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -429140327,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"7ccd691d-3b98-4603-890c-6f0e77276d6a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1159867161,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"32fd9ba4-f3c1-4104-bc31-af4e6c1cec7e\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -210516650,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"bed2921b-77c7-4e2b-8547-4b08ab2384e4\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 786133705,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"dafc3ad9-a616-453e-bf35-311e4524936e\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1329966883,\n \"m_NodeGUIDSerialized\": \"b5396dae-f6b1-4870-8da5-4c6d54ef000a\"\n }\n}" - } - ], - "m_PreviewData": { - "serializedMesh": { - "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", - "m_Guid": "" - } - }, - "m_Path": "Shader Graphs", - "m_ConcretePrecision": 0, - "m_ActiveOutputNodeGuidSerialized": "e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8" -} \ No newline at end of file diff --git a/Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Premultiply.shadergraph.meta b/Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Premultiply.shadergraph.meta deleted file mode 100644 index 44640567f..000000000 --- a/Runtime/Shader/Legacy/glTF-pbrMetallicRoughness-Premultiply.shadergraph.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 7954f2f1aefcf4383b97888420a84c00 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Runtime/Shader/Legacy/glTF-pbrSpecularGlossiness-Blend-double.shadergraph b/Runtime/Shader/Legacy/glTF-pbrSpecularGlossiness-Blend-double.shadergraph deleted file mode 100644 index 214f3561b..000000000 --- a/Runtime/Shader/Legacy/glTF-pbrSpecularGlossiness-Blend-double.shadergraph +++ /dev/null @@ -1,603 +0,0 @@ -{ - "m_SerializedProperties": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"7f4f45f2-b62a-4732-893b-0d7ab9ce6986\"\n },\n \"m_Name\": \"Diffuse\",\n \"m_DefaultReferenceName\": \"Color_A53D4B2B\",\n \"m_OverrideReferenceName\": \"diffuseFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 2,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"r\": 1.0,\n \"g\": 1.0,\n \"b\": 1.0,\n \"a\": 1.0\n },\n \"m_ColorMode\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"06d6e0d3-a210-4065-af02-38a543a20066\"\n },\n \"m_Name\": \"Diffuse Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_3270778E\",\n \"m_OverrideReferenceName\": \"diffuseTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 2,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"50cc2671-e469-49b3-804d-a1b67f32fe59\"\n },\n \"m_Name\": \"Diffuse Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_6585E8BA\",\n \"m_OverrideReferenceName\": \"diffuseTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"8c960e31-f89f-41e6-958a-5a8561a5d8c4\"\n },\n \"m_Name\": \"Diffuse Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_DC752BB\",\n \"m_OverrideReferenceName\": \"diffuseTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"ac896e0a-36a9-4b39-88a2-477b24503672\"\n },\n \"m_Name\": \"Diffuse Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_D1052356\",\n \"m_OverrideReferenceName\": \"diffuseTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 2,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"290855a3-663b-4b44-871b-434a544fd001\"\n },\n \"m_Name\": \"Normal Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_4207825D\",\n \"m_OverrideReferenceName\": \"normalTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 3\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"4a9b163c-6618-4447-91f1-f4a15516eeb8\"\n },\n \"m_Name\": \"Normal Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_C3A2C10C\",\n \"m_OverrideReferenceName\": \"normalTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"12a9dcfc-bcd9-4c63-934d-52e0bab96573\"\n },\n \"m_Name\": \"Normal Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_6C5541D2\",\n \"m_OverrideReferenceName\": \"normalTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"07b420fc-e24a-4acb-ab5a-464a72d41d5c\"\n },\n \"m_Name\": \"Normal Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_937E69F0\",\n \"m_OverrideReferenceName\": \"normalTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 2,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"0f8451d3-f402-45f1-80a0-90c8cfc3c5a1\"\n },\n \"m_Name\": \"Normal Scale\",\n \"m_DefaultReferenceName\": \"Vector1_97BB6A5\",\n \"m_OverrideReferenceName\": \"normalTexture_scale\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 1.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"7c763b51-7fad-4cea-8cd7-bfc77a4aed10\"\n },\n \"m_Name\": \"Occlusion Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_479F257E\",\n \"m_OverrideReferenceName\": \"occlusionTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"00dc0832-2265-41c5-80f0-22f56e9be6fc\"\n },\n \"m_Name\": \"Occlusion Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_60705983\",\n \"m_OverrideReferenceName\": \"occlusionTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"1991819b-9e16-4e18-b175-bab77825be48\"\n },\n \"m_Name\": \"Occlusion Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_CCA3138D\",\n \"m_OverrideReferenceName\": \"occlusionTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"5573c9d6-f4fc-488b-8399-e89b711c70c8\"\n },\n \"m_Name\": \"Occlusion Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_59A26F9F\",\n \"m_OverrideReferenceName\": \"occlusionTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 2,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"10d76b91-eaaf-4eb7-8331-d7e8f7615734\"\n },\n \"m_Name\": \"Occlusion Strength\",\n \"m_DefaultReferenceName\": \"Vector1_DDDD754\",\n \"m_OverrideReferenceName\": \"occlusionTexture_strength\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 1.0,\n \"m_FloatType\": 1,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"36fddb2f-e4c6-4f59-87dd-f2393782483b\"\n },\n \"m_Name\": \"Specular\",\n \"m_DefaultReferenceName\": \"Color_9A3717F7\",\n \"m_OverrideReferenceName\": \"specularFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"r\": 1.0,\n \"g\": 1.0,\n \"b\": 1.0,\n \"a\": 1.0\n },\n \"m_ColorMode\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"9dba0444-5255-46c6-b45b-d7758fb87c92\"\n },\n \"m_Name\": \"Glossiness\",\n \"m_DefaultReferenceName\": \"Vector1_BB0292F7\",\n \"m_OverrideReferenceName\": \"glossinessFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 1.0,\n \"m_FloatType\": 1,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"ca0df8ad-7878-4fad-a798-7eb92e584b50\"\n },\n \"m_Name\": \"Specular-Glossiness Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_48FA930\",\n \"m_OverrideReferenceName\": \"specularGlossinessTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"05b6c7f5-faa6-4321-ab09-e93ddfa36ec6\"\n },\n \"m_Name\": \"Specular-Glossiness Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_681EB854\",\n \"m_OverrideReferenceName\": \"specularGlossinessTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"30e755a7-1eaa-486d-9ae3-205a4f7415ac\"\n },\n \"m_Name\": \"Specular-Glossiness Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_E5B8F13D\",\n \"m_OverrideReferenceName\": \"specularGlossinessTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"e7fad074-07d4-4f5a-a120-0204b274b321\"\n },\n \"m_Name\": \"Specular-Glossiness Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_5999D168\",\n \"m_OverrideReferenceName\": \"specularGlossinessTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"7b92f262-febd-4fdf-89f4-2f0dbbe3c19e\"\n },\n \"m_Name\": \"Alpha Cutoff\",\n \"m_DefaultReferenceName\": \"Vector1_C94E19E6\",\n \"m_OverrideReferenceName\": \"alphaCutoff\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.5,\n \"m_FloatType\": 1,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"1f801b95-1898-44f4-a056-0e179cd2290f\"\n },\n \"m_Name\": \"Emissive\",\n \"m_DefaultReferenceName\": \"Color_DDF6DA04\",\n \"m_OverrideReferenceName\": \"emissiveFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"r\": 0.0,\n \"g\": 0.0,\n \"b\": 0.0,\n \"a\": 1.0\n },\n \"m_ColorMode\": 1\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"26a0e850-f4b7-4172-9e6d-ebd076aa12f4\"\n },\n \"m_Name\": \"Emissive Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_C0C78D41\",\n \"m_OverrideReferenceName\": \"emissiveTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"dcc2377b-efb0-4c6c-a0a3-a58e58b20e5c\"\n },\n \"m_Name\": \"Emissive Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_90187653\",\n \"m_OverrideReferenceName\": \"emissiveTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"e085883c-c0f6-4916-9b6a-01be35fea2ea\"\n },\n \"m_Name\": \"Emissive Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_CB67208B\",\n \"m_OverrideReferenceName\": \"emissiveTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"1ac440bf-f15e-4865-9887-573c99a1d82d\"\n },\n \"m_Name\": \"Emissive Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_FB68154\",\n \"m_OverrideReferenceName\": \"emissiveTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 2,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - } - ], - "m_SerializedKeywords": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.ShaderKeyword" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"a7d905c3-7492-4341-bcc1-99dd0b856891\"\n },\n \"m_Name\": \"EMISSIVE\",\n \"m_DefaultReferenceName\": \"BOOLEAN_81A09341_ON\",\n \"m_OverrideReferenceName\": \"_EMISSIVE\",\n \"m_GeneratePropertyBlock\": true,\n \"m_KeywordType\": 0,\n \"m_KeywordDefinition\": 0,\n \"m_KeywordScope\": 0,\n \"m_Entries\": [],\n \"m_Value\": 0,\n \"m_IsEditable\": true,\n \"m_IsExposable\": true\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.ShaderKeyword" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"4bdd5ce6-07d2-407c-8a17-dc0d8fa64973\"\n },\n \"m_Name\": \"OCCLUSION\",\n \"m_DefaultReferenceName\": \"BOOLEAN_90C144E9_ON\",\n \"m_OverrideReferenceName\": \"_OCCLUSION\",\n \"m_GeneratePropertyBlock\": true,\n \"m_KeywordType\": 0,\n \"m_KeywordDefinition\": 0,\n \"m_KeywordScope\": 0,\n \"m_Entries\": [],\n \"m_Value\": 0,\n \"m_IsEditable\": true,\n \"m_IsExposable\": true\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.ShaderKeyword" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"9586ea4c-07b0-4d52-85fa-aee89e92c5c2\"\n },\n \"m_Name\": \"TEXTURE_TRANSFORM\",\n \"m_DefaultReferenceName\": \"BOOLEAN_9E3CD316_ON\",\n \"m_OverrideReferenceName\": \"_TEXTURE_TRANSFORM\",\n \"m_GeneratePropertyBlock\": true,\n \"m_KeywordType\": 0,\n \"m_KeywordDefinition\": 0,\n \"m_KeywordScope\": 0,\n \"m_Entries\": [],\n \"m_Value\": 0,\n \"m_IsEditable\": true,\n \"m_IsExposable\": true\n}" - } - ], - "m_SerializableNodes": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"c3a2f30b-2332-45df-ab3c-9fd061527cc6\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -32.0,\n \"y\": 493.0,\n \"width\": 175.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"7c763b51-7fad-4cea-8cd7-bfc77a4aed10\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"18922adc-3efa-4c2e-9faa-ce5a585d4657\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -32.0,\n \"y\": 384.0,\n \"width\": 178.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Diffuse Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 2,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"06d6e0d3-a210-4065-af02-38a543a20066\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.UVNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"18246a20-8752-4459-8c75-2818fc4af4f3\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"UV\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 56.000022888183597,\n \"y\": 608.9999389648438,\n \"width\": 144.99998474121095,\n \"height\": 128.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_OutputChannel\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"d96b2bad-447c-4001-bc02-75edd93ac03a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -31.999996185302736,\n \"y\": 439.0,\n \"width\": 216.00001525878907,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Diffuse Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"8c960e31-f89f-41e6-958a-5a8561a5d8c4\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"ff8e6a70-685e-40e3-bd9a-1253d36a963f\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -31.0,\n \"y\": 357.0,\n \"width\": 163.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Diffuse\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 2,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"7f4f45f2-b62a-4732-893b-0d7ab9ce6986\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PBRMasterNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"PBR Master\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 1012.0000610351563,\n \"y\": 202.0,\n \"width\": 200.0,\n \"height\": 317.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.PositionMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 9,\\n \\\"m_DisplayName\\\": \\\"Vertex Position\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vertex Position\\\",\\n \\\"m_StageCapability\\\": 1,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.NormalMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 10,\\n \\\"m_DisplayName\\\": \\\"Vertex Normal\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vertex Normal\\\",\\n \\\"m_StageCapability\\\": 1,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.TangentMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 11,\\n \\\"m_DisplayName\\\": \\\"Vertex Tangent\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vertex Tangent\\\",\\n \\\"m_StageCapability\\\": 1,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.ColorRGBMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Albedo\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Albedo\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.7353569269180298,\\n \\\"y\\\": 0.7353569269180298,\\n \\\"z\\\": 0.7353569269180298\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_ColorMode\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.NormalMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Normal\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Normal\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 3\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.ColorRGBMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"Emission\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Emission\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_ColorMode\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.ColorRGBMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"Specular\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Specular\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.5,\\n \\\"y\\\": 0.5,\\n \\\"z\\\": 0.5\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_ColorMode\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 5,\\n \\\"m_DisplayName\\\": \\\"Smoothness\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Smoothness\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.5,\\n \\\"m_DefaultValue\\\": 0.5,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"Occlusion\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Occlusion\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 1.0,\\n \\\"m_DefaultValue\\\": 1.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"Alpha\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Alpha\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 1.0,\\n \\\"m_DefaultValue\\\": 1.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 8,\\n \\\"m_DisplayName\\\": \\\"AlphaClipThreshold\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"AlphaClipThreshold\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_DOTSInstancing\": false,\n \"m_SerializableSubShaders\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.Rendering.Universal.UniversalPBRSubShader\"\n },\n \"JSONnodeData\": \"{}\"\n }\n ],\n \"m_ShaderGUIOverride\": \"\",\n \"m_OverrideEnabled\": false,\n \"m_Model\": 0,\n \"m_SurfaceType\": 1,\n \"m_AlphaMode\": 0,\n \"m_TwoSided\": true,\n \"m_NormalDropOffSpace\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"53e5c6cc-7887-4ad6-98e7-2dfd426d06bb\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -31.999996185302736,\n \"y\": 411.0000305175781,\n \"width\": 190.00001525878907,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Diffuse Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"50cc2671-e469-49b3-804d-a1b67f32fe59\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"f4afe522-baf9-432a-82b7-b7de3d32c6d1\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -28.0,\n \"y\": 58.0,\n \"width\": 154.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"1f801b95-1898-44f4-a056-0e179cd2290f\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"ff47ecaa-c17b-4f81-8687-1b8c109dc638\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -29.0,\n \"y\": 85.0,\n \"width\": 170.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"26a0e850-f4b7-4172-9e6d-ebd076aa12f4\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"0b2b92be-0f00-45ce-8d47-0ccc16547e14\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -28.0,\n \"y\": 31.0,\n \"width\": 141.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Scale\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"0f8451d3-f402-45f1-80a0-90c8cfc3c5a1\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"33113907-91a6-4f77-bbdb-4c5daa97af8f\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -28.0,\n \"y\": -76.0,\n \"width\": 163.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"290855a3-663b-4b44-871b-434a544fd001\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"04a8b3b8-020e-472c-a9ee-37228c27956a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 854.0000610351563,\n \"y\": 481.0,\n \"width\": 139.00001525878907,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Alpha Cutoff\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"7b92f262-febd-4fdf-89f4-2f0dbbe3c19e\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"1f6ca554-5311-49be-b211-bca780fc33da\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -27.0,\n \"y\": -104.0,\n \"width\": 172.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Strength\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"10d76b91-eaaf-4eb7-8331-d7e8f7615734\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"15adefed-fe51-4a61-9f73-45fed5bc2961\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -29.0,\n \"y\": 219.0,\n \"width\": 164.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Glossiness\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"9dba0444-5255-46c6-b45b-d7758fb87c92\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"de4d8dd3-f92b-4148-8f12-a0310dad1b5a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -30.0,\n \"y\": 247.0,\n \"width\": 225.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Specular-Glossiness Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"ca0df8ad-7878-4fad-a798-7eb92e584b50\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"PBR_specular_glossiness_Legacy\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 452.99993896484377,\n \"y\": -74.99996185302735,\n \"width\": 325.0,\n \"height\": 566.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -93992038,\\n \\\"m_DisplayName\\\": \\\"occlusionStrength\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_57266306\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 1.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -170433253,\\n \\\"m_DisplayName\\\": \\\"normalTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_B4A7F700\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1232721058,\\n \\\"m_DisplayName\\\": \\\"normalTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_709747A6\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1577307366,\\n \\\"m_DisplayName\\\": \\\"normalTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_E7A4EB6D\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1848896590,\\n \\\"m_DisplayName\\\": \\\"normalTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_723CD44F\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1763326587,\\n \\\"m_DisplayName\\\": \\\"normalScale\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_345B830B\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 1.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -693026575,\\n \\\"m_DisplayName\\\": \\\"emissiveFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector3_44384D65\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 129475646,\\n \\\"m_DisplayName\\\": \\\"emissiveTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_8F96C631\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1530499769,\\n \\\"m_DisplayName\\\": \\\"emissiveTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_6740F1E7\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1506478481,\\n \\\"m_DisplayName\\\": \\\"emissiveTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_2FF7A846\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1228308647,\\n \\\"m_DisplayName\\\": \\\"emissiveTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_84D2828\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1135425935,\\n \\\"m_DisplayName\\\": \\\"specularFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector3_7DAA0EF6\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 1.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1788256886,\\n \\\"m_DisplayName\\\": \\\"glossinessFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_B9A549A5\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 1.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1863153919,\\n \\\"m_DisplayName\\\": \\\"specularGlossinessTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_5B57D6EB\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1560265799,\\n \\\"m_DisplayName\\\": \\\"specularGlossinessTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_E9BA8DE2\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -395207330,\\n \\\"m_DisplayName\\\": \\\"specularGlossinessTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_65963D32\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2033027365,\\n \\\"m_DisplayName\\\": \\\"specularGlossinessTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_95F4D45C\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1438624126,\\n \\\"m_DisplayName\\\": \\\"baseColorFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_8743F3C3\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 1.0,\\n \\\"w\\\": 1.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1050676157,\\n \\\"m_DisplayName\\\": \\\"baseColorTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_EBF077FA\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 921423784,\\n \\\"m_DisplayName\\\": \\\"baseColorTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_6F4A9DFD\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 1.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 76898838,\\n \\\"m_DisplayName\\\": \\\"baseColorTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_FE260CB0\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 875893476,\\n \\\"m_DisplayName\\\": \\\"basecolorTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_3AB48523\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -908648287,\\n \\\"m_DisplayName\\\": \\\"occlusionTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_2BD19CD4\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1162777963,\\n \\\"m_DisplayName\\\": \\\"occlusionTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_F60D5B1F\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1266083562,\\n \\\"m_DisplayName\\\": \\\"occlusionTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_B37C1316\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1674066252,\\n \\\"m_DisplayName\\\": \\\"occlusionTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_FA39B51B\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -26709570,\\n \\\"m_DisplayName\\\": \\\"UV0\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_489312EB\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 534443401,\\n \\\"m_DisplayName\\\": \\\"UV1\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_20A21D51\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"Albedo\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Albedo\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"Normal\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Normal\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"Emission\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Emission\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"Specular\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Specular\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 5,\\n \\\"m_DisplayName\\\": \\\"Glossiness\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Glossiness\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Occlusion\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Occlusion\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"Alpha\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Alpha\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_SerializedSubGraph\": \"{\\n \\\"subGraph\\\": {\\n \\\"fileID\\\": -5475051401550479605,\\n \\\"guid\\\": \\\"61360ed3722d94c1baeb8aed4a335a03\\\",\\n \\\"type\\\": 3\\n }\\n}\",\n \"m_PropertyGuids\": [\n \"2a4c85c6-a729-4e82-81d3-77ec259c58de\",\n \"e85226d9-1785-431c-b779-0a31a91295de\",\n \"d7da8a92-273f-4f7b-ae2c-668b7e04a26c\",\n \"189b1fbb-ef98-4483-a2a6-74653e7265ad\",\n \"18c8e2c1-767f-46e3-90f7-6938c8c9891c\",\n \"1aa9ec50-0e3f-4e77-81b7-7ed5cd0d7c51\",\n \"0091f9d7-7596-4b86-86b3-c45dc2f579ec\",\n \"23b11ff4-3af1-4945-9c4b-b3b499bdfa33\",\n \"1535492a-2795-428c-a7a8-0c963bc80c1b\",\n \"380b6046-ffdc-407c-aab5-0e62237b3e9b\",\n \"349829b0-a90d-4b44-bf38-99916345bde2\",\n \"77ff8161-3714-4ef8-8885-767db25a0931\",\n \"1c7d931e-ae67-4dbe-910f-950e7f631636\",\n \"989571ef-fa38-48b8-978a-21a21ed26bd8\",\n \"2819c2e7-82eb-45f4-be81-3ac73d6fc312\",\n \"d6643c70-6b0c-4d13-a4dd-435d773ecbdd\",\n \"7ea9042f-5218-442a-91c1-fa205ac204f4\",\n \"2de56b8d-7963-406c-a703-e2d403dc7bbf\",\n \"90187083-7fe4-43e0-aa78-4e5e0b416379\",\n \"ef71ac1d-0342-406e-b1d0-82e9d90bff3d\",\n \"5627d6c9-e91e-44a4-bc7f-e421a2853bd4\",\n \"b2a5b7b0-7691-4148-aa59-626defba0c97\",\n \"38e3cac6-75d5-4a7a-b9cc-049e4238a31b\",\n \"9a427b69-f942-400a-a456-c016599bfada\",\n \"e7c6d5c3-30b7-48a5-a191-3fc467b60538\",\n \"cebcc942-4291-40c9-9359-f5eff99198ae\",\n \"fc4a57b8-ce7f-4534-b48a-06d3c43f8268\",\n \"e100221b-c8b1-482f-9484-93d18169bda1\",\n \"24dea8ad-bda8-4e7c-9b5b-d206ac78b53b\",\n \"5ca683eb-9391-45d1-beee-534b4dcb578e\",\n \"8ea9bfd6-b573-4ad6-89c6-2406e1cccf89\"\n ],\n \"m_PropertyIds\": [\n -93992038,\n -170433253,\n -1763326587,\n -2096931947,\n 129475646,\n 1788256886,\n -1324895555,\n -1438624126,\n 1050676157,\n -908648287,\n 76898838,\n 921423784,\n 656072342,\n 1135425935,\n -1863153919,\n -26709570,\n -693026575,\n -1232721058,\n -1577307366,\n 1848896590,\n 1530499769,\n -1506478481,\n 1228308647,\n -1560265799,\n -395207330,\n 2033027365,\n 875893476,\n -1162777963,\n 1266083562,\n -1674066252,\n 534443401\n ]\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"7bbee321-ec42-4676-89d5-e12cd597146b\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -29.0,\n \"y\": 192.0,\n \"width\": 154.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Specular\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"36fddb2f-e4c6-4f59-87dd-f2393782483b\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.UVNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"622678ac-9c43-483d-ae8e-8983e923d4ac\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"UV\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 57.000064849853519,\n \"y\": 733.9999389648438,\n \"width\": 144.99998474121095,\n \"height\": 128.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_OutputChannel\": 1\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"0b78bb98-af02-4bc1-ab52-597cbc06555f\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -30.9999942779541,\n \"y\": 466.0000305175781,\n \"width\": 232.00001525878907,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Diffuse Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"ac896e0a-36a9-4b39-88a2-477b24503672\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"1c94f2ba-4910-4b84-857b-1f7e782e8ae6\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -27.0,\n \"y\": -49.0,\n \"width\": 174.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"4a9b163c-6618-4447-91f1-f4a15516eeb8\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"3dad17cc-a51e-4cc5-8cea-f4a30291c36c\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -28.0,\n \"y\": -23.0,\n \"width\": 201.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"12a9dcfc-bcd9-4c63-934d-52e0bab96573\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"262b92c6-4a2d-4943-b9af-1ae2dfb2e732\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -28.0,\n \"y\": 4.0,\n \"width\": 214.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"07b420fc-e24a-4acb-ab5a-464a72d41d5c\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"d44adc57-72c9-4a35-bf4e-2426f292d72e\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -30.0,\n \"y\": 274.0,\n \"width\": 237.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Specular-Glossiness Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"05b6c7f5-faa6-4321-ab09-e93ddfa36ec6\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"c68e12f2-b6ec-4cd1-b04c-3d3f8ad92234\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -30.0,\n \"y\": 302.0,\n \"width\": 263.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Specular-Glossiness Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"30e755a7-1eaa-486d-9ae3-205a4f7415ac\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"9b0c9183-def7-4943-8477-6c686f887027\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -30.0,\n \"y\": 329.0,\n \"width\": 276.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Specular-Glossiness Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"e7fad074-07d4-4f5a-a120-0204b274b321\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"02bd22ad-253f-4455-98dd-1cce111cfc8c\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -31.0,\n \"y\": 522.0,\n \"width\": 187.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"00dc0832-2265-41c5-80f0-22f56e9be6fc\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"4857a3be-8b4a-4eb8-89a5-80de33cf5df3\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -31.0,\n \"y\": 549.0,\n \"width\": 213.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"1991819b-9e16-4e18-b175-bab77825be48\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"289bc88c-520e-4b88-987b-1ffa5cee0718\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -31.0,\n \"y\": 575.0,\n \"width\": 226.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"5573c9d6-f4fc-488b-8399-e89b711c70c8\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"b72a0ca5-cea2-4ecf-80f1-88a24cb58ab6\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -29.0,\n \"y\": 111.0,\n \"width\": 181.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"dcc2377b-efb0-4c6c-a0a3-a58e58b20e5c\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"37cb3e6b-7e90-4038-86fb-b9c6772bd66f\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -29.0,\n \"y\": 138.0,\n \"width\": 208.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"e085883c-c0f6-4916-9b6a-01be35fea2ea\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"c3de168e-fb35-476f-9c8a-b5d83ea83c4a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -29.0,\n \"y\": 165.0,\n \"width\": 221.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"1ac440bf-f15e-4865-9887-573c99a1d82d\"\n}" - } - ], - "m_Groups": [], - "m_StickyNotes": [], - "m_SerializableEdges": [ - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"04a8b3b8-020e-472c-a9ee-37228c27956a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 8,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"1f6ca554-5311-49be-b211-bca780fc33da\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -93992038,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"33113907-91a6-4f77-bbdb-4c5daa97af8f\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -170433253,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"0b2b92be-0f00-45ce-8d47-0ccc16547e14\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1763326587,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"ff47ecaa-c17b-4f81-8687-1b8c109dc638\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 129475646,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"15adefed-fe51-4a61-9f73-45fed5bc2961\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1788256886,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"ff8e6a70-685e-40e3-bd9a-1253d36a963f\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1438624126,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"18922adc-3efa-4c2e-9faa-ce5a585d4657\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1050676157,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"c3a2f30b-2332-45df-ab3c-9fd061527cc6\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -908648287,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"d96b2bad-447c-4001-bc02-75edd93ac03a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 76898838,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"53e5c6cc-7887-4ad6-98e7-2dfd426d06bb\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 921423784,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 6,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 3,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 4,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 4,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 3,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 5,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 5,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 6,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 7,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 7,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"7bbee321-ec42-4676-89d5-e12cd597146b\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1135425935,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"18246a20-8752-4459-8c75-2818fc4af4f3\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -26709570,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"de4d8dd3-f92b-4148-8f12-a0310dad1b5a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1863153919,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"f4afe522-baf9-432a-82b7-b7de3d32c6d1\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -693026575,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"622678ac-9c43-483d-ae8e-8983e923d4ac\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 534443401,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"0b78bb98-af02-4bc1-ab52-597cbc06555f\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 875893476,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"1c94f2ba-4910-4b84-857b-1f7e782e8ae6\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1232721058,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"3dad17cc-a51e-4cc5-8cea-f4a30291c36c\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1577307366,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"262b92c6-4a2d-4943-b9af-1ae2dfb2e732\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1848896590,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"9b0c9183-def7-4943-8477-6c686f887027\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 2033027365,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"c68e12f2-b6ec-4cd1-b04c-3d3f8ad92234\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -395207330,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"d44adc57-72c9-4a35-bf4e-2426f292d72e\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1560265799,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"02bd22ad-253f-4455-98dd-1cce111cfc8c\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1162777963,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"4857a3be-8b4a-4eb8-89a5-80de33cf5df3\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1266083562,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"289bc88c-520e-4b88-987b-1ffa5cee0718\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1674066252,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"b72a0ca5-cea2-4ecf-80f1-88a24cb58ab6\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1530499769,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"37cb3e6b-7e90-4038-86fb-b9c6772bd66f\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1506478481,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"c3de168e-fb35-476f-9c8a-b5d83ea83c4a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1228308647,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - } - ], - "m_PreviewData": { - "serializedMesh": { - "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", - "m_Guid": "" - } - }, - "m_Path": "Shader Graphs", - "m_ConcretePrecision": 0, - "m_ActiveOutputNodeGuidSerialized": "e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8" -} \ No newline at end of file diff --git a/Runtime/Shader/Legacy/glTF-pbrSpecularGlossiness-Blend-double.shadergraph.meta b/Runtime/Shader/Legacy/glTF-pbrSpecularGlossiness-Blend-double.shadergraph.meta deleted file mode 100644 index 27b91f28c..000000000 --- a/Runtime/Shader/Legacy/glTF-pbrSpecularGlossiness-Blend-double.shadergraph.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 570c30d8611584eb4b05ed386a2c66f1 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Runtime/Shader/Legacy/glTF-pbrSpecularGlossiness-Blend.shadergraph b/Runtime/Shader/Legacy/glTF-pbrSpecularGlossiness-Blend.shadergraph deleted file mode 100644 index 0165dc2c1..000000000 --- a/Runtime/Shader/Legacy/glTF-pbrSpecularGlossiness-Blend.shadergraph +++ /dev/null @@ -1,603 +0,0 @@ -{ - "m_SerializedProperties": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"7f4f45f2-b62a-4732-893b-0d7ab9ce6986\"\n },\n \"m_Name\": \"Diffuse\",\n \"m_DefaultReferenceName\": \"Color_A53D4B2B\",\n \"m_OverrideReferenceName\": \"diffuseFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 2,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"r\": 1.0,\n \"g\": 1.0,\n \"b\": 1.0,\n \"a\": 1.0\n },\n \"m_ColorMode\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"06d6e0d3-a210-4065-af02-38a543a20066\"\n },\n \"m_Name\": \"Diffuse Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_3270778E\",\n \"m_OverrideReferenceName\": \"diffuseTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 2,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"50cc2671-e469-49b3-804d-a1b67f32fe59\"\n },\n \"m_Name\": \"Diffuse Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_6585E8BA\",\n \"m_OverrideReferenceName\": \"diffuseTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"8c960e31-f89f-41e6-958a-5a8561a5d8c4\"\n },\n \"m_Name\": \"Diffuse Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_DC752BB\",\n \"m_OverrideReferenceName\": \"diffuseTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"ac896e0a-36a9-4b39-88a2-477b24503672\"\n },\n \"m_Name\": \"Diffuse Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_D1052356\",\n \"m_OverrideReferenceName\": \"diffuseTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 2,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"290855a3-663b-4b44-871b-434a544fd001\"\n },\n \"m_Name\": \"Normal Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_4207825D\",\n \"m_OverrideReferenceName\": \"normalTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 3\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"4a9b163c-6618-4447-91f1-f4a15516eeb8\"\n },\n \"m_Name\": \"Normal Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_C3A2C10C\",\n \"m_OverrideReferenceName\": \"normalTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"12a9dcfc-bcd9-4c63-934d-52e0bab96573\"\n },\n \"m_Name\": \"Normal Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_6C5541D2\",\n \"m_OverrideReferenceName\": \"normalTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"07b420fc-e24a-4acb-ab5a-464a72d41d5c\"\n },\n \"m_Name\": \"Normal Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_937E69F0\",\n \"m_OverrideReferenceName\": \"normalTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 2,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"0f8451d3-f402-45f1-80a0-90c8cfc3c5a1\"\n },\n \"m_Name\": \"Normal Scale\",\n \"m_DefaultReferenceName\": \"Vector1_97BB6A5\",\n \"m_OverrideReferenceName\": \"normalTexture_scale\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 1.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"7c763b51-7fad-4cea-8cd7-bfc77a4aed10\"\n },\n \"m_Name\": \"Occlusion Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_479F257E\",\n \"m_OverrideReferenceName\": \"occlusionTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"00dc0832-2265-41c5-80f0-22f56e9be6fc\"\n },\n \"m_Name\": \"Occlusion Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_60705983\",\n \"m_OverrideReferenceName\": \"occlusionTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"1991819b-9e16-4e18-b175-bab77825be48\"\n },\n \"m_Name\": \"Occlusion Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_CCA3138D\",\n \"m_OverrideReferenceName\": \"occlusionTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"5573c9d6-f4fc-488b-8399-e89b711c70c8\"\n },\n \"m_Name\": \"Occlusion Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_59A26F9F\",\n \"m_OverrideReferenceName\": \"occlusionTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 2,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"10d76b91-eaaf-4eb7-8331-d7e8f7615734\"\n },\n \"m_Name\": \"Occlusion Strength\",\n \"m_DefaultReferenceName\": \"Vector1_DDDD754\",\n \"m_OverrideReferenceName\": \"occlusionTexture_strength\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 1.0,\n \"m_FloatType\": 1,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"36fddb2f-e4c6-4f59-87dd-f2393782483b\"\n },\n \"m_Name\": \"Specular\",\n \"m_DefaultReferenceName\": \"Color_9A3717F7\",\n \"m_OverrideReferenceName\": \"specularFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"r\": 1.0,\n \"g\": 1.0,\n \"b\": 1.0,\n \"a\": 1.0\n },\n \"m_ColorMode\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"9dba0444-5255-46c6-b45b-d7758fb87c92\"\n },\n \"m_Name\": \"Glossiness\",\n \"m_DefaultReferenceName\": \"Vector1_BB0292F7\",\n \"m_OverrideReferenceName\": \"glossinessFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 1.0,\n \"m_FloatType\": 1,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"ca0df8ad-7878-4fad-a798-7eb92e584b50\"\n },\n \"m_Name\": \"Specular-Glossiness Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_48FA930\",\n \"m_OverrideReferenceName\": \"specularGlossinessTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"05b6c7f5-faa6-4321-ab09-e93ddfa36ec6\"\n },\n \"m_Name\": \"Specular-Glossiness Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_681EB854\",\n \"m_OverrideReferenceName\": \"specularGlossinessTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"30e755a7-1eaa-486d-9ae3-205a4f7415ac\"\n },\n \"m_Name\": \"Specular-Glossiness Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_E5B8F13D\",\n \"m_OverrideReferenceName\": \"specularGlossinessTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"e7fad074-07d4-4f5a-a120-0204b274b321\"\n },\n \"m_Name\": \"Specular-Glossiness Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_5999D168\",\n \"m_OverrideReferenceName\": \"specularGlossinessTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"1f801b95-1898-44f4-a056-0e179cd2290f\"\n },\n \"m_Name\": \"Emissive\",\n \"m_DefaultReferenceName\": \"Color_DDF6DA04\",\n \"m_OverrideReferenceName\": \"emissiveFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"r\": 0.0,\n \"g\": 0.0,\n \"b\": 0.0,\n \"a\": 1.0\n },\n \"m_ColorMode\": 1\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"26a0e850-f4b7-4172-9e6d-ebd076aa12f4\"\n },\n \"m_Name\": \"Emissive Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_C0C78D41\",\n \"m_OverrideReferenceName\": \"emissiveTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"7b92f262-febd-4fdf-89f4-2f0dbbe3c19e\"\n },\n \"m_Name\": \"Alpha Cutoff\",\n \"m_DefaultReferenceName\": \"Vector1_C94E19E6\",\n \"m_OverrideReferenceName\": \"alphaCutoff\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.5,\n \"m_FloatType\": 1,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"dcc2377b-efb0-4c6c-a0a3-a58e58b20e5c\"\n },\n \"m_Name\": \"Emissive Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_90187653\",\n \"m_OverrideReferenceName\": \"emissiveTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"e085883c-c0f6-4916-9b6a-01be35fea2ea\"\n },\n \"m_Name\": \"Emissive Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_CB67208B\",\n \"m_OverrideReferenceName\": \"emissiveTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"1ac440bf-f15e-4865-9887-573c99a1d82d\"\n },\n \"m_Name\": \"Emissive Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_FB68154\",\n \"m_OverrideReferenceName\": \"emissiveTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 2,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - } - ], - "m_SerializedKeywords": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.ShaderKeyword" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"a7d905c3-7492-4341-bcc1-99dd0b856891\"\n },\n \"m_Name\": \"EMISSIVE\",\n \"m_DefaultReferenceName\": \"BOOLEAN_81A09341_ON\",\n \"m_OverrideReferenceName\": \"_EMISSIVE\",\n \"m_GeneratePropertyBlock\": true,\n \"m_KeywordType\": 0,\n \"m_KeywordDefinition\": 0,\n \"m_KeywordScope\": 0,\n \"m_Entries\": [],\n \"m_Value\": 0,\n \"m_IsEditable\": true,\n \"m_IsExposable\": true\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.ShaderKeyword" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"4bdd5ce6-07d2-407c-8a17-dc0d8fa64973\"\n },\n \"m_Name\": \"OCCLUSION\",\n \"m_DefaultReferenceName\": \"BOOLEAN_90C144E9_ON\",\n \"m_OverrideReferenceName\": \"_OCCLUSION\",\n \"m_GeneratePropertyBlock\": true,\n \"m_KeywordType\": 0,\n \"m_KeywordDefinition\": 0,\n \"m_KeywordScope\": 0,\n \"m_Entries\": [],\n \"m_Value\": 0,\n \"m_IsEditable\": true,\n \"m_IsExposable\": true\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.ShaderKeyword" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"9586ea4c-07b0-4d52-85fa-aee89e92c5c2\"\n },\n \"m_Name\": \"TEXTURE_TRANSFORM\",\n \"m_DefaultReferenceName\": \"BOOLEAN_9E3CD316_ON\",\n \"m_OverrideReferenceName\": \"_TEXTURE_TRANSFORM\",\n \"m_GeneratePropertyBlock\": true,\n \"m_KeywordType\": 0,\n \"m_KeywordDefinition\": 0,\n \"m_KeywordScope\": 0,\n \"m_Entries\": [],\n \"m_Value\": 0,\n \"m_IsEditable\": true,\n \"m_IsExposable\": true\n}" - } - ], - "m_SerializableNodes": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"c3a2f30b-2332-45df-ab3c-9fd061527cc6\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -32.0,\n \"y\": 493.0,\n \"width\": 175.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"7c763b51-7fad-4cea-8cd7-bfc77a4aed10\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"18922adc-3efa-4c2e-9faa-ce5a585d4657\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -32.0,\n \"y\": 384.0,\n \"width\": 178.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Diffuse Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 2,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"06d6e0d3-a210-4065-af02-38a543a20066\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.UVNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"18246a20-8752-4459-8c75-2818fc4af4f3\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"UV\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 56.000022888183597,\n \"y\": 608.9999389648438,\n \"width\": 144.99998474121095,\n \"height\": 128.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_OutputChannel\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"d96b2bad-447c-4001-bc02-75edd93ac03a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -31.999996185302736,\n \"y\": 439.0,\n \"width\": 216.00001525878907,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Diffuse Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"8c960e31-f89f-41e6-958a-5a8561a5d8c4\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"ff8e6a70-685e-40e3-bd9a-1253d36a963f\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -31.0,\n \"y\": 357.0,\n \"width\": 163.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Diffuse\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 2,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"7f4f45f2-b62a-4732-893b-0d7ab9ce6986\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PBRMasterNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"PBR Master\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 1012.0000610351563,\n \"y\": 202.0,\n \"width\": 200.0,\n \"height\": 317.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.PositionMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 9,\\n \\\"m_DisplayName\\\": \\\"Vertex Position\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vertex Position\\\",\\n \\\"m_StageCapability\\\": 1,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.NormalMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 10,\\n \\\"m_DisplayName\\\": \\\"Vertex Normal\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vertex Normal\\\",\\n \\\"m_StageCapability\\\": 1,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.TangentMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 11,\\n \\\"m_DisplayName\\\": \\\"Vertex Tangent\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vertex Tangent\\\",\\n \\\"m_StageCapability\\\": 1,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.ColorRGBMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Albedo\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Albedo\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.7353569269180298,\\n \\\"y\\\": 0.7353569269180298,\\n \\\"z\\\": 0.7353569269180298\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_ColorMode\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.NormalMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Normal\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Normal\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 3\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.ColorRGBMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"Emission\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Emission\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_ColorMode\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.ColorRGBMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"Specular\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Specular\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.5,\\n \\\"y\\\": 0.5,\\n \\\"z\\\": 0.5\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_ColorMode\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 5,\\n \\\"m_DisplayName\\\": \\\"Smoothness\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Smoothness\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.5,\\n \\\"m_DefaultValue\\\": 0.5,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"Occlusion\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Occlusion\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 1.0,\\n \\\"m_DefaultValue\\\": 1.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"Alpha\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Alpha\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 1.0,\\n \\\"m_DefaultValue\\\": 1.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 8,\\n \\\"m_DisplayName\\\": \\\"AlphaClipThreshold\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"AlphaClipThreshold\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_DOTSInstancing\": false,\n \"m_SerializableSubShaders\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.Rendering.Universal.UniversalPBRSubShader\"\n },\n \"JSONnodeData\": \"{}\"\n }\n ],\n \"m_ShaderGUIOverride\": \"\",\n \"m_OverrideEnabled\": false,\n \"m_Model\": 0,\n \"m_SurfaceType\": 1,\n \"m_AlphaMode\": 0,\n \"m_TwoSided\": false,\n \"m_NormalDropOffSpace\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"53e5c6cc-7887-4ad6-98e7-2dfd426d06bb\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -31.999996185302736,\n \"y\": 411.0000305175781,\n \"width\": 190.00001525878907,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Diffuse Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"50cc2671-e469-49b3-804d-a1b67f32fe59\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"f4afe522-baf9-432a-82b7-b7de3d32c6d1\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -28.0,\n \"y\": 58.0,\n \"width\": 154.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"1f801b95-1898-44f4-a056-0e179cd2290f\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"ff47ecaa-c17b-4f81-8687-1b8c109dc638\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -29.0,\n \"y\": 85.0,\n \"width\": 170.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"26a0e850-f4b7-4172-9e6d-ebd076aa12f4\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"0b2b92be-0f00-45ce-8d47-0ccc16547e14\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -28.0,\n \"y\": 31.0,\n \"width\": 141.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Scale\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"0f8451d3-f402-45f1-80a0-90c8cfc3c5a1\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"33113907-91a6-4f77-bbdb-4c5daa97af8f\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -28.0,\n \"y\": -76.0,\n \"width\": 163.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"290855a3-663b-4b44-871b-434a544fd001\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"04a8b3b8-020e-472c-a9ee-37228c27956a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 854.0000610351563,\n \"y\": 481.0,\n \"width\": 139.00001525878907,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Alpha Cutoff\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"7b92f262-febd-4fdf-89f4-2f0dbbe3c19e\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"1f6ca554-5311-49be-b211-bca780fc33da\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -27.0,\n \"y\": -104.0,\n \"width\": 172.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Strength\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"10d76b91-eaaf-4eb7-8331-d7e8f7615734\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"15adefed-fe51-4a61-9f73-45fed5bc2961\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -29.0,\n \"y\": 219.0,\n \"width\": 164.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Glossiness\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"9dba0444-5255-46c6-b45b-d7758fb87c92\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"de4d8dd3-f92b-4148-8f12-a0310dad1b5a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -30.0,\n \"y\": 247.0,\n \"width\": 225.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Specular-Glossiness Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"ca0df8ad-7878-4fad-a798-7eb92e584b50\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"PBR_specular_glossiness_Legacy\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 452.99993896484377,\n \"y\": -74.99996185302735,\n \"width\": 325.0,\n \"height\": 566.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -93992038,\\n \\\"m_DisplayName\\\": \\\"occlusionStrength\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_57266306\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 1.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -170433253,\\n \\\"m_DisplayName\\\": \\\"normalTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_B4A7F700\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1232721058,\\n \\\"m_DisplayName\\\": \\\"normalTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_709747A6\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1577307366,\\n \\\"m_DisplayName\\\": \\\"normalTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_E7A4EB6D\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1848896590,\\n \\\"m_DisplayName\\\": \\\"normalTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_723CD44F\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1763326587,\\n \\\"m_DisplayName\\\": \\\"normalScale\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_345B830B\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 1.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -693026575,\\n \\\"m_DisplayName\\\": \\\"emissiveFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector3_44384D65\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 129475646,\\n \\\"m_DisplayName\\\": \\\"emissiveTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_8F96C631\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1530499769,\\n \\\"m_DisplayName\\\": \\\"emissiveTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_6740F1E7\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1506478481,\\n \\\"m_DisplayName\\\": \\\"emissiveTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_2FF7A846\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1228308647,\\n \\\"m_DisplayName\\\": \\\"emissiveTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_84D2828\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1135425935,\\n \\\"m_DisplayName\\\": \\\"specularFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector3_7DAA0EF6\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 1.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1788256886,\\n \\\"m_DisplayName\\\": \\\"glossinessFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_B9A549A5\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 1.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1863153919,\\n \\\"m_DisplayName\\\": \\\"specularGlossinessTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_5B57D6EB\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1560265799,\\n \\\"m_DisplayName\\\": \\\"specularGlossinessTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_E9BA8DE2\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -395207330,\\n \\\"m_DisplayName\\\": \\\"specularGlossinessTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_65963D32\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2033027365,\\n \\\"m_DisplayName\\\": \\\"specularGlossinessTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_95F4D45C\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1438624126,\\n \\\"m_DisplayName\\\": \\\"baseColorFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_8743F3C3\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 1.0,\\n \\\"w\\\": 1.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1050676157,\\n \\\"m_DisplayName\\\": \\\"baseColorTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_EBF077FA\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 921423784,\\n \\\"m_DisplayName\\\": \\\"baseColorTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_6F4A9DFD\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 1.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 76898838,\\n \\\"m_DisplayName\\\": \\\"baseColorTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_FE260CB0\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 875893476,\\n \\\"m_DisplayName\\\": \\\"basecolorTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_3AB48523\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -908648287,\\n \\\"m_DisplayName\\\": \\\"occlusionTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_2BD19CD4\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1162777963,\\n \\\"m_DisplayName\\\": \\\"occlusionTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_F60D5B1F\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1266083562,\\n \\\"m_DisplayName\\\": \\\"occlusionTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_B37C1316\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1674066252,\\n \\\"m_DisplayName\\\": \\\"occlusionTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_FA39B51B\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -26709570,\\n \\\"m_DisplayName\\\": \\\"UV0\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_489312EB\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 534443401,\\n \\\"m_DisplayName\\\": \\\"UV1\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_20A21D51\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"Albedo\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Albedo\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"Normal\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Normal\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"Emission\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Emission\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"Specular\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Specular\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 5,\\n \\\"m_DisplayName\\\": \\\"Glossiness\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Glossiness\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Occlusion\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Occlusion\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"Alpha\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Alpha\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_SerializedSubGraph\": \"{\\n \\\"subGraph\\\": {\\n \\\"fileID\\\": -5475051401550479605,\\n \\\"guid\\\": \\\"61360ed3722d94c1baeb8aed4a335a03\\\",\\n \\\"type\\\": 3\\n }\\n}\",\n \"m_PropertyGuids\": [\n \"2a4c85c6-a729-4e82-81d3-77ec259c58de\",\n \"e85226d9-1785-431c-b779-0a31a91295de\",\n \"d7da8a92-273f-4f7b-ae2c-668b7e04a26c\",\n \"189b1fbb-ef98-4483-a2a6-74653e7265ad\",\n \"18c8e2c1-767f-46e3-90f7-6938c8c9891c\",\n \"1aa9ec50-0e3f-4e77-81b7-7ed5cd0d7c51\",\n \"0091f9d7-7596-4b86-86b3-c45dc2f579ec\",\n \"23b11ff4-3af1-4945-9c4b-b3b499bdfa33\",\n \"1535492a-2795-428c-a7a8-0c963bc80c1b\",\n \"380b6046-ffdc-407c-aab5-0e62237b3e9b\",\n \"349829b0-a90d-4b44-bf38-99916345bde2\",\n \"77ff8161-3714-4ef8-8885-767db25a0931\",\n \"1c7d931e-ae67-4dbe-910f-950e7f631636\",\n \"989571ef-fa38-48b8-978a-21a21ed26bd8\",\n \"2819c2e7-82eb-45f4-be81-3ac73d6fc312\",\n \"d6643c70-6b0c-4d13-a4dd-435d773ecbdd\",\n \"7ea9042f-5218-442a-91c1-fa205ac204f4\",\n \"2de56b8d-7963-406c-a703-e2d403dc7bbf\",\n \"90187083-7fe4-43e0-aa78-4e5e0b416379\",\n \"ef71ac1d-0342-406e-b1d0-82e9d90bff3d\",\n \"5627d6c9-e91e-44a4-bc7f-e421a2853bd4\",\n \"b2a5b7b0-7691-4148-aa59-626defba0c97\",\n \"38e3cac6-75d5-4a7a-b9cc-049e4238a31b\",\n \"9a427b69-f942-400a-a456-c016599bfada\",\n \"e7c6d5c3-30b7-48a5-a191-3fc467b60538\",\n \"cebcc942-4291-40c9-9359-f5eff99198ae\",\n \"fc4a57b8-ce7f-4534-b48a-06d3c43f8268\",\n \"e100221b-c8b1-482f-9484-93d18169bda1\",\n \"24dea8ad-bda8-4e7c-9b5b-d206ac78b53b\",\n \"5ca683eb-9391-45d1-beee-534b4dcb578e\",\n \"8ea9bfd6-b573-4ad6-89c6-2406e1cccf89\"\n ],\n \"m_PropertyIds\": [\n -93992038,\n -170433253,\n -1763326587,\n -2096931947,\n 129475646,\n 1788256886,\n -1324895555,\n -1438624126,\n 1050676157,\n -908648287,\n 76898838,\n 921423784,\n 656072342,\n 1135425935,\n -1863153919,\n -26709570,\n -693026575,\n -1232721058,\n -1577307366,\n 1848896590,\n 1530499769,\n -1506478481,\n 1228308647,\n -1560265799,\n -395207330,\n 2033027365,\n 875893476,\n -1162777963,\n 1266083562,\n -1674066252,\n 534443401\n ]\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"7bbee321-ec42-4676-89d5-e12cd597146b\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -29.0,\n \"y\": 192.0,\n \"width\": 154.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Specular\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"36fddb2f-e4c6-4f59-87dd-f2393782483b\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.UVNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"622678ac-9c43-483d-ae8e-8983e923d4ac\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"UV\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 57.000064849853519,\n \"y\": 733.9999389648438,\n \"width\": 144.99998474121095,\n \"height\": 128.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_OutputChannel\": 1\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"0b78bb98-af02-4bc1-ab52-597cbc06555f\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -30.9999942779541,\n \"y\": 466.0000305175781,\n \"width\": 232.00001525878907,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Diffuse Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"ac896e0a-36a9-4b39-88a2-477b24503672\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"1c94f2ba-4910-4b84-857b-1f7e782e8ae6\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -27.0,\n \"y\": -49.0,\n \"width\": 174.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"4a9b163c-6618-4447-91f1-f4a15516eeb8\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"3dad17cc-a51e-4cc5-8cea-f4a30291c36c\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -28.0,\n \"y\": -23.0,\n \"width\": 201.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"12a9dcfc-bcd9-4c63-934d-52e0bab96573\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"262b92c6-4a2d-4943-b9af-1ae2dfb2e732\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -28.0,\n \"y\": 4.0,\n \"width\": 214.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"07b420fc-e24a-4acb-ab5a-464a72d41d5c\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"d44adc57-72c9-4a35-bf4e-2426f292d72e\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -30.0,\n \"y\": 274.0,\n \"width\": 237.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Specular-Glossiness Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"05b6c7f5-faa6-4321-ab09-e93ddfa36ec6\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"c68e12f2-b6ec-4cd1-b04c-3d3f8ad92234\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -30.0,\n \"y\": 302.0,\n \"width\": 263.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Specular-Glossiness Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"30e755a7-1eaa-486d-9ae3-205a4f7415ac\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"9b0c9183-def7-4943-8477-6c686f887027\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -30.0,\n \"y\": 329.0,\n \"width\": 276.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Specular-Glossiness Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"e7fad074-07d4-4f5a-a120-0204b274b321\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"02bd22ad-253f-4455-98dd-1cce111cfc8c\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -31.0,\n \"y\": 522.0,\n \"width\": 187.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"00dc0832-2265-41c5-80f0-22f56e9be6fc\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"4857a3be-8b4a-4eb8-89a5-80de33cf5df3\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -31.0,\n \"y\": 549.0,\n \"width\": 213.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"1991819b-9e16-4e18-b175-bab77825be48\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"289bc88c-520e-4b88-987b-1ffa5cee0718\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -31.0,\n \"y\": 575.0,\n \"width\": 226.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"5573c9d6-f4fc-488b-8399-e89b711c70c8\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"b72a0ca5-cea2-4ecf-80f1-88a24cb58ab6\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -29.0,\n \"y\": 111.0,\n \"width\": 181.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"dcc2377b-efb0-4c6c-a0a3-a58e58b20e5c\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"37cb3e6b-7e90-4038-86fb-b9c6772bd66f\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -29.0,\n \"y\": 138.0,\n \"width\": 208.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"e085883c-c0f6-4916-9b6a-01be35fea2ea\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"c3de168e-fb35-476f-9c8a-b5d83ea83c4a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -29.0,\n \"y\": 165.0,\n \"width\": 221.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"1ac440bf-f15e-4865-9887-573c99a1d82d\"\n}" - } - ], - "m_Groups": [], - "m_StickyNotes": [], - "m_SerializableEdges": [ - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"04a8b3b8-020e-472c-a9ee-37228c27956a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 8,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"1f6ca554-5311-49be-b211-bca780fc33da\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -93992038,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"33113907-91a6-4f77-bbdb-4c5daa97af8f\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -170433253,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"0b2b92be-0f00-45ce-8d47-0ccc16547e14\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1763326587,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"ff47ecaa-c17b-4f81-8687-1b8c109dc638\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 129475646,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"15adefed-fe51-4a61-9f73-45fed5bc2961\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1788256886,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"ff8e6a70-685e-40e3-bd9a-1253d36a963f\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1438624126,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"18922adc-3efa-4c2e-9faa-ce5a585d4657\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1050676157,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"c3a2f30b-2332-45df-ab3c-9fd061527cc6\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -908648287,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"d96b2bad-447c-4001-bc02-75edd93ac03a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 76898838,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"53e5c6cc-7887-4ad6-98e7-2dfd426d06bb\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 921423784,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 6,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 3,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 4,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 4,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 3,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 5,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 5,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 6,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 7,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 7,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"7bbee321-ec42-4676-89d5-e12cd597146b\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1135425935,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"18246a20-8752-4459-8c75-2818fc4af4f3\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -26709570,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"de4d8dd3-f92b-4148-8f12-a0310dad1b5a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1863153919,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"f4afe522-baf9-432a-82b7-b7de3d32c6d1\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -693026575,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"622678ac-9c43-483d-ae8e-8983e923d4ac\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 534443401,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"0b78bb98-af02-4bc1-ab52-597cbc06555f\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 875893476,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"1c94f2ba-4910-4b84-857b-1f7e782e8ae6\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1232721058,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"3dad17cc-a51e-4cc5-8cea-f4a30291c36c\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1577307366,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"262b92c6-4a2d-4943-b9af-1ae2dfb2e732\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1848896590,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"9b0c9183-def7-4943-8477-6c686f887027\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 2033027365,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"c68e12f2-b6ec-4cd1-b04c-3d3f8ad92234\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -395207330,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"d44adc57-72c9-4a35-bf4e-2426f292d72e\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1560265799,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"02bd22ad-253f-4455-98dd-1cce111cfc8c\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1162777963,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"4857a3be-8b4a-4eb8-89a5-80de33cf5df3\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1266083562,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"289bc88c-520e-4b88-987b-1ffa5cee0718\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1674066252,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"b72a0ca5-cea2-4ecf-80f1-88a24cb58ab6\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1530499769,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"37cb3e6b-7e90-4038-86fb-b9c6772bd66f\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1506478481,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"c3de168e-fb35-476f-9c8a-b5d83ea83c4a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1228308647,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - } - ], - "m_PreviewData": { - "serializedMesh": { - "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", - "m_Guid": "" - } - }, - "m_Path": "Shader Graphs", - "m_ConcretePrecision": 0, - "m_ActiveOutputNodeGuidSerialized": "e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8" -} \ No newline at end of file diff --git a/Runtime/Shader/Legacy/glTF-pbrSpecularGlossiness-Blend.shadergraph.meta b/Runtime/Shader/Legacy/glTF-pbrSpecularGlossiness-Blend.shadergraph.meta deleted file mode 100644 index e68303da6..000000000 --- a/Runtime/Shader/Legacy/glTF-pbrSpecularGlossiness-Blend.shadergraph.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: fc3d9e208a7d541c1b4e38291aec4252 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Runtime/Shader/Legacy/glTF-pbrSpecularGlossiness-Opaque-double.shadergraph b/Runtime/Shader/Legacy/glTF-pbrSpecularGlossiness-Opaque-double.shadergraph deleted file mode 100644 index 17cb51bfd..000000000 --- a/Runtime/Shader/Legacy/glTF-pbrSpecularGlossiness-Opaque-double.shadergraph +++ /dev/null @@ -1,603 +0,0 @@ -{ - "m_SerializedProperties": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"7f4f45f2-b62a-4732-893b-0d7ab9ce6986\"\n },\n \"m_Name\": \"Diffuse\",\n \"m_DefaultReferenceName\": \"Color_A53D4B2B\",\n \"m_OverrideReferenceName\": \"diffuseFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 2,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"r\": 1.0,\n \"g\": 1.0,\n \"b\": 1.0,\n \"a\": 1.0\n },\n \"m_ColorMode\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"06d6e0d3-a210-4065-af02-38a543a20066\"\n },\n \"m_Name\": \"Diffuse Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_3270778E\",\n \"m_OverrideReferenceName\": \"diffuseTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 2,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"50cc2671-e469-49b3-804d-a1b67f32fe59\"\n },\n \"m_Name\": \"Diffuse Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_6585E8BA\",\n \"m_OverrideReferenceName\": \"diffuseTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"8c960e31-f89f-41e6-958a-5a8561a5d8c4\"\n },\n \"m_Name\": \"Diffuse Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_DC752BB\",\n \"m_OverrideReferenceName\": \"diffuseTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"c88ceb4f-145c-4ab6-ba62-5c9f70d859d2\"\n },\n \"m_Name\": \"Diffuse Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_4282EC36\",\n \"m_OverrideReferenceName\": \"diffuseTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 2,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"290855a3-663b-4b44-871b-434a544fd001\"\n },\n \"m_Name\": \"Normal Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_4207825D\",\n \"m_OverrideReferenceName\": \"normalTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 3\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"df2a6f89-e9f3-4f8b-9c99-75d96eae1cc6\"\n },\n \"m_Name\": \"Normal Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_B287812C\",\n \"m_OverrideReferenceName\": \"normalTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"77fbb904-aecc-405a-9d23-effcc9addb45\"\n },\n \"m_Name\": \"Normal Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_CF614483\",\n \"m_OverrideReferenceName\": \"normalTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"25816708-e6c6-4dd1-8def-0a0fbef3a9c1\"\n },\n \"m_Name\": \"Normal Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_8694DE1A\",\n \"m_OverrideReferenceName\": \"normalTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"0f8451d3-f402-45f1-80a0-90c8cfc3c5a1\"\n },\n \"m_Name\": \"Normal Scale\",\n \"m_DefaultReferenceName\": \"Vector1_97BB6A5\",\n \"m_OverrideReferenceName\": \"normalTexture_scale\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 1.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"7c763b51-7fad-4cea-8cd7-bfc77a4aed10\"\n },\n \"m_Name\": \"Occlusion Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_479F257E\",\n \"m_OverrideReferenceName\": \"occlusionTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"ec1c6843-76a8-4d8d-b1e0-1305db8260c6\"\n },\n \"m_Name\": \"Occlusion Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_44F4FB71\",\n \"m_OverrideReferenceName\": \"occlusionTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"7bdb0e06-4c0f-47f1-af99-2db9a52acb34\"\n },\n \"m_Name\": \"Occlusion Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_39CFD7EB\",\n \"m_OverrideReferenceName\": \"occlusionTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"f0f0d422-68fb-4004-816d-69e407020379\"\n },\n \"m_Name\": \"Occlusion Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_D4B353B\",\n \"m_OverrideReferenceName\": \"occlusionTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 2,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"10d76b91-eaaf-4eb7-8331-d7e8f7615734\"\n },\n \"m_Name\": \"Occlusion Strength\",\n \"m_DefaultReferenceName\": \"Vector1_DDDD754\",\n \"m_OverrideReferenceName\": \"occlusionTexture_strength\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 1.0,\n \"m_FloatType\": 1,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"36fddb2f-e4c6-4f59-87dd-f2393782483b\"\n },\n \"m_Name\": \"Specular\",\n \"m_DefaultReferenceName\": \"Color_9A3717F7\",\n \"m_OverrideReferenceName\": \"specularFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"r\": 1.0,\n \"g\": 1.0,\n \"b\": 1.0,\n \"a\": 1.0\n },\n \"m_ColorMode\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"9dba0444-5255-46c6-b45b-d7758fb87c92\"\n },\n \"m_Name\": \"Glossiness\",\n \"m_DefaultReferenceName\": \"Vector1_BB0292F7\",\n \"m_OverrideReferenceName\": \"glossinessFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 1.0,\n \"m_FloatType\": 1,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"ca0df8ad-7878-4fad-a798-7eb92e584b50\"\n },\n \"m_Name\": \"Specular-Glossiness Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_48FA930\",\n \"m_OverrideReferenceName\": \"specularGlossinessTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"b4610e6f-ab06-4a23-9372-157461e0199e\"\n },\n \"m_Name\": \"Specular-Glossiness Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_8337EF11\",\n \"m_OverrideReferenceName\": \"specularGlossinessTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"aa17a69b-314d-498d-963b-5a18bfc4768a\"\n },\n \"m_Name\": \"Specular-Glossiness Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_5CA31D31\",\n \"m_OverrideReferenceName\": \"specularGlossinessTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"9c329eac-e343-4605-ae35-437866e28b03\"\n },\n \"m_Name\": \"Specular-Glossiness Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_3042F7AA\",\n \"m_OverrideReferenceName\": \"specularGlossinessTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"1f801b95-1898-44f4-a056-0e179cd2290f\"\n },\n \"m_Name\": \"Emissive\",\n \"m_DefaultReferenceName\": \"Color_DDF6DA04\",\n \"m_OverrideReferenceName\": \"emissiveFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"r\": 0.0,\n \"g\": 0.0,\n \"b\": 0.0,\n \"a\": 1.0\n },\n \"m_ColorMode\": 1\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"26a0e850-f4b7-4172-9e6d-ebd076aa12f4\"\n },\n \"m_Name\": \"Emissive Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_C0C78D41\",\n \"m_OverrideReferenceName\": \"emissiveTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"b0c5d886-c5d9-4eba-98c7-de137cb22251\"\n },\n \"m_Name\": \"Emissive Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_FE6F6E7F\",\n \"m_OverrideReferenceName\": \"emissiveTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"4cc99f37-f11b-4884-af87-ad68eeeb3670\"\n },\n \"m_Name\": \"Emissive Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_48728539\",\n \"m_OverrideReferenceName\": \"emissiveTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"89b96f54-cb4f-4cfa-84fd-ad5eeb32b5c9\"\n },\n \"m_Name\": \"Emissive Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_D30039BA\",\n \"m_OverrideReferenceName\": \"emissiveTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"7b92f262-febd-4fdf-89f4-2f0dbbe3c19e\"\n },\n \"m_Name\": \"Alpha Cutoff\",\n \"m_DefaultReferenceName\": \"Vector1_C94E19E6\",\n \"m_OverrideReferenceName\": \"alphaCutoff\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.5,\n \"m_FloatType\": 1,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - } - ], - "m_SerializedKeywords": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.ShaderKeyword" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"a7d905c3-7492-4341-bcc1-99dd0b856891\"\n },\n \"m_Name\": \"EMISSIVE\",\n \"m_DefaultReferenceName\": \"BOOLEAN_81A09341_ON\",\n \"m_OverrideReferenceName\": \"_EMISSIVE\",\n \"m_GeneratePropertyBlock\": true,\n \"m_KeywordType\": 0,\n \"m_KeywordDefinition\": 0,\n \"m_KeywordScope\": 0,\n \"m_Entries\": [],\n \"m_Value\": 0,\n \"m_IsEditable\": true,\n \"m_IsExposable\": true\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.ShaderKeyword" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"4bdd5ce6-07d2-407c-8a17-dc0d8fa64973\"\n },\n \"m_Name\": \"OCCLUSION\",\n \"m_DefaultReferenceName\": \"BOOLEAN_90C144E9_ON\",\n \"m_OverrideReferenceName\": \"_OCCLUSION\",\n \"m_GeneratePropertyBlock\": true,\n \"m_KeywordType\": 0,\n \"m_KeywordDefinition\": 0,\n \"m_KeywordScope\": 0,\n \"m_Entries\": [],\n \"m_Value\": 0,\n \"m_IsEditable\": true,\n \"m_IsExposable\": true\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.ShaderKeyword" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"bae83d16-81bb-45d1-9b49-615ea2f86c77\"\n },\n \"m_Name\": \"TEXTURE_TRANSFORM\",\n \"m_DefaultReferenceName\": \"BOOLEAN_51F39EBE_ON\",\n \"m_OverrideReferenceName\": \"_TEXTURE_TRANSFORM\",\n \"m_GeneratePropertyBlock\": true,\n \"m_KeywordType\": 0,\n \"m_KeywordDefinition\": 0,\n \"m_KeywordScope\": 0,\n \"m_Entries\": [],\n \"m_Value\": 0,\n \"m_IsEditable\": true,\n \"m_IsExposable\": true\n}" - } - ], - "m_SerializableNodes": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"c3a2f30b-2332-45df-ab3c-9fd061527cc6\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -27.0,\n \"y\": 581.0,\n \"width\": 175.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"7c763b51-7fad-4cea-8cd7-bfc77a4aed10\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"18922adc-3efa-4c2e-9faa-ce5a585d4657\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -25.0,\n \"y\": 466.0,\n \"width\": 178.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Diffuse Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 2,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"06d6e0d3-a210-4065-af02-38a543a20066\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.UVNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"18246a20-8752-4459-8c75-2818fc4af4f3\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"UV\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 42.00000762939453,\n \"y\": 738.0000610351563,\n \"width\": 145.0,\n \"height\": 128.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_OutputChannel\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"d96b2bad-447c-4001-bc02-75edd93ac03a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -26.0,\n \"y\": 523.0,\n \"width\": 216.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Diffuse Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"8c960e31-f89f-41e6-958a-5a8561a5d8c4\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"ff8e6a70-685e-40e3-bd9a-1253d36a963f\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -26.0,\n \"y\": 438.0,\n \"width\": 163.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Diffuse\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 2,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"7f4f45f2-b62a-4732-893b-0d7ab9ce6986\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PBRMasterNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"PBR Master\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 1012.0000610351563,\n \"y\": 202.0,\n \"width\": 200.0,\n \"height\": 317.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.PositionMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 9,\\n \\\"m_DisplayName\\\": \\\"Vertex Position\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vertex Position\\\",\\n \\\"m_StageCapability\\\": 1,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.NormalMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 10,\\n \\\"m_DisplayName\\\": \\\"Vertex Normal\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vertex Normal\\\",\\n \\\"m_StageCapability\\\": 1,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.TangentMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 11,\\n \\\"m_DisplayName\\\": \\\"Vertex Tangent\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vertex Tangent\\\",\\n \\\"m_StageCapability\\\": 1,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.ColorRGBMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Albedo\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Albedo\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.7353569269180298,\\n \\\"y\\\": 0.7353569269180298,\\n \\\"z\\\": 0.7353569269180298\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_ColorMode\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.NormalMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Normal\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Normal\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 3\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.ColorRGBMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"Emission\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Emission\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_ColorMode\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.ColorRGBMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"Specular\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Specular\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.5,\\n \\\"y\\\": 0.5,\\n \\\"z\\\": 0.5\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_ColorMode\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 5,\\n \\\"m_DisplayName\\\": \\\"Smoothness\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Smoothness\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.5,\\n \\\"m_DefaultValue\\\": 0.5,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"Occlusion\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Occlusion\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 1.0,\\n \\\"m_DefaultValue\\\": 1.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"Alpha\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Alpha\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 1.0,\\n \\\"m_DefaultValue\\\": 1.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 8,\\n \\\"m_DisplayName\\\": \\\"AlphaClipThreshold\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"AlphaClipThreshold\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_DOTSInstancing\": false,\n \"m_SerializableSubShaders\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.Rendering.Universal.UniversalPBRSubShader\"\n },\n \"JSONnodeData\": \"{}\"\n }\n ],\n \"m_ShaderGUIOverride\": \"\",\n \"m_OverrideEnabled\": false,\n \"m_Model\": 0,\n \"m_SurfaceType\": 0,\n \"m_AlphaMode\": 0,\n \"m_TwoSided\": true,\n \"m_NormalDropOffSpace\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"53e5c6cc-7887-4ad6-98e7-2dfd426d06bb\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -26.0,\n \"y\": 496.0,\n \"width\": 190.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Diffuse Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"50cc2671-e469-49b3-804d-a1b67f32fe59\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"f4afe522-baf9-432a-82b7-b7de3d32c6d1\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -21.0,\n \"y\": 127.0,\n \"width\": 154.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"1f801b95-1898-44f4-a056-0e179cd2290f\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"ff47ecaa-c17b-4f81-8687-1b8c109dc638\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -21.0,\n \"y\": 154.0,\n \"width\": 170.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"26a0e850-f4b7-4172-9e6d-ebd076aa12f4\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"0b2b92be-0f00-45ce-8d47-0ccc16547e14\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -20.0,\n \"y\": 99.0,\n \"width\": 141.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Scale\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"0f8451d3-f402-45f1-80a0-90c8cfc3c5a1\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"33113907-91a6-4f77-bbdb-4c5daa97af8f\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -19.0,\n \"y\": -12.0,\n \"width\": 163.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"290855a3-663b-4b44-871b-434a544fd001\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"04a8b3b8-020e-472c-a9ee-37228c27956a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 845.0000610351563,\n \"y\": 481.0000305175781,\n \"width\": 139.00001525878907,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Alpha Cutoff\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"7b92f262-febd-4fdf-89f4-2f0dbbe3c19e\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"1f6ca554-5311-49be-b211-bca780fc33da\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -19.0,\n \"y\": -39.0,\n \"width\": 172.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Strength\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"10d76b91-eaaf-4eb7-8331-d7e8f7615734\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"15adefed-fe51-4a61-9f73-45fed5bc2961\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -24.0,\n \"y\": 294.0,\n \"width\": 164.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Glossiness\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"9dba0444-5255-46c6-b45b-d7758fb87c92\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"de4d8dd3-f92b-4148-8f12-a0310dad1b5a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -24.0,\n \"y\": 322.0,\n \"width\": 225.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Specular-Glossiness Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"ca0df8ad-7878-4fad-a798-7eb92e584b50\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"PBR_specular_glossiness_Legacy\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 452.99993896484377,\n \"y\": -74.99996185302735,\n \"width\": 325.0,\n \"height\": 566.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -93992038,\\n \\\"m_DisplayName\\\": \\\"occlusionStrength\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_57266306\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 1.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -170433253,\\n \\\"m_DisplayName\\\": \\\"normalTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_B4A7F700\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1232721058,\\n \\\"m_DisplayName\\\": \\\"normalTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_709747A6\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1577307366,\\n \\\"m_DisplayName\\\": \\\"normalTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_E7A4EB6D\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1848896590,\\n \\\"m_DisplayName\\\": \\\"normalTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_723CD44F\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1763326587,\\n \\\"m_DisplayName\\\": \\\"normalScale\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_345B830B\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 1.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -693026575,\\n \\\"m_DisplayName\\\": \\\"emissiveFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector3_44384D65\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 129475646,\\n \\\"m_DisplayName\\\": \\\"emissiveTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_8F96C631\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1530499769,\\n \\\"m_DisplayName\\\": \\\"emissiveTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_6740F1E7\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1506478481,\\n \\\"m_DisplayName\\\": \\\"emissiveTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_2FF7A846\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1228308647,\\n \\\"m_DisplayName\\\": \\\"emissiveTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_84D2828\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1135425935,\\n \\\"m_DisplayName\\\": \\\"specularFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector3_7DAA0EF6\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 1.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1788256886,\\n \\\"m_DisplayName\\\": \\\"glossinessFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_B9A549A5\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 1.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1863153919,\\n \\\"m_DisplayName\\\": \\\"specularGlossinessTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_5B57D6EB\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1560265799,\\n \\\"m_DisplayName\\\": \\\"specularGlossinessTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_E9BA8DE2\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -395207330,\\n \\\"m_DisplayName\\\": \\\"specularGlossinessTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_65963D32\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2033027365,\\n \\\"m_DisplayName\\\": \\\"specularGlossinessTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_95F4D45C\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1438624126,\\n \\\"m_DisplayName\\\": \\\"baseColorFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_8743F3C3\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 1.0,\\n \\\"w\\\": 1.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1050676157,\\n \\\"m_DisplayName\\\": \\\"baseColorTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_EBF077FA\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 921423784,\\n \\\"m_DisplayName\\\": \\\"baseColorTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_6F4A9DFD\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 1.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 76898838,\\n \\\"m_DisplayName\\\": \\\"baseColorTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_FE260CB0\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 875893476,\\n \\\"m_DisplayName\\\": \\\"basecolorTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_3AB48523\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -908648287,\\n \\\"m_DisplayName\\\": \\\"occlusionTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_2BD19CD4\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1162777963,\\n \\\"m_DisplayName\\\": \\\"occlusionTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_F60D5B1F\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1266083562,\\n \\\"m_DisplayName\\\": \\\"occlusionTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_B37C1316\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1674066252,\\n \\\"m_DisplayName\\\": \\\"occlusionTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_FA39B51B\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -26709570,\\n \\\"m_DisplayName\\\": \\\"UV0\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_489312EB\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 534443401,\\n \\\"m_DisplayName\\\": \\\"UV1\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_20A21D51\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"Albedo\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Albedo\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"Normal\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Normal\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"Emission\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Emission\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"Specular\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Specular\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 5,\\n \\\"m_DisplayName\\\": \\\"Glossiness\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Glossiness\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Occlusion\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Occlusion\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"Alpha\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Alpha\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_SerializedSubGraph\": \"{\\n \\\"subGraph\\\": {\\n \\\"fileID\\\": -5475051401550479605,\\n \\\"guid\\\": \\\"61360ed3722d94c1baeb8aed4a335a03\\\",\\n \\\"type\\\": 3\\n }\\n}\",\n \"m_PropertyGuids\": [\n \"2a4c85c6-a729-4e82-81d3-77ec259c58de\",\n \"e85226d9-1785-431c-b779-0a31a91295de\",\n \"d7da8a92-273f-4f7b-ae2c-668b7e04a26c\",\n \"189b1fbb-ef98-4483-a2a6-74653e7265ad\",\n \"18c8e2c1-767f-46e3-90f7-6938c8c9891c\",\n \"1aa9ec50-0e3f-4e77-81b7-7ed5cd0d7c51\",\n \"0091f9d7-7596-4b86-86b3-c45dc2f579ec\",\n \"23b11ff4-3af1-4945-9c4b-b3b499bdfa33\",\n \"1535492a-2795-428c-a7a8-0c963bc80c1b\",\n \"380b6046-ffdc-407c-aab5-0e62237b3e9b\",\n \"349829b0-a90d-4b44-bf38-99916345bde2\",\n \"77ff8161-3714-4ef8-8885-767db25a0931\",\n \"1c7d931e-ae67-4dbe-910f-950e7f631636\",\n \"989571ef-fa38-48b8-978a-21a21ed26bd8\",\n \"2819c2e7-82eb-45f4-be81-3ac73d6fc312\",\n \"d6643c70-6b0c-4d13-a4dd-435d773ecbdd\",\n \"7ea9042f-5218-442a-91c1-fa205ac204f4\",\n \"2de56b8d-7963-406c-a703-e2d403dc7bbf\",\n \"90187083-7fe4-43e0-aa78-4e5e0b416379\",\n \"ef71ac1d-0342-406e-b1d0-82e9d90bff3d\",\n \"5627d6c9-e91e-44a4-bc7f-e421a2853bd4\",\n \"b2a5b7b0-7691-4148-aa59-626defba0c97\",\n \"38e3cac6-75d5-4a7a-b9cc-049e4238a31b\",\n \"9a427b69-f942-400a-a456-c016599bfada\",\n \"e7c6d5c3-30b7-48a5-a191-3fc467b60538\",\n \"cebcc942-4291-40c9-9359-f5eff99198ae\",\n \"fc4a57b8-ce7f-4534-b48a-06d3c43f8268\",\n \"e100221b-c8b1-482f-9484-93d18169bda1\",\n \"24dea8ad-bda8-4e7c-9b5b-d206ac78b53b\",\n \"5ca683eb-9391-45d1-beee-534b4dcb578e\",\n \"8ea9bfd6-b573-4ad6-89c6-2406e1cccf89\"\n ],\n \"m_PropertyIds\": [\n -93992038,\n -170433253,\n -1763326587,\n -2096931947,\n 129475646,\n 1788256886,\n -1324895555,\n -1438624126,\n 1050676157,\n -908648287,\n 76898838,\n 921423784,\n 656072342,\n 1135425935,\n -1863153919,\n -26709570,\n -693026575,\n -1232721058,\n -1577307366,\n 1848896590,\n 1530499769,\n -1506478481,\n 1228308647,\n -1560265799,\n -395207330,\n 2033027365,\n 875893476,\n -1162777963,\n 1266083562,\n -1674066252,\n 534443401\n ]\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"7bbee321-ec42-4676-89d5-e12cd597146b\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -23.0,\n \"y\": 266.0,\n \"width\": 154.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Specular\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"36fddb2f-e4c6-4f59-87dd-f2393782483b\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.UVNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"8c8c68e3-0e63-4b2d-821c-68e71e39ba17\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"UV\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 43.000030517578128,\n \"y\": 863.0,\n \"width\": 145.0,\n \"height\": 129.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_OutputChannel\": 1\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"a6ff74d0-9100-48ed-b7df-f714d6548eb9\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -25.0,\n \"y\": 550.0,\n \"width\": 209.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Diffuse Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"c88ceb4f-145c-4ab6-ba62-5c9f70d859d2\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"219d88ef-f684-4cee-8a9a-50da5e0a56c4\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -27.0,\n \"y\": 610.0,\n \"width\": 188.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"ec1c6843-76a8-4d8d-b1e0-1305db8260c6\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"3b1d95a9-b1e3-4585-8680-257a525b89fb\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -27.0,\n \"y\": 638.0,\n \"width\": 215.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"7bdb0e06-4c0f-47f1-af99-2db9a52acb34\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"76043854-b47d-421f-a6a7-90bab8145f75\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -27.0,\n \"y\": 666.0,\n \"width\": 229.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"f0f0d422-68fb-4004-816d-69e407020379\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"47875e65-776e-427f-b58f-081e5344592d\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -25.0,\n \"y\": 350.0,\n \"width\": 237.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Specular-Glossiness Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"b4610e6f-ab06-4a23-9372-157461e0199e\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"cfacd1e1-ee0a-4002-b054-39c16d51311c\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -25.0,\n \"y\": 378.0,\n \"width\": 263.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Specular-Glossiness Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"aa17a69b-314d-498d-963b-5a18bfc4768a\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"30a2218e-e311-4a0a-8339-666d0402b280\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -25.0,\n \"y\": 405.0,\n \"width\": 276.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Specular-Glossiness Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"9c329eac-e343-4605-ae35-437866e28b03\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"53787ce3-126c-4544-8df5-f45aab81b1c4\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -21.0,\n \"y\": 183.0,\n \"width\": 181.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"b0c5d886-c5d9-4eba-98c7-de137cb22251\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"e5a02065-d0e8-420a-a773-2bd1f643ca34\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -22.0,\n \"y\": 210.0,\n \"width\": 208.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"4cc99f37-f11b-4884-af87-ad68eeeb3670\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"c8d927c4-c4eb-4b5a-93f1-0422c1b4bd6e\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -23.0,\n \"y\": 238.0,\n \"width\": 221.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"89b96f54-cb4f-4cfa-84fd-ad5eeb32b5c9\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"710d5eab-1ea9-4b1d-ab37-91aa63130f30\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -19.0,\n \"y\": 16.0,\n \"width\": 174.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"df2a6f89-e9f3-4f8b-9c99-75d96eae1cc6\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"c06fa370-26d3-4284-83e0-e96c9505e2c2\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -20.0,\n \"y\": 43.0,\n \"width\": 201.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"77fbb904-aecc-405a-9d23-effcc9addb45\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"ba7b851c-5436-430b-8966-e4a819dbc359\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -20.0,\n \"y\": 71.0,\n \"width\": 214.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"25816708-e6c6-4dd1-8def-0a0fbef3a9c1\"\n}" - } - ], - "m_Groups": [], - "m_StickyNotes": [], - "m_SerializableEdges": [ - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"04a8b3b8-020e-472c-a9ee-37228c27956a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 8,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"1f6ca554-5311-49be-b211-bca780fc33da\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -93992038,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"33113907-91a6-4f77-bbdb-4c5daa97af8f\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -170433253,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"0b2b92be-0f00-45ce-8d47-0ccc16547e14\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1763326587,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"ff47ecaa-c17b-4f81-8687-1b8c109dc638\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 129475646,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"15adefed-fe51-4a61-9f73-45fed5bc2961\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1788256886,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"ff8e6a70-685e-40e3-bd9a-1253d36a963f\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1438624126,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"18922adc-3efa-4c2e-9faa-ce5a585d4657\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1050676157,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"c3a2f30b-2332-45df-ab3c-9fd061527cc6\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -908648287,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"d96b2bad-447c-4001-bc02-75edd93ac03a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 76898838,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"53e5c6cc-7887-4ad6-98e7-2dfd426d06bb\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 921423784,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 6,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 3,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 4,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 4,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 3,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 5,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 5,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 6,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 7,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 7,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"7bbee321-ec42-4676-89d5-e12cd597146b\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1135425935,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"18246a20-8752-4459-8c75-2818fc4af4f3\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -26709570,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"de4d8dd3-f92b-4148-8f12-a0310dad1b5a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1863153919,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"f4afe522-baf9-432a-82b7-b7de3d32c6d1\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -693026575,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"8c8c68e3-0e63-4b2d-821c-68e71e39ba17\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 534443401,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"a6ff74d0-9100-48ed-b7df-f714d6548eb9\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 875893476,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"219d88ef-f684-4cee-8a9a-50da5e0a56c4\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1162777963,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"3b1d95a9-b1e3-4585-8680-257a525b89fb\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1266083562,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"76043854-b47d-421f-a6a7-90bab8145f75\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1674066252,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"47875e65-776e-427f-b58f-081e5344592d\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1560265799,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"cfacd1e1-ee0a-4002-b054-39c16d51311c\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -395207330,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"30a2218e-e311-4a0a-8339-666d0402b280\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 2033027365,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"53787ce3-126c-4544-8df5-f45aab81b1c4\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1530499769,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"e5a02065-d0e8-420a-a773-2bd1f643ca34\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1506478481,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"c8d927c4-c4eb-4b5a-93f1-0422c1b4bd6e\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1228308647,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"ba7b851c-5436-430b-8966-e4a819dbc359\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1848896590,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"c06fa370-26d3-4284-83e0-e96c9505e2c2\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1577307366,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"710d5eab-1ea9-4b1d-ab37-91aa63130f30\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1232721058,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - } - ], - "m_PreviewData": { - "serializedMesh": { - "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", - "m_Guid": "" - } - }, - "m_Path": "Shader Graphs", - "m_ConcretePrecision": 0, - "m_ActiveOutputNodeGuidSerialized": "e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8" -} \ No newline at end of file diff --git a/Runtime/Shader/Legacy/glTF-pbrSpecularGlossiness-Opaque-double.shadergraph.meta b/Runtime/Shader/Legacy/glTF-pbrSpecularGlossiness-Opaque-double.shadergraph.meta deleted file mode 100644 index 00b4b8d7f..000000000 --- a/Runtime/Shader/Legacy/glTF-pbrSpecularGlossiness-Opaque-double.shadergraph.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 4233af6163f6143de9458c05a40a9e2a -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Runtime/Shader/Legacy/glTF-pbrSpecularGlossiness-Opaque.shadergraph b/Runtime/Shader/Legacy/glTF-pbrSpecularGlossiness-Opaque.shadergraph deleted file mode 100644 index 82cf5c957..000000000 --- a/Runtime/Shader/Legacy/glTF-pbrSpecularGlossiness-Opaque.shadergraph +++ /dev/null @@ -1,603 +0,0 @@ -{ - "m_SerializedProperties": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"7f4f45f2-b62a-4732-893b-0d7ab9ce6986\"\n },\n \"m_Name\": \"Diffuse\",\n \"m_DefaultReferenceName\": \"Color_A53D4B2B\",\n \"m_OverrideReferenceName\": \"diffuseFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 2,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"r\": 1.0,\n \"g\": 1.0,\n \"b\": 1.0,\n \"a\": 1.0\n },\n \"m_ColorMode\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"06d6e0d3-a210-4065-af02-38a543a20066\"\n },\n \"m_Name\": \"Diffuse Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_3270778E\",\n \"m_OverrideReferenceName\": \"diffuseTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 2,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"50cc2671-e469-49b3-804d-a1b67f32fe59\"\n },\n \"m_Name\": \"Diffuse Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_6585E8BA\",\n \"m_OverrideReferenceName\": \"diffuseTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"8c960e31-f89f-41e6-958a-5a8561a5d8c4\"\n },\n \"m_Name\": \"Diffuse Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_DC752BB\",\n \"m_OverrideReferenceName\": \"diffuseTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"d635b9d0-ea64-43dd-9ca0-b7c444a3a0a8\"\n },\n \"m_Name\": \"Diffuse Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_1D6B1B36\",\n \"m_OverrideReferenceName\": \"diffuseTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 2,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"290855a3-663b-4b44-871b-434a544fd001\"\n },\n \"m_Name\": \"Normal Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_4207825D\",\n \"m_OverrideReferenceName\": \"normalTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 3\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"ce086d07-0621-4e7b-be58-a6397a35e83e\"\n },\n \"m_Name\": \"Normal Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_87162D57\",\n \"m_OverrideReferenceName\": \"normalTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"13859368-90fe-4bf5-a4c8-c40b644d33dd\"\n },\n \"m_Name\": \"Normal Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_35F7B2FF\",\n \"m_OverrideReferenceName\": \"normalTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"df72b707-90d3-4b97-b258-361d5ed2052e\"\n },\n \"m_Name\": \"Normal Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_124F1772\",\n \"m_OverrideReferenceName\": \"normalTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 2,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"0f8451d3-f402-45f1-80a0-90c8cfc3c5a1\"\n },\n \"m_Name\": \"Normal Scale\",\n \"m_DefaultReferenceName\": \"Vector1_97BB6A5\",\n \"m_OverrideReferenceName\": \"normalTexture_scale\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 1.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"7c763b51-7fad-4cea-8cd7-bfc77a4aed10\"\n },\n \"m_Name\": \"Occlusion Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_479F257E\",\n \"m_OverrideReferenceName\": \"occlusionTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"81d70768-4648-4295-89fd-7e8a74cbd6fd\"\n },\n \"m_Name\": \"Occlusion Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_2284C657\",\n \"m_OverrideReferenceName\": \"occlusionTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"45d5c004-6b07-4c97-8930-4ea95dd56387\"\n },\n \"m_Name\": \"Occlusion Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_AA40C92E\",\n \"m_OverrideReferenceName\": \"occlusionTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"d69826b1-000f-46fd-b1aa-6ce2c96ae568\"\n },\n \"m_Name\": \"Occlusion Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_BF85344F\",\n \"m_OverrideReferenceName\": \"occlusionTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 2,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"10d76b91-eaaf-4eb7-8331-d7e8f7615734\"\n },\n \"m_Name\": \"Occlusion Strength\",\n \"m_DefaultReferenceName\": \"Vector1_DDDD754\",\n \"m_OverrideReferenceName\": \"occlusionTexture_strength\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 1.0,\n \"m_FloatType\": 1,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"36fddb2f-e4c6-4f59-87dd-f2393782483b\"\n },\n \"m_Name\": \"Specular\",\n \"m_DefaultReferenceName\": \"Color_9A3717F7\",\n \"m_OverrideReferenceName\": \"specularFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"r\": 1.0,\n \"g\": 1.0,\n \"b\": 1.0,\n \"a\": 1.0\n },\n \"m_ColorMode\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"9dba0444-5255-46c6-b45b-d7758fb87c92\"\n },\n \"m_Name\": \"Glossiness\",\n \"m_DefaultReferenceName\": \"Vector1_BB0292F7\",\n \"m_OverrideReferenceName\": \"glossinessFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 1.0,\n \"m_FloatType\": 1,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"ca0df8ad-7878-4fad-a798-7eb92e584b50\"\n },\n \"m_Name\": \"Specular-Glossiness Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_48FA930\",\n \"m_OverrideReferenceName\": \"specularGlossinessTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"69f90c71-a052-4799-9455-4ece6e3bcc94\"\n },\n \"m_Name\": \"Specular-Glossiness Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_22C0712F\",\n \"m_OverrideReferenceName\": \"specularGlossinessTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"0dc49784-eb09-4b0d-936c-4e909fb8b932\"\n },\n \"m_Name\": \"Specular-Glossiness Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_C098D1E7\",\n \"m_OverrideReferenceName\": \"specularGlossinessTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"ecbed1c7-aab2-4953-b578-efb2a6cdbf8c\"\n },\n \"m_Name\": \"Specular-Glossiness Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_1FB30856\",\n \"m_OverrideReferenceName\": \"specularGlossinessTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 2,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"1f801b95-1898-44f4-a056-0e179cd2290f\"\n },\n \"m_Name\": \"Emissive\",\n \"m_DefaultReferenceName\": \"Color_DDF6DA04\",\n \"m_OverrideReferenceName\": \"emissiveFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"r\": 0.0,\n \"g\": 0.0,\n \"b\": 0.0,\n \"a\": 1.0\n },\n \"m_ColorMode\": 1\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"26a0e850-f4b7-4172-9e6d-ebd076aa12f4\"\n },\n \"m_Name\": \"Emissive Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_C0C78D41\",\n \"m_OverrideReferenceName\": \"emissiveTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"72dd9c49-f900-4749-8249-6567d4d872f4\"\n },\n \"m_Name\": \"Emissive Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_BFDACE86\",\n \"m_OverrideReferenceName\": \"emissiveTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"227a448b-36a1-44e7-84d2-aa938bf4ff5f\"\n },\n \"m_Name\": \"Emissive Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_5498984F\",\n \"m_OverrideReferenceName\": \"emissiveTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"0b356cef-90b0-458e-8078-085b705c0081\"\n },\n \"m_Name\": \"Emissive Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_77D43E5\",\n \"m_OverrideReferenceName\": \"emissiveTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 0,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"7b92f262-febd-4fdf-89f4-2f0dbbe3c19e\"\n },\n \"m_Name\": \"Alpha Cutoff\",\n \"m_DefaultReferenceName\": \"Vector1_C94E19E6\",\n \"m_OverrideReferenceName\": \"alphaCutoff\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.5,\n \"m_FloatType\": 1,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - } - ], - "m_SerializedKeywords": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.ShaderKeyword" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"a7d905c3-7492-4341-bcc1-99dd0b856891\"\n },\n \"m_Name\": \"EMISSIVE\",\n \"m_DefaultReferenceName\": \"BOOLEAN_81A09341_ON\",\n \"m_OverrideReferenceName\": \"_EMISSIVE\",\n \"m_GeneratePropertyBlock\": true,\n \"m_KeywordType\": 0,\n \"m_KeywordDefinition\": 0,\n \"m_KeywordScope\": 0,\n \"m_Entries\": [],\n \"m_Value\": 0,\n \"m_IsEditable\": true,\n \"m_IsExposable\": true\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.ShaderKeyword" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"4bdd5ce6-07d2-407c-8a17-dc0d8fa64973\"\n },\n \"m_Name\": \"OCCLUSION\",\n \"m_DefaultReferenceName\": \"BOOLEAN_90C144E9_ON\",\n \"m_OverrideReferenceName\": \"_OCCLUSION\",\n \"m_GeneratePropertyBlock\": true,\n \"m_KeywordType\": 0,\n \"m_KeywordDefinition\": 0,\n \"m_KeywordScope\": 0,\n \"m_Entries\": [],\n \"m_Value\": 0,\n \"m_IsEditable\": true,\n \"m_IsExposable\": true\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.ShaderKeyword" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"9586ea4c-07b0-4d52-85fa-aee89e92c5c2\"\n },\n \"m_Name\": \"TEXTURE_TRANSFORM\",\n \"m_DefaultReferenceName\": \"BOOLEAN_9E3CD316_ON\",\n \"m_OverrideReferenceName\": \"_TEXTURE_TRANSFORM\",\n \"m_GeneratePropertyBlock\": true,\n \"m_KeywordType\": 0,\n \"m_KeywordDefinition\": 0,\n \"m_KeywordScope\": 0,\n \"m_Entries\": [],\n \"m_Value\": 0,\n \"m_IsEditable\": true,\n \"m_IsExposable\": true\n}" - } - ], - "m_SerializableNodes": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"c3a2f30b-2332-45df-ab3c-9fd061527cc6\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -52.0,\n \"y\": 523.0,\n \"width\": 175.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"7c763b51-7fad-4cea-8cd7-bfc77a4aed10\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"18922adc-3efa-4c2e-9faa-ce5a585d4657\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -52.0,\n \"y\": 410.0,\n \"width\": 178.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Diffuse Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 2,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"06d6e0d3-a210-4065-af02-38a543a20066\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.UVNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"18246a20-8752-4459-8c75-2818fc4af4f3\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"UV\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 29.0,\n \"y\": 653.0,\n \"width\": 145.0,\n \"height\": 128.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_OutputChannel\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"d96b2bad-447c-4001-bc02-75edd93ac03a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -52.0,\n \"y\": 466.0,\n \"width\": 216.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Diffuse Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"8c960e31-f89f-41e6-958a-5a8561a5d8c4\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"ff8e6a70-685e-40e3-bd9a-1253d36a963f\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -52.0,\n \"y\": 382.0,\n \"width\": 163.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Diffuse\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 2,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"7f4f45f2-b62a-4732-893b-0d7ab9ce6986\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PBRMasterNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"PBR Master\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 1012.0000610351563,\n \"y\": 202.0,\n \"width\": 200.0,\n \"height\": 317.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.PositionMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 9,\\n \\\"m_DisplayName\\\": \\\"Vertex Position\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vertex Position\\\",\\n \\\"m_StageCapability\\\": 1,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.NormalMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 10,\\n \\\"m_DisplayName\\\": \\\"Vertex Normal\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vertex Normal\\\",\\n \\\"m_StageCapability\\\": 1,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.TangentMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 11,\\n \\\"m_DisplayName\\\": \\\"Vertex Tangent\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vertex Tangent\\\",\\n \\\"m_StageCapability\\\": 1,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.ColorRGBMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Albedo\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Albedo\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.7353569269180298,\\n \\\"y\\\": 0.7353569269180298,\\n \\\"z\\\": 0.7353569269180298\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_ColorMode\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.NormalMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Normal\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Normal\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 3\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.ColorRGBMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"Emission\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Emission\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_ColorMode\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.ColorRGBMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"Specular\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Specular\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.5,\\n \\\"y\\\": 0.5,\\n \\\"z\\\": 0.5\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_ColorMode\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 5,\\n \\\"m_DisplayName\\\": \\\"Smoothness\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Smoothness\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.5,\\n \\\"m_DefaultValue\\\": 0.5,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"Occlusion\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Occlusion\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 1.0,\\n \\\"m_DefaultValue\\\": 1.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"Alpha\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Alpha\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 1.0,\\n \\\"m_DefaultValue\\\": 1.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 8,\\n \\\"m_DisplayName\\\": \\\"AlphaClipThreshold\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"AlphaClipThreshold\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_DOTSInstancing\": false,\n \"m_SerializableSubShaders\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.Rendering.Universal.UniversalPBRSubShader\"\n },\n \"JSONnodeData\": \"{}\"\n }\n ],\n \"m_ShaderGUIOverride\": \"\",\n \"m_OverrideEnabled\": false,\n \"m_Model\": 0,\n \"m_SurfaceType\": 0,\n \"m_AlphaMode\": 0,\n \"m_TwoSided\": false,\n \"m_NormalDropOffSpace\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"53e5c6cc-7887-4ad6-98e7-2dfd426d06bb\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -52.0,\n \"y\": 438.0,\n \"width\": 190.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Diffuse Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"50cc2671-e469-49b3-804d-a1b67f32fe59\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"f4afe522-baf9-432a-82b7-b7de3d32c6d1\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -52.0,\n \"y\": 52.0,\n \"width\": 154.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"1f801b95-1898-44f4-a056-0e179cd2290f\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"ff47ecaa-c17b-4f81-8687-1b8c109dc638\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -51.0,\n \"y\": 79.0,\n \"width\": 170.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"26a0e850-f4b7-4172-9e6d-ebd076aa12f4\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"0b2b92be-0f00-45ce-8d47-0ccc16547e14\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -51.99999237060547,\n \"y\": 25.0000057220459,\n \"width\": 141.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Scale\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"0f8451d3-f402-45f1-80a0-90c8cfc3c5a1\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"33113907-91a6-4f77-bbdb-4c5daa97af8f\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -53.0,\n \"y\": -99.0,\n \"width\": 163.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"290855a3-663b-4b44-871b-434a544fd001\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"04a8b3b8-020e-472c-a9ee-37228c27956a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 845.0000610351563,\n \"y\": 481.0,\n \"width\": 139.00001525878907,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Alpha Cutoff\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"7b92f262-febd-4fdf-89f4-2f0dbbe3c19e\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"1f6ca554-5311-49be-b211-bca780fc33da\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -53.0,\n \"y\": -127.0,\n \"width\": 172.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Strength\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"10d76b91-eaaf-4eb7-8331-d7e8f7615734\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"15adefed-fe51-4a61-9f73-45fed5bc2961\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -53.0,\n \"y\": 221.0,\n \"width\": 164.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Glossiness\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"9dba0444-5255-46c6-b45b-d7758fb87c92\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"de4d8dd3-f92b-4148-8f12-a0310dad1b5a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -52.99999237060547,\n \"y\": 265.0,\n \"width\": 225.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Specular-Glossiness Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"ca0df8ad-7878-4fad-a798-7eb92e584b50\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"PBR_specular_glossiness_Legacy\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 452.99993896484377,\n \"y\": -74.99996185302735,\n \"width\": 325.0,\n \"height\": 566.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -93992038,\\n \\\"m_DisplayName\\\": \\\"occlusionStrength\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_57266306\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 1.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -170433253,\\n \\\"m_DisplayName\\\": \\\"normalTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_B4A7F700\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1232721058,\\n \\\"m_DisplayName\\\": \\\"normalTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_709747A6\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1577307366,\\n \\\"m_DisplayName\\\": \\\"normalTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_E7A4EB6D\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1848896590,\\n \\\"m_DisplayName\\\": \\\"normalTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_723CD44F\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1763326587,\\n \\\"m_DisplayName\\\": \\\"normalScale\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_345B830B\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 1.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -693026575,\\n \\\"m_DisplayName\\\": \\\"emissiveFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector3_44384D65\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 129475646,\\n \\\"m_DisplayName\\\": \\\"emissiveTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_8F96C631\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1530499769,\\n \\\"m_DisplayName\\\": \\\"emissiveTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_6740F1E7\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1506478481,\\n \\\"m_DisplayName\\\": \\\"emissiveTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_2FF7A846\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1228308647,\\n \\\"m_DisplayName\\\": \\\"emissiveTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_84D2828\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1135425935,\\n \\\"m_DisplayName\\\": \\\"specularFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector3_7DAA0EF6\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 1.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1788256886,\\n \\\"m_DisplayName\\\": \\\"glossinessFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_B9A549A5\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 1.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1863153919,\\n \\\"m_DisplayName\\\": \\\"specularGlossinessTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_5B57D6EB\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1560265799,\\n \\\"m_DisplayName\\\": \\\"specularGlossinessTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_E9BA8DE2\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -395207330,\\n \\\"m_DisplayName\\\": \\\"specularGlossinessTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_65963D32\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2033027365,\\n \\\"m_DisplayName\\\": \\\"specularGlossinessTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_95F4D45C\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1438624126,\\n \\\"m_DisplayName\\\": \\\"baseColorFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_8743F3C3\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 1.0,\\n \\\"w\\\": 1.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1050676157,\\n \\\"m_DisplayName\\\": \\\"baseColorTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_EBF077FA\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 921423784,\\n \\\"m_DisplayName\\\": \\\"baseColorTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_6F4A9DFD\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 1.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 76898838,\\n \\\"m_DisplayName\\\": \\\"baseColorTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_FE260CB0\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 875893476,\\n \\\"m_DisplayName\\\": \\\"basecolorTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_3AB48523\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -908648287,\\n \\\"m_DisplayName\\\": \\\"occlusionTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_2BD19CD4\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1162777963,\\n \\\"m_DisplayName\\\": \\\"occlusionTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_F60D5B1F\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1266083562,\\n \\\"m_DisplayName\\\": \\\"occlusionTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_B37C1316\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1674066252,\\n \\\"m_DisplayName\\\": \\\"occlusionTextureUVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_FA39B51B\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -26709570,\\n \\\"m_DisplayName\\\": \\\"UV0\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_489312EB\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 534443401,\\n \\\"m_DisplayName\\\": \\\"UV1\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_20A21D51\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"Albedo\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Albedo\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"Normal\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Normal\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"Emission\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Emission\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"Specular\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Specular\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 5,\\n \\\"m_DisplayName\\\": \\\"Glossiness\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Glossiness\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Occlusion\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Occlusion\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"Alpha\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Alpha\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_SerializedSubGraph\": \"{\\n \\\"subGraph\\\": {\\n \\\"fileID\\\": -5475051401550479605,\\n \\\"guid\\\": \\\"61360ed3722d94c1baeb8aed4a335a03\\\",\\n \\\"type\\\": 3\\n }\\n}\",\n \"m_PropertyGuids\": [\n \"2a4c85c6-a729-4e82-81d3-77ec259c58de\",\n \"e85226d9-1785-431c-b779-0a31a91295de\",\n \"d7da8a92-273f-4f7b-ae2c-668b7e04a26c\",\n \"189b1fbb-ef98-4483-a2a6-74653e7265ad\",\n \"18c8e2c1-767f-46e3-90f7-6938c8c9891c\",\n \"1aa9ec50-0e3f-4e77-81b7-7ed5cd0d7c51\",\n \"0091f9d7-7596-4b86-86b3-c45dc2f579ec\",\n \"23b11ff4-3af1-4945-9c4b-b3b499bdfa33\",\n \"1535492a-2795-428c-a7a8-0c963bc80c1b\",\n \"380b6046-ffdc-407c-aab5-0e62237b3e9b\",\n \"349829b0-a90d-4b44-bf38-99916345bde2\",\n \"77ff8161-3714-4ef8-8885-767db25a0931\",\n \"1c7d931e-ae67-4dbe-910f-950e7f631636\",\n \"989571ef-fa38-48b8-978a-21a21ed26bd8\",\n \"2819c2e7-82eb-45f4-be81-3ac73d6fc312\",\n \"d6643c70-6b0c-4d13-a4dd-435d773ecbdd\",\n \"7ea9042f-5218-442a-91c1-fa205ac204f4\",\n \"2de56b8d-7963-406c-a703-e2d403dc7bbf\",\n \"90187083-7fe4-43e0-aa78-4e5e0b416379\",\n \"ef71ac1d-0342-406e-b1d0-82e9d90bff3d\",\n \"5627d6c9-e91e-44a4-bc7f-e421a2853bd4\",\n \"b2a5b7b0-7691-4148-aa59-626defba0c97\",\n \"38e3cac6-75d5-4a7a-b9cc-049e4238a31b\",\n \"9a427b69-f942-400a-a456-c016599bfada\",\n \"e7c6d5c3-30b7-48a5-a191-3fc467b60538\",\n \"cebcc942-4291-40c9-9359-f5eff99198ae\",\n \"fc4a57b8-ce7f-4534-b48a-06d3c43f8268\",\n \"e100221b-c8b1-482f-9484-93d18169bda1\",\n \"24dea8ad-bda8-4e7c-9b5b-d206ac78b53b\",\n \"5ca683eb-9391-45d1-beee-534b4dcb578e\",\n \"8ea9bfd6-b573-4ad6-89c6-2406e1cccf89\"\n ],\n \"m_PropertyIds\": [\n -93992038,\n -170433253,\n -1763326587,\n -2096931947,\n 129475646,\n 1788256886,\n -1324895555,\n -1438624126,\n 1050676157,\n -908648287,\n 76898838,\n 921423784,\n 656072342,\n 1135425935,\n -1863153919,\n -26709570,\n -693026575,\n -1232721058,\n -1577307366,\n 1848896590,\n 1530499769,\n -1506478481,\n 1228308647,\n -1560265799,\n -395207330,\n 2033027365,\n 875893476,\n -1162777963,\n 1266083562,\n -1674066252,\n 534443401\n ]\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"7bbee321-ec42-4676-89d5-e12cd597146b\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -53.0,\n \"y\": 194.0,\n \"width\": 154.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Specular\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"36fddb2f-e4c6-4f59-87dd-f2393782483b\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.UVNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"756c0f8c-0b6b-4385-86e5-ab668bc29b52\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"UV\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 30.0,\n \"y\": 777.0,\n \"width\": 145.0,\n \"height\": 129.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_OutputChannel\": 1\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"2b8e3691-8dc4-40e2-bbac-1c9576624db5\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -52.0,\n \"y\": 494.0,\n \"width\": 229.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Diffuse Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"d635b9d0-ea64-43dd-9ca0-b7c444a3a0a8\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"07e7bdb3-2cfa-492a-8c9b-09bdc45935c0\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -53.0,\n \"y\": -64.0,\n \"width\": 174.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"ce086d07-0621-4e7b-be58-a6397a35e83e\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"533ca415-8327-4aed-9f3d-4496664b050a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -53.0,\n \"y\": -36.0,\n \"width\": 201.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"13859368-90fe-4bf5-a4c8-c40b644d33dd\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"5677fb84-76b0-4ec6-87e0-0ea028ff4546\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -53.0,\n \"y\": -9.0,\n \"width\": 214.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Normal Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"df72b707-90d3-4b97-b258-361d5ed2052e\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"5742eb2e-fdc7-4f3c-8db5-1f610846fc57\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -52.0,\n \"y\": 106.0,\n \"width\": 181.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"72dd9c49-f900-4749-8249-6567d4d872f4\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"a6bd384c-d1aa-4d0d-b50c-0c78e1349383\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -52.0,\n \"y\": 133.0,\n \"width\": 208.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"227a448b-36a1-44e7-84d2-aa938bf4ff5f\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"725a780f-e7ab-4c32-91db-8e127df988c7\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -52.0,\n \"y\": 160.0,\n \"width\": 221.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Emissive Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"0b356cef-90b0-458e-8078-085b705c0081\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"3fd4e251-16ae-4ba7-ad8f-fd065e842e50\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -51.9999885559082,\n \"y\": 293.0,\n \"width\": 237.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Specular-Glossiness Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"69f90c71-a052-4799-9455-4ece6e3bcc94\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"3a234053-50f5-40e8-aab5-4e827be1a10a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -51.9999885559082,\n \"y\": 320.0000305175781,\n \"width\": 263.0000305175781,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Specular-Glossiness Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"0dc49784-eb09-4b0d-936c-4e909fb8b932\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"5e82c947-3dc8-4359-86f7-688adf7368f2\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -51.9999885559082,\n \"y\": 347.0000305175781,\n \"width\": 276.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Specular-Glossiness Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"ecbed1c7-aab2-4953-b578-efb2a6cdbf8c\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"7e155f5d-49f0-4b1e-953c-d5eafe1bcb29\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -51.0,\n \"y\": 564.0,\n \"width\": 187.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"81d70768-4648-4295-89fd-7e8a74cbd6fd\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"8b642abd-3f16-45f4-8e9e-10ec2af888d1\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -51.0,\n \"y\": 591.0,\n \"width\": 213.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"45d5c004-6b07-4c97-8930-4ea95dd56387\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"ecab022d-3272-41b8-94bc-63ce32f6e6b3\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -52.0,\n \"y\": 618.0,\n \"width\": 226.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Occlusion Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"d69826b1-000f-46fd-b1aa-6ce2c96ae568\"\n}" - } - ], - "m_Groups": [], - "m_StickyNotes": [], - "m_SerializableEdges": [ - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"04a8b3b8-020e-472c-a9ee-37228c27956a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 8,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"1f6ca554-5311-49be-b211-bca780fc33da\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -93992038,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"33113907-91a6-4f77-bbdb-4c5daa97af8f\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -170433253,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"0b2b92be-0f00-45ce-8d47-0ccc16547e14\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1763326587,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"ff47ecaa-c17b-4f81-8687-1b8c109dc638\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 129475646,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"15adefed-fe51-4a61-9f73-45fed5bc2961\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1788256886,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"ff8e6a70-685e-40e3-bd9a-1253d36a963f\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1438624126,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"18922adc-3efa-4c2e-9faa-ce5a585d4657\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1050676157,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"c3a2f30b-2332-45df-ab3c-9fd061527cc6\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -908648287,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"d96b2bad-447c-4001-bc02-75edd93ac03a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 76898838,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"53e5c6cc-7887-4ad6-98e7-2dfd426d06bb\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 921423784,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 6,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 3,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 4,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 4,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 3,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 5,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 5,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 6,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 7,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 7,\n \"m_NodeGUIDSerialized\": \"e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"7bbee321-ec42-4676-89d5-e12cd597146b\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1135425935,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"18246a20-8752-4459-8c75-2818fc4af4f3\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -26709570,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"de4d8dd3-f92b-4148-8f12-a0310dad1b5a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1863153919,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"f4afe522-baf9-432a-82b7-b7de3d32c6d1\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -693026575,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"756c0f8c-0b6b-4385-86e5-ab668bc29b52\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 534443401,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"2b8e3691-8dc4-40e2-bbac-1c9576624db5\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 875893476,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"07e7bdb3-2cfa-492a-8c9b-09bdc45935c0\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1232721058,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"533ca415-8327-4aed-9f3d-4496664b050a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1577307366,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"5677fb84-76b0-4ec6-87e0-0ea028ff4546\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1848896590,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"5742eb2e-fdc7-4f3c-8db5-1f610846fc57\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1530499769,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"a6bd384c-d1aa-4d0d-b50c-0c78e1349383\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1506478481,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"725a780f-e7ab-4c32-91db-8e127df988c7\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1228308647,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"3fd4e251-16ae-4ba7-ad8f-fd065e842e50\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1560265799,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"3a234053-50f5-40e8-aab5-4e827be1a10a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -395207330,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"5e82c947-3dc8-4359-86f7-688adf7368f2\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 2033027365,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"7e155f5d-49f0-4b1e-953c-d5eafe1bcb29\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1162777963,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"8b642abd-3f16-45f4-8e9e-10ec2af888d1\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1266083562,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"ecab022d-3272-41b8-94bc-63ce32f6e6b3\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1674066252,\n \"m_NodeGUIDSerialized\": \"a00f7d40-bfe4-4b7d-8f3f-f4200197e643\"\n }\n}" - } - ], - "m_PreviewData": { - "serializedMesh": { - "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", - "m_Guid": "" - } - }, - "m_Path": "Shader Graphs", - "m_ConcretePrecision": 0, - "m_ActiveOutputNodeGuidSerialized": "e1f5fe15-3e1b-41ae-adbb-cabcad3e12e8" -} \ No newline at end of file diff --git a/Runtime/Shader/Legacy/glTF-pbrSpecularGlossiness-Opaque.shadergraph.meta b/Runtime/Shader/Legacy/glTF-pbrSpecularGlossiness-Opaque.shadergraph.meta deleted file mode 100644 index 02d2fb6ed..000000000 --- a/Runtime/Shader/Legacy/glTF-pbrSpecularGlossiness-Opaque.shadergraph.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 41356b46cd8884ec5b404223e1338fa0 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Runtime/Shader/Legacy/glTF-unlit-Blend-double.shadergraph b/Runtime/Shader/Legacy/glTF-unlit-Blend-double.shadergraph deleted file mode 100644 index 4c25cb443..000000000 --- a/Runtime/Shader/Legacy/glTF-unlit-Blend-double.shadergraph +++ /dev/null @@ -1,165 +0,0 @@ -{ - "m_SerializedProperties": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"13d5ab1b-c984-4ab5-970a-60b3481670cd\"\n },\n \"m_Name\": \"Base Color\",\n \"m_DefaultReferenceName\": \"Color_846A9D86\",\n \"m_OverrideReferenceName\": \"baseColorFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"r\": 1.0,\n \"g\": 1.0,\n \"b\": 1.0,\n \"a\": 1.0\n },\n \"m_ColorMode\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"5badc777-4b54-4f23-8096-575dcb6ba7a7\"\n },\n \"m_Name\": \"Base Color Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_EF01EAF1\",\n \"m_OverrideReferenceName\": \"baseColorTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"2ba4e2b1-cf48-4532-90b3-ed5d96168c5f\"\n },\n \"m_Name\": \"Base Color Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_2EB24001\",\n \"m_OverrideReferenceName\": \"baseColorTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"25374cf8-1a07-4828-b413-e95095d8fad3\"\n },\n \"m_Name\": \"Base Color Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_A73F9E14\",\n \"m_OverrideReferenceName\": \"baseColorTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"0a82fd99-9689-4ca0-990b-dc93df5407b7\"\n },\n \"m_Name\": \"Base Color Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_855863D0\",\n \"m_OverrideReferenceName\": \"baseColorTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 2,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - } - ], - "m_SerializedKeywords": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.ShaderKeyword" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"2dd73bf1-62d3-4019-80d3-5abf47047084\"\n },\n \"m_Name\": \"TEXTURE_TRANSFORM\",\n \"m_DefaultReferenceName\": \"BOOLEAN_A63F3133_ON\",\n \"m_OverrideReferenceName\": \"_TEXTURE_TRANSFORM\",\n \"m_GeneratePropertyBlock\": true,\n \"m_KeywordType\": 0,\n \"m_KeywordDefinition\": 0,\n \"m_KeywordScope\": 0,\n \"m_Entries\": [],\n \"m_Value\": 0,\n \"m_IsEditable\": true,\n \"m_IsExposable\": true\n}" - } - ], - "m_SerializableNodes": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.UnlitMasterNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"8ee11d5c-ee75-4686-84f2-232388f47f1e\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Unlit Master\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 158.0,\n \"y\": -61.0,\n \"width\": 200.0,\n \"height\": 197.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.PositionMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 9,\\n \\\"m_DisplayName\\\": \\\"Vertex Position\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vertex Position\\\",\\n \\\"m_StageCapability\\\": 1,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.NormalMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 10,\\n \\\"m_DisplayName\\\": \\\"Vertex Normal\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vertex Normal\\\",\\n \\\"m_StageCapability\\\": 1,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.TangentMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 11,\\n \\\"m_DisplayName\\\": \\\"Vertex Tangent\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vertex Tangent\\\",\\n \\\"m_StageCapability\\\": 1,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.ColorRGBMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Color\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Color\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.7353569269180298,\\n \\\"y\\\": 0.7353569269180298,\\n \\\"z\\\": 0.7353569269180298\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_ColorMode\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"Alpha\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Alpha\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 1.0,\\n \\\"m_DefaultValue\\\": 1.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 8,\\n \\\"m_DisplayName\\\": \\\"AlphaClipThreshold\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"AlphaClipThreshold\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_DOTSInstancing\": false,\n \"m_SerializableSubShaders\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.Rendering.Universal.UniversalUnlitSubShader\"\n },\n \"JSONnodeData\": \"{}\"\n }\n ],\n \"m_ShaderGUIOverride\": \"\",\n \"m_OverrideEnabled\": false,\n \"m_SurfaceType\": 1,\n \"m_AlphaMode\": 0,\n \"m_TwoSided\": true,\n \"m_AddPrecomputedVelocity\": false\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"05820417-9b3c-4fac-a62f-14458546589a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Unlit\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -360.0,\n \"y\": 13.000017166137696,\n \"width\": 298.0,\n \"height\": 374.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1438624126,\\n \\\"m_DisplayName\\\": \\\"baseColorFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_8743F3C3\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1050676157,\\n \\\"m_DisplayName\\\": \\\"baseColorTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_EBF077FA\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 76898838,\\n \\\"m_DisplayName\\\": \\\"baseColorTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_FE260CB0\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 921423784,\\n \\\"m_DisplayName\\\": \\\"baseColorTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_6F4A9DFD\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 990570004,\\n \\\"m_DisplayName\\\": \\\"UVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_B0E15B5E\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -2033327270,\\n \\\"m_DisplayName\\\": \\\"UV0\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_B59C246\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1777860382,\\n \\\"m_DisplayName\\\": \\\"UV1\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_5B384487\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"Color\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Color\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"Alpha\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Alpha\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_SerializedSubGraph\": \"{\\n \\\"subGraph\\\": {\\n \\\"fileID\\\": -5475051401550479605,\\n \\\"guid\\\": \\\"be4372d6443624882a2e9c3b62ab6ee7\\\",\\n \\\"type\\\": 3\\n }\\n}\",\n \"m_PropertyGuids\": [\n \"23b11ff4-3af1-4945-9c4b-b3b499bdfa33\",\n \"1535492a-2795-428c-a7a8-0c963bc80c1b\",\n \"349829b0-a90d-4b44-bf38-99916345bde2\",\n \"77ff8161-3714-4ef8-8885-767db25a0931\",\n \"34d7ae95-a71a-4dea-b2b5-15f8e886e625\",\n \"b0e5bce9-2512-4369-a8ab-fcb9f5d0ad9e\",\n \"e1dea68e-34d4-40f2-bccd-ee4eb1b92568\"\n ],\n \"m_PropertyIds\": [\n -1438624126,\n 1050676157,\n 76898838,\n 921423784,\n -2033327270,\n 1777860382,\n 990570004\n ]\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"28023b51-a820-4f23-b310-bd65e2321cf4\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -664.0,\n \"y\": 2.0,\n \"width\": 164.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"13d5ab1b-c984-4ab5-970a-60b3481670cd\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"7124a327-d870-4def-9751-8fb5a3f55854\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -666.0,\n \"y\": 35.0,\n \"width\": 178.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"5badc777-4b54-4f23-8096-575dcb6ba7a7\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"e339a334-cd9a-4ebe-9c57-23e3a8f35da5\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -664.0,\n \"y\": 66.0,\n \"width\": 203.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"25374cf8-1a07-4828-b413-e95095d8fad3\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"33db956d-7fc9-46cd-8c05-f28c0ed2e75c\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -665.0,\n \"y\": 98.0,\n \"width\": 246.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"2ba4e2b1-cf48-4532-90b3-ed5d96168c5f\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.UVNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"8ce59148-c4ba-4886-8f8b-0afd76fc5666\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"UV\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -581.0,\n \"y\": 169.0,\n \"width\": 145.0,\n \"height\": 128.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_OutputChannel\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.UVNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"102dab22-8564-4614-88cb-1b091813792f\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"UV\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -580.0,\n \"y\": 294.0,\n \"width\": 145.0,\n \"height\": 128.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_OutputChannel\": 1\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"8e811086-2773-4911-998f-72146aad29c8\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -664.0,\n \"y\": 129.0,\n \"width\": 229.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"0a82fd99-9689-4ca0-990b-dc93df5407b7\"\n}" - } - ], - "m_Groups": [], - "m_StickyNotes": [], - "m_SerializableEdges": [ - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 6,\n \"m_NodeGUIDSerialized\": \"05820417-9b3c-4fac-a62f-14458546589a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"8ee11d5c-ee75-4686-84f2-232388f47f1e\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 7,\n \"m_NodeGUIDSerialized\": \"05820417-9b3c-4fac-a62f-14458546589a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 7,\n \"m_NodeGUIDSerialized\": \"8ee11d5c-ee75-4686-84f2-232388f47f1e\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"28023b51-a820-4f23-b310-bd65e2321cf4\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1438624126,\n \"m_NodeGUIDSerialized\": \"05820417-9b3c-4fac-a62f-14458546589a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"7124a327-d870-4def-9751-8fb5a3f55854\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1050676157,\n \"m_NodeGUIDSerialized\": \"05820417-9b3c-4fac-a62f-14458546589a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"e339a334-cd9a-4ebe-9c57-23e3a8f35da5\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 76898838,\n \"m_NodeGUIDSerialized\": \"05820417-9b3c-4fac-a62f-14458546589a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"33db956d-7fc9-46cd-8c05-f28c0ed2e75c\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 921423784,\n \"m_NodeGUIDSerialized\": \"05820417-9b3c-4fac-a62f-14458546589a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"8ce59148-c4ba-4886-8f8b-0afd76fc5666\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -2033327270,\n \"m_NodeGUIDSerialized\": \"05820417-9b3c-4fac-a62f-14458546589a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"102dab22-8564-4614-88cb-1b091813792f\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1777860382,\n \"m_NodeGUIDSerialized\": \"05820417-9b3c-4fac-a62f-14458546589a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"8e811086-2773-4911-998f-72146aad29c8\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 990570004,\n \"m_NodeGUIDSerialized\": \"05820417-9b3c-4fac-a62f-14458546589a\"\n }\n}" - } - ], - "m_PreviewData": { - "serializedMesh": { - "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", - "m_Guid": "" - } - }, - "m_Path": "Shader Graphs", - "m_ConcretePrecision": 0, - "m_ActiveOutputNodeGuidSerialized": "8ee11d5c-ee75-4686-84f2-232388f47f1e" -} \ No newline at end of file diff --git a/Runtime/Shader/Legacy/glTF-unlit-Blend-double.shadergraph.meta b/Runtime/Shader/Legacy/glTF-unlit-Blend-double.shadergraph.meta deleted file mode 100644 index 5033bbe32..000000000 --- a/Runtime/Shader/Legacy/glTF-unlit-Blend-double.shadergraph.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 42aa4553160a34cf08f29a15eea9eb3b -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Runtime/Shader/Legacy/glTF-unlit-Blend.shadergraph b/Runtime/Shader/Legacy/glTF-unlit-Blend.shadergraph deleted file mode 100644 index 00046f174..000000000 --- a/Runtime/Shader/Legacy/glTF-unlit-Blend.shadergraph +++ /dev/null @@ -1,165 +0,0 @@ -{ - "m_SerializedProperties": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"13d5ab1b-c984-4ab5-970a-60b3481670cd\"\n },\n \"m_Name\": \"Base Color\",\n \"m_DefaultReferenceName\": \"Color_846A9D86\",\n \"m_OverrideReferenceName\": \"baseColorFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"r\": 1.0,\n \"g\": 1.0,\n \"b\": 1.0,\n \"a\": 1.0\n },\n \"m_ColorMode\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"5badc777-4b54-4f23-8096-575dcb6ba7a7\"\n },\n \"m_Name\": \"Base Color Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_EF01EAF1\",\n \"m_OverrideReferenceName\": \"baseColorTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"2ba4e2b1-cf48-4532-90b3-ed5d96168c5f\"\n },\n \"m_Name\": \"Base Color Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_2EB24001\",\n \"m_OverrideReferenceName\": \"baseColorTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"25374cf8-1a07-4828-b413-e95095d8fad3\"\n },\n \"m_Name\": \"Base Color Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_A73F9E14\",\n \"m_OverrideReferenceName\": \"baseColorTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"0a82fd99-9689-4ca0-990b-dc93df5407b7\"\n },\n \"m_Name\": \"Base Color Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_855863D0\",\n \"m_OverrideReferenceName\": \"baseColorTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 2,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - } - ], - "m_SerializedKeywords": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.ShaderKeyword" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"2dd73bf1-62d3-4019-80d3-5abf47047084\"\n },\n \"m_Name\": \"TEXTURE_TRANSFORM\",\n \"m_DefaultReferenceName\": \"BOOLEAN_A63F3133_ON\",\n \"m_OverrideReferenceName\": \"_TEXTURE_TRANSFORM\",\n \"m_GeneratePropertyBlock\": true,\n \"m_KeywordType\": 0,\n \"m_KeywordDefinition\": 0,\n \"m_KeywordScope\": 0,\n \"m_Entries\": [],\n \"m_Value\": 0,\n \"m_IsEditable\": true,\n \"m_IsExposable\": true\n}" - } - ], - "m_SerializableNodes": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"8e811086-2773-4911-998f-72146aad29c8\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -664.0,\n \"y\": 129.0,\n \"width\": 229.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"0a82fd99-9689-4ca0-990b-dc93df5407b7\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.UVNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"102dab22-8564-4614-88cb-1b091813792f\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"UV\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -580.0,\n \"y\": 294.0,\n \"width\": 145.0,\n \"height\": 128.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_OutputChannel\": 1\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.UVNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"8ce59148-c4ba-4886-8f8b-0afd76fc5666\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"UV\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -581.0,\n \"y\": 169.0,\n \"width\": 145.0,\n \"height\": 128.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_OutputChannel\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"33db956d-7fc9-46cd-8c05-f28c0ed2e75c\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -665.0,\n \"y\": 98.0,\n \"width\": 246.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"2ba4e2b1-cf48-4532-90b3-ed5d96168c5f\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"e339a334-cd9a-4ebe-9c57-23e3a8f35da5\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -664.0,\n \"y\": 66.0,\n \"width\": 203.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"25374cf8-1a07-4828-b413-e95095d8fad3\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"7124a327-d870-4def-9751-8fb5a3f55854\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -666.0,\n \"y\": 35.0,\n \"width\": 178.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"5badc777-4b54-4f23-8096-575dcb6ba7a7\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"28023b51-a820-4f23-b310-bd65e2321cf4\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -664.0,\n \"y\": 2.0,\n \"width\": 164.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"13d5ab1b-c984-4ab5-970a-60b3481670cd\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"05820417-9b3c-4fac-a62f-14458546589a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Unlit\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -360.0,\n \"y\": 13.000017166137696,\n \"width\": 298.0,\n \"height\": 374.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1438624126,\\n \\\"m_DisplayName\\\": \\\"baseColorFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_8743F3C3\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1050676157,\\n \\\"m_DisplayName\\\": \\\"baseColorTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_EBF077FA\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 76898838,\\n \\\"m_DisplayName\\\": \\\"baseColorTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_FE260CB0\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 921423784,\\n \\\"m_DisplayName\\\": \\\"baseColorTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_6F4A9DFD\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 990570004,\\n \\\"m_DisplayName\\\": \\\"UVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_B0E15B5E\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -2033327270,\\n \\\"m_DisplayName\\\": \\\"UV0\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_B59C246\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1777860382,\\n \\\"m_DisplayName\\\": \\\"UV1\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_5B384487\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"Color\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Color\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"Alpha\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Alpha\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_SerializedSubGraph\": \"{\\n \\\"subGraph\\\": {\\n \\\"fileID\\\": -5475051401550479605,\\n \\\"guid\\\": \\\"be4372d6443624882a2e9c3b62ab6ee7\\\",\\n \\\"type\\\": 3\\n }\\n}\",\n \"m_PropertyGuids\": [\n \"23b11ff4-3af1-4945-9c4b-b3b499bdfa33\",\n \"1535492a-2795-428c-a7a8-0c963bc80c1b\",\n \"349829b0-a90d-4b44-bf38-99916345bde2\",\n \"77ff8161-3714-4ef8-8885-767db25a0931\",\n \"34d7ae95-a71a-4dea-b2b5-15f8e886e625\",\n \"b0e5bce9-2512-4369-a8ab-fcb9f5d0ad9e\",\n \"e1dea68e-34d4-40f2-bccd-ee4eb1b92568\"\n ],\n \"m_PropertyIds\": [\n -1438624126,\n 1050676157,\n 76898838,\n 921423784,\n -2033327270,\n 1777860382,\n 990570004\n ]\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.UnlitMasterNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"8ee11d5c-ee75-4686-84f2-232388f47f1e\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Unlit Master\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 158.0,\n \"y\": -61.0,\n \"width\": 200.0,\n \"height\": 197.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.PositionMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 9,\\n \\\"m_DisplayName\\\": \\\"Vertex Position\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vertex Position\\\",\\n \\\"m_StageCapability\\\": 1,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.NormalMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 10,\\n \\\"m_DisplayName\\\": \\\"Vertex Normal\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vertex Normal\\\",\\n \\\"m_StageCapability\\\": 1,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.TangentMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 11,\\n \\\"m_DisplayName\\\": \\\"Vertex Tangent\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vertex Tangent\\\",\\n \\\"m_StageCapability\\\": 1,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.ColorRGBMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Color\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Color\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.7353569269180298,\\n \\\"y\\\": 0.7353569269180298,\\n \\\"z\\\": 0.7353569269180298\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_ColorMode\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"Alpha\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Alpha\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 1.0,\\n \\\"m_DefaultValue\\\": 1.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 8,\\n \\\"m_DisplayName\\\": \\\"AlphaClipThreshold\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"AlphaClipThreshold\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_DOTSInstancing\": false,\n \"m_SerializableSubShaders\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.Rendering.Universal.UniversalUnlitSubShader\"\n },\n \"JSONnodeData\": \"{}\"\n }\n ],\n \"m_ShaderGUIOverride\": \"\",\n \"m_OverrideEnabled\": false,\n \"m_SurfaceType\": 1,\n \"m_AlphaMode\": 0,\n \"m_TwoSided\": false,\n \"m_AddPrecomputedVelocity\": false\n}" - } - ], - "m_Groups": [], - "m_StickyNotes": [], - "m_SerializableEdges": [ - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 6,\n \"m_NodeGUIDSerialized\": \"05820417-9b3c-4fac-a62f-14458546589a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"8ee11d5c-ee75-4686-84f2-232388f47f1e\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 7,\n \"m_NodeGUIDSerialized\": \"05820417-9b3c-4fac-a62f-14458546589a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 7,\n \"m_NodeGUIDSerialized\": \"8ee11d5c-ee75-4686-84f2-232388f47f1e\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"28023b51-a820-4f23-b310-bd65e2321cf4\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1438624126,\n \"m_NodeGUIDSerialized\": \"05820417-9b3c-4fac-a62f-14458546589a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"7124a327-d870-4def-9751-8fb5a3f55854\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1050676157,\n \"m_NodeGUIDSerialized\": \"05820417-9b3c-4fac-a62f-14458546589a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"e339a334-cd9a-4ebe-9c57-23e3a8f35da5\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 76898838,\n \"m_NodeGUIDSerialized\": \"05820417-9b3c-4fac-a62f-14458546589a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"33db956d-7fc9-46cd-8c05-f28c0ed2e75c\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 921423784,\n \"m_NodeGUIDSerialized\": \"05820417-9b3c-4fac-a62f-14458546589a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"8ce59148-c4ba-4886-8f8b-0afd76fc5666\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -2033327270,\n \"m_NodeGUIDSerialized\": \"05820417-9b3c-4fac-a62f-14458546589a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"102dab22-8564-4614-88cb-1b091813792f\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1777860382,\n \"m_NodeGUIDSerialized\": \"05820417-9b3c-4fac-a62f-14458546589a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"8e811086-2773-4911-998f-72146aad29c8\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 990570004,\n \"m_NodeGUIDSerialized\": \"05820417-9b3c-4fac-a62f-14458546589a\"\n }\n}" - } - ], - "m_PreviewData": { - "serializedMesh": { - "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", - "m_Guid": "" - } - }, - "m_Path": "Shader Graphs", - "m_ConcretePrecision": 0, - "m_ActiveOutputNodeGuidSerialized": "8ee11d5c-ee75-4686-84f2-232388f47f1e" -} \ No newline at end of file diff --git a/Runtime/Shader/Legacy/glTF-unlit-Blend.shadergraph.meta b/Runtime/Shader/Legacy/glTF-unlit-Blend.shadergraph.meta deleted file mode 100644 index 6f1b00c34..000000000 --- a/Runtime/Shader/Legacy/glTF-unlit-Blend.shadergraph.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 28efc76bda49d4bae9db32ea2079d3c0 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Runtime/Shader/Legacy/glTF-unlit-Opaque-double.shadergraph b/Runtime/Shader/Legacy/glTF-unlit-Opaque-double.shadergraph deleted file mode 100644 index c462a8f8b..000000000 --- a/Runtime/Shader/Legacy/glTF-unlit-Opaque-double.shadergraph +++ /dev/null @@ -1,165 +0,0 @@ -{ - "m_SerializedProperties": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"13d5ab1b-c984-4ab5-970a-60b3481670cd\"\n },\n \"m_Name\": \"Base Color\",\n \"m_DefaultReferenceName\": \"Color_846A9D86\",\n \"m_OverrideReferenceName\": \"baseColorFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"r\": 1.0,\n \"g\": 1.0,\n \"b\": 1.0,\n \"a\": 1.0\n },\n \"m_ColorMode\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"5badc777-4b54-4f23-8096-575dcb6ba7a7\"\n },\n \"m_Name\": \"Base Color Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_EF01EAF1\",\n \"m_OverrideReferenceName\": \"baseColorTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"2ba4e2b1-cf48-4532-90b3-ed5d96168c5f\"\n },\n \"m_Name\": \"Base Color Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_2EB24001\",\n \"m_OverrideReferenceName\": \"baseColorTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"25374cf8-1a07-4828-b413-e95095d8fad3\"\n },\n \"m_Name\": \"Base Color Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_A73F9E14\",\n \"m_OverrideReferenceName\": \"baseColorTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"0ed8c74a-cae5-4b33-8017-64d13ef595bd\"\n },\n \"m_Name\": \"Base Color Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_4F0E3EA6\",\n \"m_OverrideReferenceName\": \"baseColorTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 2,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - } - ], - "m_SerializedKeywords": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.ShaderKeyword" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"a45d88f0-fa3f-4966-bd99-e06b592b261a\"\n },\n \"m_Name\": \"TEXTURE_TRANSFORM\",\n \"m_DefaultReferenceName\": \"BOOLEAN_431D6D3_ON\",\n \"m_OverrideReferenceName\": \"_TEXTURE_TRANSFORM\",\n \"m_GeneratePropertyBlock\": true,\n \"m_KeywordType\": 0,\n \"m_KeywordDefinition\": 0,\n \"m_KeywordScope\": 0,\n \"m_Entries\": [],\n \"m_Value\": 0,\n \"m_IsEditable\": true,\n \"m_IsExposable\": true\n}" - } - ], - "m_SerializableNodes": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.UnlitMasterNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"8ee11d5c-ee75-4686-84f2-232388f47f1e\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Unlit Master\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 158.0,\n \"y\": -61.0,\n \"width\": 200.0,\n \"height\": 197.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.PositionMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 9,\\n \\\"m_DisplayName\\\": \\\"Vertex Position\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vertex Position\\\",\\n \\\"m_StageCapability\\\": 1,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.NormalMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 10,\\n \\\"m_DisplayName\\\": \\\"Vertex Normal\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vertex Normal\\\",\\n \\\"m_StageCapability\\\": 1,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.TangentMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 11,\\n \\\"m_DisplayName\\\": \\\"Vertex Tangent\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vertex Tangent\\\",\\n \\\"m_StageCapability\\\": 1,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.ColorRGBMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Color\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Color\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.7353569269180298,\\n \\\"y\\\": 0.7353569269180298,\\n \\\"z\\\": 0.7353569269180298\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_ColorMode\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"Alpha\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Alpha\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 1.0,\\n \\\"m_DefaultValue\\\": 1.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 8,\\n \\\"m_DisplayName\\\": \\\"AlphaClipThreshold\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"AlphaClipThreshold\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_DOTSInstancing\": false,\n \"m_SerializableSubShaders\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.Rendering.Universal.UniversalUnlitSubShader\"\n },\n \"JSONnodeData\": \"{}\"\n }\n ],\n \"m_ShaderGUIOverride\": \"\",\n \"m_OverrideEnabled\": false,\n \"m_SurfaceType\": 0,\n \"m_AlphaMode\": 0,\n \"m_TwoSided\": true,\n \"m_AddPrecomputedVelocity\": false\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"05820417-9b3c-4fac-a62f-14458546589a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Unlit\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -360.0,\n \"y\": 13.000017166137696,\n \"width\": 298.0,\n \"height\": 374.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1438624126,\\n \\\"m_DisplayName\\\": \\\"baseColorFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_8743F3C3\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1050676157,\\n \\\"m_DisplayName\\\": \\\"baseColorTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_EBF077FA\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 76898838,\\n \\\"m_DisplayName\\\": \\\"baseColorTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_FE260CB0\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 921423784,\\n \\\"m_DisplayName\\\": \\\"baseColorTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_6F4A9DFD\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 990570004,\\n \\\"m_DisplayName\\\": \\\"UVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_B0E15B5E\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -2033327270,\\n \\\"m_DisplayName\\\": \\\"UV0\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_B59C246\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1777860382,\\n \\\"m_DisplayName\\\": \\\"UV1\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_5B384487\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"Color\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Color\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"Alpha\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Alpha\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_SerializedSubGraph\": \"{\\n \\\"subGraph\\\": {\\n \\\"fileID\\\": -5475051401550479605,\\n \\\"guid\\\": \\\"be4372d6443624882a2e9c3b62ab6ee7\\\",\\n \\\"type\\\": 3\\n }\\n}\",\n \"m_PropertyGuids\": [\n \"23b11ff4-3af1-4945-9c4b-b3b499bdfa33\",\n \"1535492a-2795-428c-a7a8-0c963bc80c1b\",\n \"349829b0-a90d-4b44-bf38-99916345bde2\",\n \"77ff8161-3714-4ef8-8885-767db25a0931\",\n \"34d7ae95-a71a-4dea-b2b5-15f8e886e625\",\n \"e1dea68e-34d4-40f2-bccd-ee4eb1b92568\",\n \"b0e5bce9-2512-4369-a8ab-fcb9f5d0ad9e\"\n ],\n \"m_PropertyIds\": [\n -1438624126,\n 1050676157,\n 76898838,\n 921423784,\n -2033327270,\n 990570004,\n 1777860382\n ]\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"28023b51-a820-4f23-b310-bd65e2321cf4\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -664.0,\n \"y\": 2.0,\n \"width\": 164.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"13d5ab1b-c984-4ab5-970a-60b3481670cd\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"7124a327-d870-4def-9751-8fb5a3f55854\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -666.0,\n \"y\": 35.0,\n \"width\": 178.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"5badc777-4b54-4f23-8096-575dcb6ba7a7\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"e339a334-cd9a-4ebe-9c57-23e3a8f35da5\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -664.0,\n \"y\": 66.0,\n \"width\": 203.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"25374cf8-1a07-4828-b413-e95095d8fad3\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"33db956d-7fc9-46cd-8c05-f28c0ed2e75c\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -665.0,\n \"y\": 98.0,\n \"width\": 246.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"2ba4e2b1-cf48-4532-90b3-ed5d96168c5f\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.UVNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"8ce59148-c4ba-4886-8f8b-0afd76fc5666\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"UV\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -588.0,\n \"y\": 158.0,\n \"width\": 145.0,\n \"height\": 128.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_OutputChannel\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.UVNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"fa3cbb5a-5871-46a1-b914-aed4562d36d9\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"UV\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -587.0,\n \"y\": 283.0,\n \"width\": 145.0,\n \"height\": 128.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_OutputChannel\": 1\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"786a7fde-59a2-43e3-9c5d-d68e0f74c86b\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -663.0,\n \"y\": 127.0,\n \"width\": 229.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"0ed8c74a-cae5-4b33-8017-64d13ef595bd\"\n}" - } - ], - "m_Groups": [], - "m_StickyNotes": [], - "m_SerializableEdges": [ - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 6,\n \"m_NodeGUIDSerialized\": \"05820417-9b3c-4fac-a62f-14458546589a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"8ee11d5c-ee75-4686-84f2-232388f47f1e\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 7,\n \"m_NodeGUIDSerialized\": \"05820417-9b3c-4fac-a62f-14458546589a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 7,\n \"m_NodeGUIDSerialized\": \"8ee11d5c-ee75-4686-84f2-232388f47f1e\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"28023b51-a820-4f23-b310-bd65e2321cf4\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1438624126,\n \"m_NodeGUIDSerialized\": \"05820417-9b3c-4fac-a62f-14458546589a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"7124a327-d870-4def-9751-8fb5a3f55854\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1050676157,\n \"m_NodeGUIDSerialized\": \"05820417-9b3c-4fac-a62f-14458546589a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"e339a334-cd9a-4ebe-9c57-23e3a8f35da5\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 76898838,\n \"m_NodeGUIDSerialized\": \"05820417-9b3c-4fac-a62f-14458546589a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"33db956d-7fc9-46cd-8c05-f28c0ed2e75c\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 921423784,\n \"m_NodeGUIDSerialized\": \"05820417-9b3c-4fac-a62f-14458546589a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"8ce59148-c4ba-4886-8f8b-0afd76fc5666\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -2033327270,\n \"m_NodeGUIDSerialized\": \"05820417-9b3c-4fac-a62f-14458546589a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"fa3cbb5a-5871-46a1-b914-aed4562d36d9\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1777860382,\n \"m_NodeGUIDSerialized\": \"05820417-9b3c-4fac-a62f-14458546589a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"786a7fde-59a2-43e3-9c5d-d68e0f74c86b\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 990570004,\n \"m_NodeGUIDSerialized\": \"05820417-9b3c-4fac-a62f-14458546589a\"\n }\n}" - } - ], - "m_PreviewData": { - "serializedMesh": { - "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", - "m_Guid": "" - } - }, - "m_Path": "Shader Graphs", - "m_ConcretePrecision": 0, - "m_ActiveOutputNodeGuidSerialized": "8ee11d5c-ee75-4686-84f2-232388f47f1e" -} \ No newline at end of file diff --git a/Runtime/Shader/Legacy/glTF-unlit-Opaque-double.shadergraph.meta b/Runtime/Shader/Legacy/glTF-unlit-Opaque-double.shadergraph.meta deleted file mode 100644 index 1f249aaeb..000000000 --- a/Runtime/Shader/Legacy/glTF-unlit-Opaque-double.shadergraph.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: f94bbd13412a4419bbfac24d9a53b058 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/Runtime/Shader/Legacy/glTF-unlit-Opaque.shadergraph b/Runtime/Shader/Legacy/glTF-unlit-Opaque.shadergraph deleted file mode 100644 index 0ff19f45f..000000000 --- a/Runtime/Shader/Legacy/glTF-unlit-Opaque.shadergraph +++ /dev/null @@ -1,165 +0,0 @@ -{ - "m_SerializedProperties": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.ColorShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"13d5ab1b-c984-4ab5-970a-60b3481670cd\"\n },\n \"m_Name\": \"Base Color\",\n \"m_DefaultReferenceName\": \"Color_846A9D86\",\n \"m_OverrideReferenceName\": \"baseColorFactor\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"r\": 1.0,\n \"g\": 1.0,\n \"b\": 1.0,\n \"a\": 1.0\n },\n \"m_ColorMode\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"5badc777-4b54-4f23-8096-575dcb6ba7a7\"\n },\n \"m_Name\": \"Base Color Tex\",\n \"m_DefaultReferenceName\": \"Texture2D_EF01EAF1\",\n \"m_OverrideReferenceName\": \"baseColorTexture\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"m_SerializedTexture\": \"{\\\"texture\\\":{\\\"instanceID\\\":0}}\",\n \"m_Guid\": \"\"\n },\n \"m_Modifiable\": true,\n \"m_DefaultType\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"2ba4e2b1-cf48-4532-90b3-ed5d96168c5f\"\n },\n \"m_Name\": \"Base Color Tex ST\",\n \"m_DefaultReferenceName\": \"Vector4_2EB24001\",\n \"m_OverrideReferenceName\": \"baseColorTexture_ST\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 1.0,\n \"y\": 1.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"25374cf8-1a07-4828-b413-e95095d8fad3\"\n },\n \"m_Name\": \"Base Color Tex Rotation\",\n \"m_DefaultReferenceName\": \"Vector2_A73F9E14\",\n \"m_OverrideReferenceName\": \"baseColorTexture_Rotation\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": {\n \"x\": 0.0,\n \"y\": 0.0,\n \"z\": 0.0,\n \"w\": 0.0\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"0a82fd99-9689-4ca0-990b-dc93df5407b7\"\n },\n \"m_Name\": \"Base Color Tex UV\",\n \"m_DefaultReferenceName\": \"Vector1_855863D0\",\n \"m_OverrideReferenceName\": \"baseColorTexture_texCoord\",\n \"m_GeneratePropertyBlock\": true,\n \"m_Precision\": 0,\n \"m_GPUInstanced\": false,\n \"m_Hidden\": false,\n \"m_Value\": 0.0,\n \"m_FloatType\": 2,\n \"m_RangeValues\": {\n \"x\": 0.0,\n \"y\": 1.0\n }\n}" - } - ], - "m_SerializedKeywords": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.ShaderKeyword" - }, - "JSONnodeData": "{\n \"m_Guid\": {\n \"m_GuidSerialized\": \"2dd73bf1-62d3-4019-80d3-5abf47047084\"\n },\n \"m_Name\": \"TEXTURE_TRANSFORM\",\n \"m_DefaultReferenceName\": \"BOOLEAN_A63F3133_ON\",\n \"m_OverrideReferenceName\": \"_TEXTURE_TRANSFORM\",\n \"m_GeneratePropertyBlock\": true,\n \"m_KeywordType\": 0,\n \"m_KeywordDefinition\": 0,\n \"m_KeywordScope\": 0,\n \"m_Entries\": [],\n \"m_Value\": 0,\n \"m_IsEditable\": true,\n \"m_IsExposable\": true\n}" - } - ], - "m_SerializableNodes": [ - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.UnlitMasterNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"8ee11d5c-ee75-4686-84f2-232388f47f1e\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Unlit Master\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 158.0,\n \"y\": -61.0,\n \"width\": 200.0,\n \"height\": 197.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.PositionMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 9,\\n \\\"m_DisplayName\\\": \\\"Vertex Position\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vertex Position\\\",\\n \\\"m_StageCapability\\\": 1,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.NormalMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 10,\\n \\\"m_DisplayName\\\": \\\"Vertex Normal\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vertex Normal\\\",\\n \\\"m_StageCapability\\\": 1,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.TangentMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 11,\\n \\\"m_DisplayName\\\": \\\"Vertex Tangent\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vertex Tangent\\\",\\n \\\"m_StageCapability\\\": 1,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.ColorRGBMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Color\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Color\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.7353569269180298,\\n \\\"y\\\": 0.7353569269180298,\\n \\\"z\\\": 0.7353569269180298\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_ColorMode\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"Alpha\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Alpha\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 1.0,\\n \\\"m_DefaultValue\\\": 1.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 8,\\n \\\"m_DisplayName\\\": \\\"AlphaClipThreshold\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"AlphaClipThreshold\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_DOTSInstancing\": false,\n \"m_SerializableSubShaders\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.Rendering.Universal.UniversalUnlitSubShader\"\n },\n \"JSONnodeData\": \"{}\"\n }\n ],\n \"m_ShaderGUIOverride\": \"\",\n \"m_OverrideEnabled\": false,\n \"m_SurfaceType\": 0,\n \"m_AlphaMode\": 0,\n \"m_TwoSided\": false,\n \"m_AddPrecomputedVelocity\": false\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SubGraphNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"05820417-9b3c-4fac-a62f-14458546589a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Unlit\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -360.0,\n \"y\": 13.000017166137696,\n \"width\": 298.0,\n \"height\": 374.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -1438624126,\\n \\\"m_DisplayName\\\": \\\"baseColorFactor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_8743F3C3\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1050676157,\\n \\\"m_DisplayName\\\": \\\"baseColorTexture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture2D_EBF077FA\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"instanceID\\\\\\\":0}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 76898838,\\n \\\"m_DisplayName\\\": \\\"baseColorTextureRotation\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_FE260CB0\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 921423784,\\n \\\"m_DisplayName\\\": \\\"baseColorTexture_ST\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector4_6F4A9DFD\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 990570004,\\n \\\"m_DisplayName\\\": \\\"UVChannel\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector1_B0E15B5E\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": -2033327270,\\n \\\"m_DisplayName\\\": \\\"UV0\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_B59C246\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1777860382,\\n \\\"m_DisplayName\\\": \\\"UV1\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Vector2_5B384487\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector3MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"Color\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Color\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"Alpha\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Alpha\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_SerializedSubGraph\": \"{\\n \\\"subGraph\\\": {\\n \\\"fileID\\\": -5475051401550479605,\\n \\\"guid\\\": \\\"be4372d6443624882a2e9c3b62ab6ee7\\\",\\n \\\"type\\\": 3\\n }\\n}\",\n \"m_PropertyGuids\": [\n \"23b11ff4-3af1-4945-9c4b-b3b499bdfa33\",\n \"1535492a-2795-428c-a7a8-0c963bc80c1b\",\n \"349829b0-a90d-4b44-bf38-99916345bde2\",\n \"77ff8161-3714-4ef8-8885-767db25a0931\",\n \"34d7ae95-a71a-4dea-b2b5-15f8e886e625\",\n \"b0e5bce9-2512-4369-a8ab-fcb9f5d0ad9e\",\n \"e1dea68e-34d4-40f2-bccd-ee4eb1b92568\"\n ],\n \"m_PropertyIds\": [\n -1438624126,\n 1050676157,\n 76898838,\n 921423784,\n -2033327270,\n 1777860382,\n 990570004\n ]\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"28023b51-a820-4f23-b310-bd65e2321cf4\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -664.0,\n \"y\": 2.0,\n \"width\": 164.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"13d5ab1b-c984-4ab5-970a-60b3481670cd\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"7124a327-d870-4def-9751-8fb5a3f55854\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -666.0,\n \"y\": 35.0,\n \"width\": 178.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color Tex\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"5badc777-4b54-4f23-8096-575dcb6ba7a7\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"e339a334-cd9a-4ebe-9c57-23e3a8f35da5\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -664.0,\n \"y\": 66.0,\n \"width\": 203.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color Tex Rotation\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"25374cf8-1a07-4828-b413-e95095d8fad3\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"33db956d-7fc9-46cd-8c05-f28c0ed2e75c\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -665.0,\n \"y\": 98.0,\n \"width\": 246.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color Tex ST\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"2ba4e2b1-cf48-4532-90b3-ed5d96168c5f\"\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.UVNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"8ce59148-c4ba-4886-8f8b-0afd76fc5666\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"UV\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -581.0,\n \"y\": 169.0,\n \"width\": 145.0,\n \"height\": 128.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_OutputChannel\": 0\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.UVNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"102dab22-8564-4614-88cb-1b091813792f\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"UV\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -580.0,\n \"y\": 294.0,\n \"width\": 145.0,\n \"height\": 128.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": false,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_OutputChannel\": 1\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.PropertyNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"8e811086-2773-4911-998f-72146aad29c8\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Property\",\n \"m_NodeVersion\": 0,\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -664.0,\n \"y\": 129.0,\n \"width\": 229.0,\n \"height\": 34.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Base Color Tex UV\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_PropertyGuidSerialized\": \"0a82fd99-9689-4ca0-990b-dc93df5407b7\"\n}" - } - ], - "m_Groups": [], - "m_StickyNotes": [], - "m_SerializableEdges": [ - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 6,\n \"m_NodeGUIDSerialized\": \"05820417-9b3c-4fac-a62f-14458546589a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"8ee11d5c-ee75-4686-84f2-232388f47f1e\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 7,\n \"m_NodeGUIDSerialized\": \"05820417-9b3c-4fac-a62f-14458546589a\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 7,\n \"m_NodeGUIDSerialized\": \"8ee11d5c-ee75-4686-84f2-232388f47f1e\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"28023b51-a820-4f23-b310-bd65e2321cf4\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -1438624126,\n \"m_NodeGUIDSerialized\": \"05820417-9b3c-4fac-a62f-14458546589a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"7124a327-d870-4def-9751-8fb5a3f55854\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1050676157,\n \"m_NodeGUIDSerialized\": \"05820417-9b3c-4fac-a62f-14458546589a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"e339a334-cd9a-4ebe-9c57-23e3a8f35da5\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 76898838,\n \"m_NodeGUIDSerialized\": \"05820417-9b3c-4fac-a62f-14458546589a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"33db956d-7fc9-46cd-8c05-f28c0ed2e75c\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 921423784,\n \"m_NodeGUIDSerialized\": \"05820417-9b3c-4fac-a62f-14458546589a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"8ce59148-c4ba-4886-8f8b-0afd76fc5666\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": -2033327270,\n \"m_NodeGUIDSerialized\": \"05820417-9b3c-4fac-a62f-14458546589a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"102dab22-8564-4614-88cb-1b091813792f\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1777860382,\n \"m_NodeGUIDSerialized\": \"05820417-9b3c-4fac-a62f-14458546589a\"\n }\n}" - }, - { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"8e811086-2773-4911-998f-72146aad29c8\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 990570004,\n \"m_NodeGUIDSerialized\": \"05820417-9b3c-4fac-a62f-14458546589a\"\n }\n}" - } - ], - "m_PreviewData": { - "serializedMesh": { - "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", - "m_Guid": "" - } - }, - "m_Path": "Shader Graphs", - "m_ConcretePrecision": 0, - "m_ActiveOutputNodeGuidSerialized": "8ee11d5c-ee75-4686-84f2-232388f47f1e" -} \ No newline at end of file diff --git a/Runtime/Shader/Legacy/glTF-unlit-Opaque.shadergraph.meta b/Runtime/Shader/Legacy/glTF-unlit-Opaque.shadergraph.meta deleted file mode 100644 index 303628370..000000000 --- a/Runtime/Shader/Legacy/glTF-unlit-Opaque.shadergraph.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 81efe6bcd8aa64c21b80376f539ee767 -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/package.json b/package.json index ceb060444..52ae2cea2 100644 --- a/package.json +++ b/package.json @@ -1,9 +1,9 @@ { "name": "com.atteneder.gltfast", - "version": "6.14.1", + "version": "6.15.0", "displayName": "glTFast", "description": "Use glTFast to import and export glTF 3D files efficiently at runtime or in the Editor", - "unity": "2021.3", + "unity": "2022.3", "keywords": [ "mesh", "gltf", @@ -27,5 +27,5 @@ "com.unity.burst": "1.8.24", "com.unity.collections": "1.2.4" }, - "unityRelease": "46f1" + "unityRelease": "67f2" } From 7f31d435b0c15ecf280cbe7202d34c4a7be46e4c Mon Sep 17 00:00:00 2001 From: Andreas Atteneder Date: Thu, 22 Jan 2026 13:10:23 +0100 Subject: [PATCH 17/27] com.atteneder.gltfast Release 6.15.1 --- .github/workflows/dotnet-format.yml | 2 +- CHANGELOG.md | 43 ++- DocExamples/AssemblyInfo.cs | 6 + DocExamples/AssemblyInfo.cs.meta | 11 + DocExamples/CustomGltfImport.cs | 28 +- DocExamples/ExportSamples.cs | 13 +- DocExamples/LoadGltfFromMemory.cs | 22 +- DocExamples/MultipleInstances.cs | 70 ++-- Documentation~/ExportRuntime.md | 2 +- Documentation~/projectMetadata.json | 2 +- Editor/Scripts/AsyncHelpers.cs | 79 +++-- Runtime/Scripts/DOTS/AssemblyInfo.cs | 8 + Runtime/Scripts/DOTS/AssemblyInfo.cs.meta | 11 + Runtime/Scripts/DOTS/EntityInstantiator.cs | 295 +++++++---------- Runtime/Scripts/DOTS/EntityUtils.cs | 60 ++++ Runtime/Scripts/DOTS/EntityUtils.cs.meta | 11 + Runtime/Scripts/DOTS/GltfEntityAsset.cs | 67 +--- Runtime/Scripts/DOTS/GltfEntityAsset.cs.meta | 2 +- Runtime/Scripts/DOTS/glTFast.dots.asmdef | 5 - Runtime/Scripts/DataUri.cs | 163 ++++++++++ Runtime/Scripts/DataUri.cs.meta | 11 + Runtime/Scripts/Export/Constants.cs | 2 +- Runtime/Scripts/Export/GltfWriter.cs | 239 ++++++++------ Runtime/Scripts/Export/IMeshData.cs | 4 +- Runtime/Scripts/Export/MeshDataProxy.cs | 4 +- Runtime/Scripts/Export/NonReadableMeshData.cs | 32 +- Runtime/Scripts/GltfImport.cs | 305 ++++++++---------- Runtime/Scripts/Jobs.cs | 57 ++-- Runtime/Scripts/Logging/LogMessages.cs | 3 + Runtime/Scripts/MeshGenerator.cs | 53 +-- Runtime/Scripts/NativeMemoryManager.cs | 33 ++ Runtime/Scripts/NativeMemoryManager.cs.meta | 3 + .../Scripts/Schema/BufferViewExtensions.cs | 2 +- .../Schema/BufferViewMeshoptExtension.cs | 2 +- Runtime/Scripts/VertexBufferBones.cs | 13 +- Runtime/Scripts/glTFast.asmdef | 7 +- package.json | 2 +- 37 files changed, 987 insertions(+), 685 deletions(-) create mode 100644 DocExamples/AssemblyInfo.cs create mode 100644 DocExamples/AssemblyInfo.cs.meta create mode 100644 Runtime/Scripts/DOTS/AssemblyInfo.cs create mode 100644 Runtime/Scripts/DOTS/AssemblyInfo.cs.meta create mode 100644 Runtime/Scripts/DOTS/EntityUtils.cs create mode 100644 Runtime/Scripts/DOTS/EntityUtils.cs.meta create mode 100644 Runtime/Scripts/DataUri.cs create mode 100644 Runtime/Scripts/DataUri.cs.meta create mode 100644 Runtime/Scripts/NativeMemoryManager.cs create mode 100644 Runtime/Scripts/NativeMemoryManager.cs.meta diff --git a/.github/workflows/dotnet-format.yml b/.github/workflows/dotnet-format.yml index 4f660de85..05b792e70 100644 --- a/.github/workflows/dotnet-format.yml +++ b/.github/workflows/dotnet-format.yml @@ -61,7 +61,7 @@ jobs: image: europe-docker.pkg.dev/unity-cds-services-prd/ds-docker/unity-ci-format:latest@sha256:73b38fb713c2b95a142ffe870c6e130edda9d3aad61adadfda24fe985973f6b1 steps: - name: Checkout - uses: actions/checkout@v5 + uses: actions/checkout@v6 with: ref: ${{ inputs.GIT_BRANCH }} filter: blob:none diff --git a/CHANGELOG.md b/CHANGELOG.md index 15ef61e8a..46964db68 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,42 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [6.15.1] - 2025-12-09 + +### Added +- Assigned glTF logo to [GltfEntityAsset](xref:GLTFast.GltfEntityAsset) component. +- (Test) Test glTF asset *CylinderWithMaterial* that's procedurally generated at runtime. +- (Test) Tests for documentation examples. +- (Test) `OpenGltfScene` improvements. + - Refactored to use custom load method. + - Load method option to choose between loading from file or URI. + - Scene index option. + - Informative console logs with file path/URI and load time. + - Now works at runtime as well (without file dialog). + - Re-positions camera so that the loaded glTF scene is framed. + - Can load via [EntityInstantiator](xref:GLTFast.EntityInstantiator). + +### Changed +- (Entities) Entities of a scene are grouped via `LinkedEntityGroup`. +- (Performance) Import mesh indices as unsigned integers and don't convert to signed integers anymore. +- (Performance) Limited copy buffer size, so that garbage allocations do not scale with glTF-Binary content size anymore (when loading from file or `Stream`). +- (Performance) Large glTF-Binary content is now loaded into memory in smaller chunks, which keeps the frame rate smooth (when loading from file or `Stream`). +- (Performance) Shift loading glTF-Binary from stream to memory to a background thread, if it won't likely fit within the current update loop. +- (Performance) glTF-Binary buffers are not initialized with zeros before population. +- [meshoptimizer mesh compression for Unity] minimum required version was raised to 0.2.0-exp.1. +- (Test) Updated tests dependency Graphics Test Framework (com.unity.testframework.graphics) to 8.13.1-exp.1. + +### Fixed +- Returning a proper error for glTF-Binary with a content length shorter than what's depicted in the header. +- NotSupportedException when loading a glTF-Binary file with excess length (fixes [#786](https://github.com/atteneder/glTFast/issues/786)). +- (Documentation) Clarified how to add export shader variants. +- (Test) Fixed generated test glTFs by exporting them in synchronous mode (only available internally). +- (Importer) Synchronization Context is now properly reset after an exception (thanks [Bruno](https://github.com/bruno1308) for [#29](https://github.com/Unity-Technologies/com.unity.cloud.gltfast/pull/29)). +- Removed compiler warning when `GLTFAST_SAFE` scripting define is active. +- (Test) Stabilize tests by executing `LogAssert.Expect` before actual tests. +- (Entities) Sub-meshes are rendered properly. +- (Test) Tests destroy the glTF entities before disposing meshes/materials to avoid batch rendering errors. + ## [6.15.0] - 2025-11-17 ### Added @@ -42,6 +78,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Removed - Broken consistency check between image data URI mediatype against image's mimeType. +- Support for obsolete Hybrid Renderer (com.unity.rendering.hybrid). ## [6.14.1] - 2025-09-30 @@ -145,7 +182,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [6.10.2] - 2025-02-03 ### Added -- (Importer) *Textures Readable* checkbox in the imnporter inspector (*Textures* section). +- (Importer) *Textures Readable* checkbox in the importer inspector (*Textures* section). - (Export) Error message when attempting to export with unsupported meshopt compression. - (Tests) Runtime import performance tests. - (Tests) Procedurally generated glTFs for testing purpose. @@ -370,7 +407,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - All missing extensions are logged (not just the first one). - There's now a single message per missing package. - Depending on whether that extension is required the message's type is warning or error. - - Added explicit message when [*meshoptimizer decompression for Unity*][meshoptUnity] is missing. + - Added explicit message when [meshoptimizer mesh compression for Unity] is missing. ## [6.3.0] - 2024-03-27 @@ -1482,7 +1519,7 @@ This release contains multiple breaking changes. Please read the [upgrade guide] [Draco for Unity]: https://docs.unity3d.com/Packages/com.unity.cloud.draco@latest [DracoUnity]: https://github.com/atteneder/DracoUnity [PolySpatialVisionOS]: https://docs.unity3d.com/Packages/com.unity.polyspatial.visionos@latest/ -[meshoptUnity]: https://docs.unity3d.com/Packages/com.unity.meshopt.decompress@latest/ +[meshoptimizer mesh compression for Unity]: https://docs.unity3d.com/Packages/com.unity.meshopt.decompress@latest/ [aurorahcx]: https://github.com/aurorahcx [Battlehub0x]: https://github.com/Battlehub0x [Bersaelor]: https://github.com/Bersaelor diff --git a/DocExamples/AssemblyInfo.cs b/DocExamples/AssemblyInfo.cs new file mode 100644 index 000000000..bb6dd2f9a --- /dev/null +++ b/DocExamples/AssemblyInfo.cs @@ -0,0 +1,6 @@ +// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System.Runtime.CompilerServices; + +[assembly: InternalsVisibleTo("glTFast.Tests")] diff --git a/DocExamples/AssemblyInfo.cs.meta b/DocExamples/AssemblyInfo.cs.meta new file mode 100644 index 000000000..8f9ff0dd5 --- /dev/null +++ b/DocExamples/AssemblyInfo.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 21f888a80e8fb4054b3b6f9366cec295 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/DocExamples/CustomGltfImport.cs b/DocExamples/CustomGltfImport.cs index 8e212e713..c9a216011 100644 --- a/DocExamples/CustomGltfImport.cs +++ b/DocExamples/CustomGltfImport.cs @@ -1,30 +1,35 @@ // SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 -using GLTFast.Logging; - #if NEWTONSOFT_JSON namespace GLTFast.Documentation.Examples { #region CustomGltfImport - using GLTFast; - using Addons; using System; + using System.Threading.Tasks; + using Addons; + using GLTFast; + using GLTFast.Logging; using UnityEngine; using GltfImport = GLTFast.Newtonsoft.GltfImport; class CustomGltfImport : MonoBehaviour { // Path to the gltf asset to be imported - public string Uri; + public string uri; async void Start() + { + await LoadGltf(); + } + + public async Task LoadGltf() { try { ImportAddonRegistry.RegisterImportAddon(new MyAddon()); var gltfImport = new GltfImport(logger:new ConsoleLogger()); - await gltfImport.Load(Uri); + await gltfImport.Load(uri); await gltfImport.InstantiateMainSceneAsync(transform); } catch (Exception e) @@ -33,8 +38,9 @@ async void Start() } } - public class MyAddon : ImportAddon { } - public class MyAddonInstance : ImportAddonInstance + class MyAddon : ImportAddon { } + + class MyAddonInstance : ImportAddonInstance { GltfImport m_GltfImport; @@ -55,7 +61,7 @@ public override void Inject(IInstantiator instantiator) var goInstantiator = instantiator as GameObjectInstantiator; if (goInstantiator == null) return; - var _ = new MyInstantiatorAddon(m_GltfImport, goInstantiator); + _ = new MyInstantiatorAddon(m_GltfImport, goInstantiator); } public override bool SupportsGltfExtension(string extensionName) @@ -67,8 +73,8 @@ public override bool SupportsGltfExtension(string extensionName) class MyInstantiatorAddon { - GltfImport m_GltfImport; - GameObjectInstantiator m_Instantiator; + readonly GltfImport m_GltfImport; + readonly GameObjectInstantiator m_Instantiator; public MyInstantiatorAddon(GltfImport gltfImport, GameObjectInstantiator instantiator) { diff --git a/DocExamples/ExportSamples.cs b/DocExamples/ExportSamples.cs index e0a3b49e9..ab0faa3a6 100644 --- a/DocExamples/ExportSamples.cs +++ b/DocExamples/ExportSamples.cs @@ -2,7 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 using System.Threading.Tasks; -using UnityEngine.Serialization; namespace GLTFast.Documentation.Examples { @@ -13,12 +12,9 @@ namespace GLTFast.Documentation.Examples class ExportSamples : MonoBehaviour { + public string destinationFilePath; - [FormerlySerializedAs("path")] - [SerializeField] - string destinationFilePath; - - async Task AdvancedExport() + public async Task AdvancedExport() { #region AdvancedExport @@ -82,7 +78,7 @@ async Task AdvancedExport() #endregion } - void ExportSettingsDraco() + public static ExportSettings ExportSettingsDraco() { #region ExportSettingsDraco // ExportSettings provides generic export settings @@ -97,6 +93,7 @@ void ExportSettingsDraco() } }; #endregion + return exportSettings; } async void Start() @@ -104,7 +101,7 @@ async void Start() await LocalTransform(); } - async Task LocalTransform() + public async Task LocalTransform() { #region LocalTransform var export = new GameObjectExport(); diff --git a/DocExamples/LoadGltfFromMemory.cs b/DocExamples/LoadGltfFromMemory.cs index 10c36d7e3..feb4b8e2f 100644 --- a/DocExamples/LoadGltfFromMemory.cs +++ b/DocExamples/LoadGltfFromMemory.cs @@ -42,15 +42,16 @@ async Task LoadGltfFile() } #endregion - void LoadViaComponent() + public void LoadViaComponent() { #region LoadViaComponent var gltf = gameObject.AddComponent(); gltf.Url = "https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Assets/main/Models/Duck/glTF/Duck.gltf"; #endregion + gltf.LoadOnStartup = false; } - async Task ImportSettings() + public static async Task ImportSettings(string filePath) { #region ImportSettings var gltf = new GltfImport(); @@ -63,7 +64,7 @@ async Task ImportSettings() NodeNameMethod = NameImportMethod.OriginalUnique }; // Load the glTF and pass along the settings - var success = await gltf.Load("file:///path/to/file.gltf", settings); + var success = await gltf.Load(filePath, settings); if (success) { @@ -77,12 +78,12 @@ async Task ImportSettings() #endregion } - async Task Instantiation() + public async Task Instantiation() { #region Instantiation // First step: load glTF var gltf = new GLTFast.GltfImport(); - var success = await gltf.Load("file:///path/to/file.gltf"); + var success = await gltf.Load(filePath); if (success) { @@ -111,16 +112,15 @@ async Task Instantiation() } #if UNITY_ANIMATION - async Task SceneInstanceAccess() + public async Task SceneInstanceAccess() { #region SceneInstanceAccess var gltfImport = new GltfImport(); - await gltfImport.Load("test.gltf"); + await gltfImport.Load(filePath); var instantiator = new GameObjectInstantiator(gltfImport, transform); var success = await gltfImport.InstantiateMainSceneAsync(instantiator); if (success) { - // Get the SceneInstance to access the instance's properties var sceneInstance = instantiator.SceneInstance; @@ -150,7 +150,7 @@ async Task SceneInstanceAccess() } #endif // UNITY_ANIMATION - async Task CustomDeferAgent() + public async Task CustomDeferAgent() { var manyUrls = new[] { @@ -158,9 +158,9 @@ async Task CustomDeferAgent() }; #region CustomDeferAgent // Recommended: Use a common defer agent across multiple GltfImport instances! - // For a stable frame rate: + // TimeBudgetPerFrameDeferAgent for a stable frame rate: IDeferAgent deferAgent = gameObject.AddComponent(); - // Or for faster loading: + // Or alternatively, UninterruptedDeferAgent for low latency loading: deferAgent = new UninterruptedDeferAgent(); var tasks = new List(); diff --git a/DocExamples/MultipleInstances.cs b/DocExamples/MultipleInstances.cs index 12328d1ab..18ab68b68 100644 --- a/DocExamples/MultipleInstances.cs +++ b/DocExamples/MultipleInstances.cs @@ -1,61 +1,63 @@ // SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 -using GLTFast.Logging; - -#if NEWTONSOFT_JSON namespace GLTFast.Documentation.Examples { -#region MultipleInstances + #region MultipleInstances using System; + using System.Threading.Tasks; + using GLTFast.Logging; using UnityEngine; - using GltfImport = GLTFast.Newtonsoft.GltfImport; class MultipleInstances : MonoBehaviour { // Path to the gltf asset to be imported - public string Uri; + public string uri; - [Range(1,10)] + [Range(1, 10)] public int quantity = 3; async void Start() { try { - var logger = new ConsoleLogger(); - var gltfImport = new GltfImport(logger:logger); - await gltfImport.Load(Uri); + await LoadGltf(); + } + catch (Exception e) + { + Debug.LogException(e); + } + } - for (var i = 0; i < quantity; i++) + public async Task LoadGltf() + { + var logger = new ConsoleLogger(); + var gltfImport = new GltfImport(logger: logger); + await gltfImport.Load(uri); + + for (var i = 0; i < quantity; i++) + { + var go = new GameObject($"glTF-{i}") { - var go = new GameObject($"glTF-{i}") + transform = { - transform = - { - localPosition = new Vector3(0, 0, i * .13f) - } - }; - var instantiator = new GameObjectInstantiator(gltfImport, go.transform, logger:logger); - await gltfImport.InstantiateMainSceneAsync(instantiator); - var scene = instantiator.SceneInstance; - var materialsVariantsControl = scene.MaterialsVariantsControl; - - if (materialsVariantsControl != null) - { - var materialsVariantsComponent = go.AddComponent(); - materialsVariantsComponent.Control = materialsVariantsControl; - - await materialsVariantsControl.ApplyMaterialsVariantAsync(i%gltfImport.MaterialsVariantsCount); + localPosition = new Vector3(0, 0, i * .13f) } + }; + var instantiator = new GameObjectInstantiator(gltfImport, go.transform, logger: logger); + await gltfImport.InstantiateMainSceneAsync(instantiator); + var scene = instantiator.SceneInstance; + var materialsVariantsControl = scene.MaterialsVariantsControl; + + if (materialsVariantsControl != null) + { + var materialsVariantsComponent = go.AddComponent(); + materialsVariantsComponent.Control = materialsVariantsControl; + + await materialsVariantsControl.ApplyMaterialsVariantAsync(i % gltfImport.MaterialsVariantsCount); } } - catch (Exception e) - { - Debug.LogException(e); - } } } -#endregion + #endregion } -#endif diff --git a/Documentation~/ExportRuntime.md b/Documentation~/ExportRuntime.md index b9dc3d25e..348e1166c 100644 --- a/Documentation~/ExportRuntime.md +++ b/Documentation~/ExportRuntime.md @@ -6,7 +6,7 @@ You can export individual GameObjects or entire scenes to glTF™ files at r To be able to export certain textures correctly, a couple of shaders are required. They are located at `Runtime/Shader/Export`. Make sure to include them all in your build. -The easiest way to include them is to add `glTFExport.shadervariants` to the list of *Preloaded Shaders* under *Project Settings* > *Graphics* > *Shader Loading*. +The easiest way to include them is to add the shader variant collection `glTFExport` to the list of *Preloaded Shaders* under *Project Settings* > *Graphics* > *Shader Loading*. ## Export via Script diff --git a/Documentation~/projectMetadata.json b/Documentation~/projectMetadata.json index 5852d2bdb..c0bff20c8 100644 --- a/Documentation~/projectMetadata.json +++ b/Documentation~/projectMetadata.json @@ -1,3 +1,3 @@ { - "pmdt-additional-preprocessors": "DRACO_IS_INSTALLED;DRACO_IS_RECENT;KTX_IS_INSTALLED;KTX_IS_RECENT;USING_URP;USING_HDRP;USING_HDRP_17_OR_NEWER;UNITY_PHYSICS;UNITY_IMAGECONVERSION;UNITY_WEBREQUEST_TEXTURE;MESHOPT;UNITY_SHADER_GRAPH;UNITY_ANIMATION;UNITY_ENTITIES_GRAPHICS;NEWTONSOFT_JSON;UNITY_COLLECTIONS;UNITY_MATH_1_3_OR_NEWER" + "pmdt-additional-preprocessors": "DRACO_IS_INSTALLED;DRACO_IS_RECENT;KTX_IS_INSTALLED;KTX_IS_RECENT;USING_URP;USING_HDRP;USING_HDRP_17_OR_NEWER;UNITY_PHYSICS;UNITY_IMAGECONVERSION;UNITY_WEBREQUEST_TEXTURE;MESHOPT_IS_RECENT;MESHOPT_IS_INSTALLED;UNITY_SHADER_GRAPH;UNITY_ANIMATION;UNITY_ENTITIES_GRAPHICS;NEWTONSOFT_JSON;UNITY_COLLECTIONS;UNITY_MATH_1_3_OR_NEWER" } diff --git a/Editor/Scripts/AsyncHelpers.cs b/Editor/Scripts/AsyncHelpers.cs index c2bd2bd3a..62d0d117c 100644 --- a/Editor/Scripts/AsyncHelpers.cs +++ b/Editor/Scripts/AsyncHelpers.cs @@ -20,25 +20,32 @@ public static void RunSync(Func task) var sync = new ExclusiveSynchronizationContext(); SynchronizationContext.SetSynchronizationContext(sync); // ReSharper disable once AsyncVoidLambda - sync.Post(async _ => + try { - try + sync.Post(async _ => { - await task(); - } - catch (Exception e) - { - sync.InnerException = e; - throw; - } - finally - { - sync.EndMessageLoop(); - } - }, null); - sync.BeginMessageLoop(); + try + { + await task(); + } + catch (Exception e) + { + sync.InnerException = e; + throw; + } + finally + { + sync.EndMessageLoop(); + } + }, null); - SynchronizationContext.SetSynchronizationContext(oldContext); + sync.BeginMessageLoop(); + } + finally + { + // Always restore the old context, even if there's an exception + SynchronizationContext.SetSynchronizationContext(oldContext); + } } /// @@ -54,24 +61,32 @@ public static T RunSync(Func> task) SynchronizationContext.SetSynchronizationContext(sync); T ret = default(T); // ReSharper disable once AsyncVoidLambda - sync.Post(async _ => + try { - try + sync.Post(async _ => { - ret = await task(); - } - catch (Exception e) - { - sync.InnerException = e; - throw; - } - finally - { - sync.EndMessageLoop(); - } - }, null); - sync.BeginMessageLoop(); - SynchronizationContext.SetSynchronizationContext(oldContext); + try + { + ret = await task(); + } + catch (Exception e) + { + sync.InnerException = e; + throw; + } + finally + { + sync.EndMessageLoop(); + } + }, null); + + sync.BeginMessageLoop(); + } + finally + { + // Always restore the old context, even if there's an exception + SynchronizationContext.SetSynchronizationContext(oldContext); + } return ret; } diff --git a/Runtime/Scripts/DOTS/AssemblyInfo.cs b/Runtime/Scripts/DOTS/AssemblyInfo.cs new file mode 100644 index 000000000..18d79a068 --- /dev/null +++ b/Runtime/Scripts/DOTS/AssemblyInfo.cs @@ -0,0 +1,8 @@ +// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System.Runtime.CompilerServices; +using UnityEngine; + +[assembly: InternalsVisibleTo("glTFast.Tests")] +[assembly: InternalsVisibleTo("glTFast.Tests.OpenDialog")] diff --git a/Runtime/Scripts/DOTS/AssemblyInfo.cs.meta b/Runtime/Scripts/DOTS/AssemblyInfo.cs.meta new file mode 100644 index 000000000..fe31ce26b --- /dev/null +++ b/Runtime/Scripts/DOTS/AssemblyInfo.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2ec27e64b669448cb850f90fd64deda8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/DOTS/EntityInstantiator.cs b/Runtime/Scripts/DOTS/EntityInstantiator.cs index f83c5d061..d0daa64bd 100644 --- a/Runtime/Scripts/DOTS/EntityInstantiator.cs +++ b/Runtime/Scripts/DOTS/EntityInstantiator.cs @@ -1,7 +1,7 @@ // SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 -#if UNITY_ENTITIES_GRAPHICS || UNITY_DOTS_HYBRID +#if UNITY_ENTITIES_GRAPHICS using System; using System.Collections.Generic; @@ -38,7 +38,7 @@ public class EntityInstantiator : IInstantiator { EntityArchetype m_NodeArchetype; EntityArchetype m_SceneArchetype; - Parent m_SceneParent; + List m_Entities; public EntityInstantiator( IGltfReadable gltf, @@ -59,51 +59,35 @@ public void BeginScene( uint[] nodeIndices ) { Profiler.BeginSample("BeginScene"); + m_Entities = new List(); m_Nodes = new Dictionary(); m_EntityManager = World.DefaultGameObjectInjectionWorld.EntityManager; m_NodeArchetype = m_EntityManager.CreateArchetype( typeof(Disabled), -#if UNITY_DOTS_HYBRID - typeof(Translation), - typeof(Rotation), - typeof(LocalToParent), -#else typeof(LocalTransform), -#endif typeof(Parent), typeof(LocalToWorld) ); m_SceneArchetype = m_EntityManager.CreateArchetype( typeof(Disabled), -#if UNITY_DOTS_HYBRID - typeof(Translation), - typeof(Rotation), + typeof(LocalTransform), typeof(LocalToWorld) -#else - typeof(LocalTransform) -#endif ); - if (m_Settings.SceneObjectCreation == SceneObjectCreation.Never - || m_Settings.SceneObjectCreation == SceneObjectCreation.WhenMultipleRootNodes && nodeIndices.Length == 1) { - m_SceneParent.Value = m_Parent; - } - else { - var sceneEntity = m_EntityManager.CreateEntity(m_Parent==Entity.Null ? m_SceneArchetype : m_NodeArchetype); -#if UNITY_DOTS_HYBRID - m_EntityManager.SetComponentData(sceneEntity,new Translation {Value = new float3(0,0,0)}); - m_EntityManager.SetComponentData(sceneEntity,new Rotation {Value = quaternion.identity}); -#else - m_EntityManager.SetComponentData(sceneEntity,LocalTransform.Identity); - m_EntityManager.SetComponentData(sceneEntity, new LocalToWorld{Value = float4x4.identity}); -#endif + var dedicatedSceneEntity = m_Settings.SceneObjectCreation == SceneObjectCreation.Always + || m_Settings.SceneObjectCreation == SceneObjectCreation.WhenMultipleRootNodes && nodeIndices.Length > 1; + + if (dedicatedSceneEntity) { + var sceneEntity = m_EntityManager.CreateEntity(m_Parent == Entity.Null ? m_SceneArchetype : m_NodeArchetype); + m_EntityManager.SetComponentData(sceneEntity, LocalTransform.Identity); + m_EntityManager.SetComponentData(sceneEntity, new LocalToWorld { Value = float4x4.identity }); #if UNITY_EDITOR m_EntityManager.SetName(sceneEntity, name ?? "Scene"); #endif if (m_Parent != Entity.Null) { m_EntityManager.SetComponentData(sceneEntity, new Parent { Value = m_Parent }); } - m_SceneParent.Value = sceneEntity; + m_Entities.Add(sceneEntity); } Profiler.EndSample(); } @@ -124,14 +108,24 @@ public void CreateNode( Vector3 position, Quaternion rotation, Vector3 scale - ) { + ) + { + var parent = new Parent { Value = parentIndex.HasValue ? m_Nodes[parentIndex.Value] : m_Parent }; + var node = CreateNodeInternal(parent, position, rotation, scale); + m_Nodes[nodeIndex] = node; + } + + Entity CreateNodeInternal( + Parent parent, + float3 position, + quaternion rotation, + float3 scale + ) + { Profiler.BeginSample("CreateNode"); - var node = m_EntityManager.CreateEntity(m_NodeArchetype); -#if UNITY_DOTS_HYBRID - m_EntityManager.SetComponentData(node,new Translation {Value = position}); - m_EntityManager.SetComponentData(node,new Rotation {Value = rotation}); - SetEntityScale(node, scale); -#else + var validParent = parent.Value != Entity.Null; + var node = m_EntityManager.CreateEntity(validParent ? m_NodeArchetype : m_SceneArchetype); + m_Entities.Add(node); var isUniformScale = IsUniform(scale); m_EntityManager.SetComponentData( node, @@ -150,28 +144,14 @@ Vector3 scale new PostTransformMatrix { Value = float4x4.Scale(scale) } ); } -#endif - m_Nodes[nodeIndex] = node; - m_EntityManager.SetComponentData( - node, - parentIndex.HasValue - ? new Parent { Value = m_Nodes[parentIndex.Value] } - : m_SceneParent - ); - Profiler.EndSample(); - } -#if UNITY_DOTS_HYBRID - void SetEntityScale(Entity node, Vector3 scale) { - if (!scale.Equals(Vector3.one)) { - if (Math.Abs(scale.x - scale.y) < k_Epsilon && Math.Abs(scale.x - scale.z) < k_Epsilon) { - m_EntityManager.AddComponentData(node, new Scale { Value = scale.x }); - } else { - m_EntityManager.AddComponentData(node, new NonUniformScale { Value = scale }); - } + if (validParent) + { + m_EntityManager.SetComponentData(node, parent); } + Profiler.EndSample(); + return node; } -#endif public void SetNodeName(uint nodeIndex, string name) { #if UNITY_EDITOR @@ -193,57 +173,7 @@ public virtual void AddPrimitive( return; } Profiler.BeginSample("AddPrimitive"); - Entity node; - if(meshNumeration==0) { - // Use Node GameObject for first Primitive - node = m_Nodes[nodeIndex]; - } else { - node = m_EntityManager.CreateEntity(m_NodeArchetype); -#if UNITY_DOTS_HYBRID - m_EntityManager.SetComponentData(node,new Translation {Value = new float3(0,0,0)}); - m_EntityManager.SetComponentData(node,new Rotation {Value = quaternion.identity}); -#else - m_EntityManager.SetComponentData(node,LocalTransform.Identity); -#endif - m_EntityManager.SetComponentData(node, new Parent { Value = m_Nodes[nodeIndex] }); - } - -#if UNITY_DOTS_HYBRID - var hasMorphTargets = meshResult.mesh.blendShapeCount > 0; - - for (var index = 0; index < meshResult.materialIndices.Length; index++) { - var material = m_Gltf.GetMaterial(meshResult.materialIndices[index]) ?? m_Gltf.GetDefaultMaterial(); - RenderMeshUtility.AddComponents( - node, - m_EntityManager, - new RenderMeshDescription( - meshResult.mesh, - material, - layer:m_Settings.Layer, - subMeshIndex:index - ) - ); - - if(joints!=null || hasMorphTargets) { - if (joints != null) { - var bones = new Entity[joints.Length]; - for (var j = 0; j < bones.Length; j++) - { - var jointIndex = joints[j]; - bones[j] = m_Nodes[jointIndex]; - } - // TODO: Store bone entities array somewhere (pendant to SkinnedMeshRenderer.bones) - } - // if (morphTargetWeights!=null) { - // for (var i = 0; i < morphTargetWeights.Length; i++) { - // var weight = morphTargetWeights[i]; - // // TODO set blend shape weight in proper component (pendant to SkinnedMeshRenderer.SetBlendShapeWeight(i, weight); ) - // } - // } - } - } -#else var materials = new Material[meshResult.materialIndices.Length]; for (var index = 0; index < meshResult.materialIndices.Length; index++) { @@ -265,6 +195,23 @@ public virtual void AddPrimitive( for (ushort index = 0; index < meshResult.materialIndices.Length; index++) { + Entity node; + if (meshNumeration == 0 && index == 0) { + // Use node entity for first sub-mesh of first mesh result. + node = m_Nodes[nodeIndex]; + } else { + node = CreateNodeInternal( + new Parent { Value = m_Nodes[nodeIndex] }, + float3.zero, + quaternion.identity, + new float3(1f) + ); +#if UNITY_EDITOR + m_EntityManager.SetName(node, $"Entity-{meshNumeration}-submesh-{index}"); +#endif + m_EntityManager.SetEnabled(node, true); + } + RenderMeshUtility.AddComponents( node, m_EntityManager, @@ -273,18 +220,22 @@ public virtual void AddPrimitive( MaterialMeshInfo.FromRenderMeshArrayIndices( index, 0, -#if UNITY_ENTITIES_1_2_OR_NEWER - index -#else - (sbyte)index +#if !UNITY_ENTITIES_1_2_OR_NEWER + (sbyte) #endif + index ) ); - m_EntityManager.SetComponentData(node, new RenderBounds {Value = meshResult.mesh.bounds.ToAABB()} ); + // Refine RenderBounds + // RenderMeshUtility.AddComponents above already sets RenderBounds, but for the entire mesh. + if (meshResult.mesh.subMeshCount > 1) + { + var subMesh = meshResult.mesh.GetSubMesh(index); + m_EntityManager.SetComponentData(node, new RenderBounds { Value = subMesh.bounds.ToAABB() }); + } } -#endif Profiler.EndSample(); } @@ -303,32 +254,6 @@ public void AddPrimitiveInstanced( return; } Profiler.BeginSample("AddPrimitiveInstanced"); -#if UNITY_DOTS_HYBRID - foreach (var materialIndex in meshResult.materialIndices) { - var material = m_Gltf.GetMaterial(materialIndex) ?? m_Gltf.GetDefaultMaterial(); - material.enableInstancing = true; - var renderMeshDescription = new RenderMeshDescription( - meshResult.mesh, - material, - subMeshIndex:materialIndex - ); - var prototype = m_EntityManager.CreateEntity(m_NodeArchetype); - RenderMeshUtility.AddComponents(prototype,m_EntityManager,renderMeshDescription); - if (scales.HasValue) { - m_EntityManager.AddComponent(prototype); - } - for (var i = 0; i < instanceCount; i++) { - var instance = i>0 ? m_EntityManager.Instantiate(prototype) : prototype; - m_EntityManager.SetComponentData(instance,new Translation {Value = positions?[i] ?? Vector3.zero }); - m_EntityManager.SetComponentData(instance,new Rotation {Value = rotations?[i] ?? Quaternion.identity}); - m_EntityManager.SetComponentData(instance, new Parent { Value = m_Nodes[nodeIndex] }); - if (scales.HasValue) { - m_EntityManager.SetComponentData(instance, new NonUniformScale() { Value = scales.Value[i] }); - } - } - } -#else - var materials = new Material[meshResult.materialIndices.Length]; for (var index = 0; index < meshResult.materialIndices.Length; index++) { @@ -347,58 +272,73 @@ public void AddPrimitiveInstanced( LightProbeUsage = LightProbeUsage.Off, }; + var prototype = m_EntityManager.CreateEntity(m_NodeArchetype); + + if (scales.HasValue) + { + var scale = scales.Value[0]; + m_EntityManager.AddComponent(prototype); + m_EntityManager.SetComponentData( + prototype, + new PostTransformMatrix { Value = float4x4.Scale(scale) } + ); + } + + var transform = new LocalTransform + { + Position = positions?[0] ?? Vector3.zero, + Rotation = rotations?[0] ?? Quaternion.identity, + Scale = 1 + }; + m_EntityManager.AddComponent(prototype); + m_EntityManager.SetComponentData(prototype, transform); + + m_EntityManager.AddComponent(prototype); + m_EntityManager.SetComponentData(prototype, new Parent { Value = m_Nodes[nodeIndex] }); + var renderMeshArray = new RenderMeshArray(materials, new[] { meshResult.mesh }); + RenderMeshUtility.AddComponents( + prototype, + m_EntityManager, + renderMeshDescription, + renderMeshArray, + MaterialMeshInfo.FromRenderMeshArrayIndices(0, 0) + ); + for (ushort index = 0; index < meshResult.materialIndices.Length; index++) { - var prototype = m_EntityManager.CreateEntity(m_NodeArchetype); - m_EntityManager.SetEnabled(prototype, true); - for (var i = 0; i < instanceCount; i++) { - var instance = i>0 ? m_EntityManager.Instantiate(prototype) : prototype; - var transform = new LocalTransform - { - Position = positions?[i] ?? Vector3.zero, - Rotation = rotations?[i] ?? Quaternion.identity, - Scale = 1 - }; + var instance = index == 0 && i == 0 ? prototype : m_EntityManager.Instantiate(prototype); + m_Entities.Add(instance); + + if (positions.HasValue) + transform.Position = positions.Value[i]; + if (rotations.HasValue) + transform.Rotation = rotations.Value[i]; if (scales.HasValue) { - var scale = scales.Value[i]; - var isUniformScale = IsUniform(scale); - if (!isUniformScale) - { - m_EntityManager.AddComponent(instance); - m_EntityManager.SetComponentData(instance,new PostTransformMatrix {Value = float4x4.Scale(scale)}); - } - else - { - transform.Scale = scale.x; - } + m_EntityManager.SetComponentData( + instance, + new PostTransformMatrix { Value = float4x4.Scale(scales.Value[i]) } + ); } - - m_EntityManager.SetComponentData(instance,transform); - m_EntityManager.SetComponentData(instance, new Parent { Value = m_Nodes[nodeIndex] }); + m_EntityManager.SetComponentData(instance, transform); RenderMeshUtility.AddComponents( instance, m_EntityManager, renderMeshDescription, renderMeshArray, - MaterialMeshInfo.FromRenderMeshArrayIndices( - index, - 0, -#if UNITY_ENTITIES_1_2_OR_NEWER - index -#else - (sbyte)index + MaterialMeshInfo.FromRenderMeshArrayIndices(index, 0, +#if !UNITY_ENTITIES_1_2_OR_NEWER + (sbyte) #endif + index ) ); } - } -#endif Profiler.EndSample(); } @@ -425,10 +365,19 @@ uint lightIndex /// public virtual void EndScene(uint[] rootNodeIndices) { Profiler.BeginSample("EndScene"); - m_EntityManager.SetEnabled(m_SceneParent.Value, true); - foreach (var entity in m_Nodes.Values) { - m_EntityManager.SetEnabled(entity, true); + + if (m_Entities.Count > 0) + { + var mainEntity = m_Entities[0]; + var entityGroup = m_EntityManager.AddBuffer(mainEntity); + entityGroup.Capacity = m_Entities.Count; + foreach (var entity in m_Entities) + { + entityGroup.Add(new LinkedEntityGroup { Value = entity }); + } + m_EntityManager.SetEnabled(mainEntity, true); } + Profiler.EndSample(); } @@ -439,4 +388,4 @@ static bool IsUniform(Vector3 scale) } } -#endif // UNITY_DOTS_HYBRID +#endif // UNITY_ENTITIES_GRAPHICS diff --git a/Runtime/Scripts/DOTS/EntityUtils.cs b/Runtime/Scripts/DOTS/EntityUtils.cs new file mode 100644 index 000000000..21783cc05 --- /dev/null +++ b/Runtime/Scripts/DOTS/EntityUtils.cs @@ -0,0 +1,60 @@ +// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +#if UNITY_ENTITIES_GRAPHICS + +using Unity.Burst; +using Unity.Collections; +using Unity.Entities; +using Unity.Mathematics; +using Unity.Transforms; +using UnityEngine; + +namespace GLTFast +{ + [BurstCompile] + static class EntityUtils + { + internal static Entity CreateSceneRootEntity(World world, string name = null) + { + var entityManager = world.EntityManager; + var sceneArchetype = entityManager.CreateArchetype( + typeof(LocalTransform), + typeof(LocalToWorld) + ); + var entity = entityManager.CreateEntity(sceneArchetype); + entityManager.SetComponentData( + entity, + new LocalTransform + { + Position = float3.zero, + Rotation = quaternion.identity, + Scale = 1, + }); + entityManager.SetComponentData(entity, new LocalToWorld { Value = float4x4.identity }); +#if UNITY_EDITOR + entityManager.SetName(entity, string.IsNullOrEmpty(name) ? "glTF" : name); +#endif + return entity; + } + +#if UNITY_ENTITIES_GRAPHICS + [BurstCompile] +#endif + internal static void DestroyChildren(ref Entity rootEntity, ref EntityManager entityManager) + { + var ecb = new EntityCommandBuffer(Allocator.Temp); + if (entityManager.HasComponent(rootEntity)) + { + var children = entityManager.GetBuffer(rootEntity); + foreach (var child in children) + { + ecb.DestroyEntity(child.Value); + } + } + ecb.Playback(entityManager); + ecb.Dispose(); + } + } +} +#endif // UNITY_ENTITIES_GRAPHICS diff --git a/Runtime/Scripts/DOTS/EntityUtils.cs.meta b/Runtime/Scripts/DOTS/EntityUtils.cs.meta new file mode 100644 index 000000000..50fb7543a --- /dev/null +++ b/Runtime/Scripts/DOTS/EntityUtils.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a485f1350c0c249b6ba4b4bcc33b3322 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/DOTS/GltfEntityAsset.cs b/Runtime/Scripts/DOTS/GltfEntityAsset.cs index a5ca47540..099fcb27f 100644 --- a/Runtime/Scripts/DOTS/GltfEntityAsset.cs +++ b/Runtime/Scripts/DOTS/GltfEntityAsset.cs @@ -1,7 +1,7 @@ // SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 -#if UNITY_ENTITIES_GRAPHICS || UNITY_DOTS_HYBRID +#if UNITY_ENTITIES_GRAPHICS using System.IO; using System.Threading.Tasks; @@ -109,30 +109,11 @@ public override async Task Load( return success; } - protected override IInstantiator GetDefaultInstantiator(ICodeLogger logger) { - var entityManager = World.DefaultGameObjectInjectionWorld.EntityManager; - var sceneArchetype = entityManager.CreateArchetype( -#if UNITY_DOTS_HYBRID - typeof(Translation), - typeof(Rotation), - typeof(Scale), - typeof(LocalToWorld) -#else - typeof(LocalTransform), - typeof(LocalToWorld) -#endif - // typeof(LinkedEntityGroup) - ); - m_SceneRoot = entityManager.CreateEntity(sceneArchetype); -#if UNITY_EDITOR - entityManager.SetName(m_SceneRoot, string.IsNullOrEmpty(name) ? "glTF" : name); -#endif -#if UNITY_DOTS_HYBRID - entityManager.SetComponentData(m_SceneRoot,new Translation {Value = transform.position}); - entityManager.SetComponentData(m_SceneRoot,new Rotation {Value = transform.rotation}); - entityManager.SetComponentData(m_SceneRoot,new Scale {Value = transform.localScale.x}); - // entityManager.AddBuffer(sceneRoot); -#else + protected override IInstantiator GetDefaultInstantiator(ICodeLogger logger) + { + var world = World.DefaultGameObjectInjectionWorld; + var entityManager = world.EntityManager; + m_SceneRoot = EntityUtils.CreateSceneRootEntity(world, name); var transformCached = transform; entityManager.SetComponentData( m_SceneRoot, @@ -143,7 +124,6 @@ protected override IInstantiator GetDefaultInstantiator(ICodeLogger logger) { Scale = transformCached.localScale.x, }); entityManager.SetComponentData(m_SceneRoot, new LocalToWorld{Value = float4x4.identity}); -#endif return new EntityInstantiator(Importer, m_SceneRoot, logger, instantiationSettings); } @@ -156,39 +136,12 @@ protected override void PostInstantiation(IInstantiator instantiator, bool succe /// public override void ClearScenes() { if (m_SceneRoot != Entity.Null) { - var world = World.DefaultGameObjectInjectionWorld; - var entityManager = world.EntityManager; - DestroyEntityHierarchy(ref m_SceneRoot, ref entityManager); + var entityManager = World.DefaultGameObjectInjectionWorld.EntityManager; + EntityUtils.DestroyChildren(ref m_SceneRoot, ref entityManager); + entityManager.DestroyEntity(m_SceneRoot); m_SceneRoot = Entity.Null; } } - -#if UNITY_ENTITIES_GRAPHICS - [BurstCompile] -#endif - static void DestroyEntityHierarchy(ref Entity rootEntity, ref EntityManager entityManager) { - var ecb = new EntityCommandBuffer(Allocator.Temp); - DestroyEntity(ref rootEntity, ref entityManager, ref ecb); - ecb.Playback(entityManager); - ecb.Dispose(); - } - -#if UNITY_ENTITIES_GRAPHICS - [BurstCompile] -#endif - static void DestroyEntity(ref Entity entity, ref EntityManager entityManager, ref EntityCommandBuffer ecb) - { - if (entityManager.HasComponent(entity)) { - var children = entityManager.GetBuffer(entity); - foreach (var child in children) - { - var c = child.Value; - DestroyEntity(ref c, ref entityManager, ref ecb); - } - } - - ecb.DestroyEntity(entity); - } } } -#endif // UNITY_DOTS_HYBRID +#endif // UNITY_ENTITIES_GRAPHICS diff --git a/Runtime/Scripts/DOTS/GltfEntityAsset.cs.meta b/Runtime/Scripts/DOTS/GltfEntityAsset.cs.meta index ca6830efa..3d718989e 100644 --- a/Runtime/Scripts/DOTS/GltfEntityAsset.cs.meta +++ b/Runtime/Scripts/DOTS/GltfEntityAsset.cs.meta @@ -5,7 +5,7 @@ MonoImporter: serializedVersion: 2 defaultReferences: [] executionOrder: 0 - icon: {instanceID: 0} + icon: {fileID: 2800000, guid: 3b6a1cb26d29941f2a3cc902680e2e03, type: 3} userData: assetBundleName: assetBundleVariant: diff --git a/Runtime/Scripts/DOTS/glTFast.dots.asmdef b/Runtime/Scripts/DOTS/glTFast.dots.asmdef index a69082856..097c1ab20 100644 --- a/Runtime/Scripts/DOTS/glTFast.dots.asmdef +++ b/Runtime/Scripts/DOTS/glTFast.dots.asmdef @@ -22,11 +22,6 @@ "autoReferenced": true, "defineConstraints": [], "versionDefines": [ - { - "name": "com.unity.rendering.hybrid", - "expression": "0.49.0", - "define": "UNITY_DOTS_HYBRID" - }, { "name": "com.unity.modules.animation", "expression": "1.0.0", diff --git a/Runtime/Scripts/DataUri.cs b/Runtime/Scripts/DataUri.cs new file mode 100644 index 000000000..acc807b73 --- /dev/null +++ b/Runtime/Scripts/DataUri.cs @@ -0,0 +1,163 @@ +// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +#if !UNITY_WEBGL || UNITY_EDITOR +#define GLTFAST_THREADS +#endif + +using System; +using System.Threading.Tasks; +using Unity.Collections; +using UnityEngine; +using UnityEngine.Profiling; + +namespace GLTFast +{ + class DataUri + { + /// + /// Base 64 string to byte array decode speed in bytes per second + /// Measurements based on a MacBook Pro Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz + /// and reduced by ~ 20% + /// + const int k_Base64DecodeSpeed = +#if UNITY_EDITOR + 60_000_000; +#else + 150_000_000; +#endif + + public static async ValueTask> DecodeDataUriAsync( + string dataUri, + int startIndex, + int byteLength, + IDeferAgent deferAgent, + bool timeCritical = false + ) + { + var predictedTime = dataUri.Length / (float)k_Base64DecodeSpeed; +#if MEASURE_TIMINGS + var stopWatch = new Stopwatch(); + stopWatch.Start(); +#elif GLTFAST_THREADS + if (!timeCritical || deferAgent.ShouldDefer(predictedTime)) + { + return await Task.Run(() => DecodeDataUri(dataUri, startIndex, byteLength)); + } +#endif + await deferAgent.BreakPoint(predictedTime); + var result = DecodeDataUri(dataUri, startIndex, byteLength); +#if MEASURE_TIMINGS + stopWatch.Stop(); + var elapsedSeconds = stopWatch.ElapsedMilliseconds / 1000f; + var relativeDiff = (elapsedSeconds-predictedTime) / predictedTime; + if (Mathf.Abs(relativeDiff) > .2f) { + Debug.LogWarning($"Base 64 unexpected duration! diff: {relativeDiff:0.00}% predicted: {predictedTime} sec actual: {elapsedSeconds} sec"); + } + var throughput = dataUri.Length / elapsedSeconds; + Debug.Log($"Base 64 throughput: {throughput} bytes/sec ({dataUri.Length} bytes in {elapsedSeconds} seconds)"); +#endif + return result; + } + +#if !UNITY_6000_0_OR_NEWER + public static async ValueTask DecodeDataUriToManagedArrayAsync( + string dataUri, + int startIndex, + int byteLength, + IDeferAgent deferAgent, + bool timeCritical = false + ) + { + var predictedTime = dataUri.Length / (float)k_Base64DecodeSpeed; +#if GLTFAST_THREADS + if (!timeCritical || deferAgent.ShouldDefer(predictedTime)) + { + return await Task.Run(() => DecodeDataUriToManagedArray(dataUri, startIndex, byteLength)); + } +#endif + await deferAgent.BreakPoint(predictedTime); + var result = DecodeDataUriToManagedArray(dataUri, startIndex, byteLength); + return result; + } +#endif // !UNITY_6000_0_OR_NEWER + + public static bool TryGetImageDataUriDescriptor( + string dataUri, + out ImageFormat imageFormat, + out int startIndex, + out int byteLength + ) + { + if (TryGetDataUriDescriptor( + dataUri, out var mimeType, out startIndex, out byteLength)) + { + imageFormat = ImageFormatExtensions.FromMimeType(mimeType); + return true; + } + + imageFormat = ImageFormat.Unknown; + return false; + } + + public static bool TryGetDataUriDescriptor(string dataUri, out ReadOnlySpan mimeType, out int startIndex, out int byteLength) + { + var mediaTypeEnd = dataUri.IndexOf(';', 5, Math.Min(dataUri.Length - 5, 1000)); + if (mediaTypeEnd < 0) + { + Profiler.EndSample(); + mimeType = null; + startIndex = 0; + byteLength = -1; + return false; + } + mimeType = dataUri.AsSpan(5, mediaTypeEnd - 5); + if (!dataUri.AsSpan(mediaTypeEnd + 1, 7).SequenceEqual("base64,")) + { + Profiler.EndSample(); + startIndex = 0; + byteLength = -1; + return false; + } + var padding = 0; + if (dataUri.Length > 0 && dataUri[^1] == '=') + { + padding = dataUri.Length > 1 && dataUri[^2] == '=' ? 2 : 1; + } + + startIndex = mediaTypeEnd + 8; + byteLength = ((dataUri.Length - startIndex) * 3 + 3) / 4 - padding; + return true; + } + + static NativeArray DecodeDataUri(string dataUri, int startIndex, int dataLength) + { + Profiler.BeginSample("DecodeDataUri"); + var data = new NativeArray(dataLength, Allocator.Persistent); + if (!Convert.TryFromBase64Chars(dataUri.AsSpan(startIndex), data.AsSpan(), out var bytesWritten) + || bytesWritten != dataLength) + { + // Invalidate buffer to signal decoding failed. + data.Dispose(); + } + Profiler.EndSample(); + return data; + } + +#if !UNITY_6000_0_OR_NEWER + static byte[] DecodeDataUriToManagedArray(string dataUri, int startIndex, int dataLength) + { + Profiler.BeginSample("DecodeDataUriToManagedArray"); + var data = new byte[dataLength]; + if (!Convert.TryFromBase64Chars(dataUri.AsSpan(startIndex), data.AsSpan(), out var bytesWritten) + || bytesWritten != dataLength) + { + // Invalidate buffer to signal decoding failed. + data = null; + } + Profiler.EndSample(); + return data; + } +#endif // !UNITY_6000_0_OR_NEWER + } +} diff --git a/Runtime/Scripts/DataUri.cs.meta b/Runtime/Scripts/DataUri.cs.meta new file mode 100644 index 000000000..963280209 --- /dev/null +++ b/Runtime/Scripts/DataUri.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: efb2b98de420048b5800c69688ffe0a6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/Export/Constants.cs b/Runtime/Scripts/Export/Constants.cs index 37a682404..21e76efd1 100644 --- a/Runtime/Scripts/Export/Constants.cs +++ b/Runtime/Scripts/Export/Constants.cs @@ -7,7 +7,7 @@ namespace GLTFast.Export { static class Constants { - public const string version = "6.15.0"; + public const string version = "6.15.1"; internal const string mimeTypePNG = "image/png"; internal const string mimeTypeJPG = "image/jpeg"; diff --git a/Runtime/Scripts/Export/GltfWriter.cs b/Runtime/Scripts/Export/GltfWriter.cs index 183e486a1..b8b1a6db0 100755 --- a/Runtime/Scripts/Export/GltfWriter.cs +++ b/Runtime/Scripts/Export/GltfWriter.cs @@ -156,14 +156,14 @@ public uint AddNode( } /// - [Obsolete("Use overload with skinning parameter.")] + [Obsolete("Use overload with joints parameter.")] public void AddMeshToNode(int nodeId, UnityEngine.Mesh uMesh, int[] materialIds) { AddMeshToNode(nodeId, uMesh, materialIds, true); } /// - [Obsolete("Use overload with skinning parameter.")] + [Obsolete("Use overload with joints parameter.")] public void AddMeshToNode(int nodeId, UnityEngine.Mesh uMesh, int[] materialIds, bool skinning) { AddMeshToNode(nodeId, uMesh, materialIds, null); @@ -496,7 +496,11 @@ public void RegisterExtensionUsage(Extension extension, bool required = true) /// public async Task SaveToFileAndDispose(string path) { + return await SaveToFileAndDisposeInternal(path, false); + } + internal async Task SaveToFileAndDisposeInternal(string path, bool sync) + { CertifyNotDisposed(); var ext = Path.GetExtension(path); @@ -515,7 +519,7 @@ public async Task SaveToFileAndDispose(string path) } var outStream = new FileStream(path, FileMode.Create); - var success = await SaveAndDispose(outStream, bufferPath, Path.GetDirectoryName(path)); + var success = await SaveAndDispose(outStream, sync, bufferPath, Path.GetDirectoryName(path)); outStream.Close(); return success; } @@ -532,10 +536,15 @@ public async Task SaveToStreamAndDispose(Stream stream) return false; } - return await SaveAndDispose(stream); + return await SaveAndDispose(stream, false); } - async Task SaveAndDispose(Stream outStream, string bufferPath = null, string directory = null) + async Task SaveAndDispose( + Stream outStream, + bool sync, + string bufferPath = null, + string directory = null + ) { #if DEBUG @@ -545,7 +554,7 @@ async Task SaveAndDispose(Stream outStream, string bufferPath = null, stri #endif m_BufferPath = bufferPath; - var success = await Bake(Path.GetFileName(m_BufferPath), directory); + var success = await Bake(Path.GetFileName(m_BufferPath), directory, sync); if (!success) { @@ -560,8 +569,8 @@ async Task SaveAndDispose(Stream outStream, string bufferPath = null, stri const uint chunkOverhead = 8; // 4 bytes chunk length + 4 bytes chunk type (uint each) if (isBinary) { - await WriteBytesToStream(outStream, BitConverter.GetBytes(GltfGlobals.GltfBinaryMagic)); - await WriteBytesToStream(outStream, BitConverter.GetBytes((uint)2)); + await WriteBytesToStream(outStream, BitConverter.GetBytes(GltfGlobals.GltfBinaryMagic), sync); + await WriteBytesToStream(outStream, BitConverter.GetBytes((uint)2), sync); MemoryStream jsonStream = null; uint jsonLength; @@ -577,13 +586,13 @@ async Task SaveAndDispose(Stream outStream, string bufferPath = null, stri { outStream.WriteByte(0); } - await WriteJsonToStream(outStream); + await WriteJsonToStream(outStream, sync); jsonLength = (uint)(outStream.Length - headerSize - chunkOverhead); } else { jsonStream = new MemoryStream(); - await WriteJsonToStream(jsonStream); + await WriteJsonToStream(jsonStream, sync); jsonLength = (uint)jsonStream.Length; } LogSummary(jsonLength, m_BufferStream?.Length ?? 0); @@ -602,10 +611,10 @@ async Task SaveAndDispose(Stream outStream, string bufferPath = null, stri outStream.Seek(8, SeekOrigin.Begin); } - await WriteBytesToStream(outStream, BitConverter.GetBytes(totalLength)); + await WriteBytesToStream(outStream, BitConverter.GetBytes(totalLength), sync); - await WriteBytesToStream(outStream, BitConverter.GetBytes((uint)(jsonLength + jsonPad))); - await WriteBytesToStream(outStream, BitConverter.GetBytes((uint)ChunkFormat.Json)); + await WriteBytesToStream(outStream, BitConverter.GetBytes((uint)(jsonLength + jsonPad)), sync); + await WriteBytesToStream(outStream, BitConverter.GetBytes((uint)ChunkFormat.Json), sync); if (outStreamCanSeek) { @@ -624,16 +633,23 @@ async Task SaveAndDispose(Stream outStream, string bufferPath = null, stri if (hasBufferContent) { - await WriteBytesToStream(outStream, BitConverter.GetBytes((uint)(m_BufferStream.Length + binPad))); - await WriteBytesToStream(outStream, BitConverter.GetBytes((uint)ChunkFormat.Binary)); + await WriteBytesToStream( + outStream, BitConverter.GetBytes((uint)(m_BufferStream.Length + binPad)), sync); + await WriteBytesToStream( + outStream, BitConverter.GetBytes((uint)ChunkFormat.Binary), sync); var ms = (MemoryStream)m_BufferStream; ms.WriteTo(outStream); -#if UNITY_WEBGL && !UNITY_EDITOR // FlushAsync never finishes on the Web, so doing it in sync - ms.Flush(); -#else - await ms.FlushAsync(); +#if !UNITY_WEBGL || UNITY_EDITOR + if (!sync) + { + await ms.FlushAsync(); + } + else #endif + { + ms.Flush(); + } for (var i = 0; i < binPad; i++) { outStream.WriteByte(0); @@ -642,7 +658,7 @@ async Task SaveAndDispose(Stream outStream, string bufferPath = null, stri } else { - await WriteJsonToStream(outStream); + await WriteJsonToStream(outStream, sync); var jsonLength = 0u; if (outStream.CanSeek) { @@ -655,21 +671,33 @@ async Task SaveAndDispose(Stream outStream, string bufferPath = null, stri return true; } - static async Task WriteBytesToStream(Stream outStream, byte[] bytes) + static async Task WriteBytesToStream(Stream outStream, byte[] bytes, bool sync) { - await outStream.WriteAsync(bytes); + if (sync) + { + outStream.Write(bytes); + } + else + { + await outStream.WriteAsync(bytes); + } } - async Task WriteJsonToStream(Stream outStream) + async Task WriteJsonToStream(Stream outStream, bool sync) { var writer = new StreamWriter(outStream); m_Gltf.GltfSerialize(writer); -#if UNITY_WEBGL && !UNITY_EDITOR // FlushAsync never finishes on the Web, so doing it in sync - writer.Flush(); -#else - await writer.FlushAsync(); +#if !UNITY_WEBGL || UNITY_EDITOR + if (!sync) + { + await writer.FlushAsync(); + } + else #endif + { + writer.Flush(); + } } void CertifyNotDisposed() @@ -714,20 +742,20 @@ void LogSummary(long jsonLength, long bufferLength) #endif } - async Task Bake(string bufferPath, string directory) + async Task Bake(string bufferPath, string directory, bool sync) { var success = true; if (m_Meshes != null && m_Meshes.Count > 0) { - success = await BakeMeshes(); + success = await BakeMeshes(sync); if (!success) return false; } AssignBindPosesToSkins(); AssignMaterialsToMeshes(); - success = await BakeImages(directory); + success = await BakeImages(directory, sync); if (!success) return false; @@ -885,7 +913,7 @@ int DuplicateMesh(int meshId) return m_Meshes.Count - 1; } - async Task BakeMeshes() + async Task BakeMeshes(bool sync) { Profiler.BeginSample("AcquireReadOnlyMeshData"); @@ -913,7 +941,7 @@ async Task BakeMeshes() return false; } - var tasks = m_Settings.Deterministic ? null : new List(m_Meshes.Count); + var tasks = m_Settings.Deterministic && !sync ? null : new List(m_Meshes.Count); var meshData = CollectMeshData(out var meshDataArray); @@ -924,26 +952,29 @@ async Task BakeMeshes() #if DRACO_IS_INSTALLED if ((m_Settings.Compression & Compression.Draco) != 0) { - task = BakeMeshDraco(meshId); + task = BakeMeshDraco(meshId, sync); } else #endif { - task = BakeMesh(meshId, meshData[meshId]); + task = BakeMesh(meshId, meshData[meshId], sync); } - if (m_Settings.Deterministic || tasks == null) + if (!sync) { - await task; - } - else - { - tasks.Add(task); + if (m_Settings.Deterministic || tasks == null) + { + await task; + } + else + { + tasks.Add(task); + } + await m_DeferAgent.BreakPoint(); } - await m_DeferAgent.BreakPoint(); } - if (!m_Settings.Deterministic) + if (!sync && !m_Settings.Deterministic) { await Task.WhenAll(tasks); } @@ -1030,9 +1061,8 @@ IMeshData[] CollectMeshData(out UnityEngine.Mesh.MeshDataArray? meshDataArray) return meshData; } - async Task BakeMesh(int meshId, IMeshData meshData) + async Task BakeMesh(int meshId, IMeshData meshData, bool sync) { - Profiler.BeginSample("BakeMesh 1"); var mesh = m_Meshes[meshId]; @@ -1145,7 +1175,7 @@ async Task BakeMesh(int meshId, IMeshData meshData) } } - await ExportBindPoses(meshId, uMesh); + await ExportBindPoses(meshId, uMesh, sync); var streamCount = 1; for (var stream = 0; stream < outputStrides.Length; stream++) @@ -1215,7 +1245,7 @@ async Task BakeMesh(int meshId, IMeshData meshData) return; } - var indexBufferViewId = await BakeMeshIndices(meshData, uMesh, topology); + var indexBufferViewId = await BakeMeshIndices(meshData, uMesh, topology, sync); foreach (var accessor in indexAccessors) { @@ -1229,9 +1259,10 @@ async Task BakeMesh(int meshId, IMeshData meshData) { inputStreams[stream] = #if ASYNC_MESH_DATA - await -#endif + await meshData.GetVertexData(stream, sync); +#else meshData.GetVertexData(stream); +#endif outputStreams[stream] = new NativeArray(outputStrides[stream] * vertexCount, Allocator.Persistent); } @@ -1250,7 +1281,8 @@ await ConvertPositionAttribute( (uint)outputStrides[attrData.descriptor.stream], vertexCount, inputStreams[attrData.descriptor.stream], - outputStreams[attrData.descriptor.stream] + outputStreams[attrData.descriptor.stream], + sync ); break; case VertexAttribute.Tangent: @@ -1260,7 +1292,8 @@ await ConvertTangentAttribute( (uint)outputStrides[attrData.descriptor.stream], vertexCount, inputStreams[attrData.descriptor.stream], - outputStreams[attrData.descriptor.stream] + outputStreams[attrData.descriptor.stream], + sync ); break; case VertexAttribute.TexCoord0: @@ -1277,7 +1310,8 @@ await ConvertTexCoordAttribute( (uint)outputStrides[attrData.descriptor.stream], vertexCount, inputStreams[attrData.descriptor.stream], - outputStreams[attrData.descriptor.stream] + outputStreams[attrData.descriptor.stream], + sync ); break; case VertexAttribute.Color: @@ -1288,7 +1322,8 @@ await ConvertSkinWeightsAttribute( (uint)outputStrides[attrData.descriptor.stream], vertexCount, inputStreams[attrData.descriptor.stream], - outputStreams[attrData.descriptor.stream] + outputStreams[attrData.descriptor.stream], + sync ); break; case VertexAttribute.BlendIndices: @@ -1300,7 +1335,8 @@ await ConvertSkinIndicesAttributes( (uint)outputStrides[attrData.descriptor.stream], vertexCount, inputStreams[attrData.descriptor.stream], - outputStreams[attrData.descriptor.stream] + outputStreams[attrData.descriptor.stream], + sync ); Profiler.EndSample(); break; @@ -1311,7 +1347,8 @@ await ConvertGenericAttribute( (uint)outputStrides[attrData.descriptor.stream], vertexCount, inputStreams[attrData.descriptor.stream], - outputStreams[attrData.descriptor.stream] + outputStreams[attrData.descriptor.stream], + sync ); break; } @@ -1342,16 +1379,18 @@ await ConvertGenericAttribute( } } - async Task BakeMeshIndices(IMeshData meshData, UnityEngine.Mesh uMesh, MeshTopology? topology) + async Task BakeMeshIndices(IMeshData meshData, UnityEngine.Mesh uMesh, MeshTopology? topology, bool sync) { NativeArray indices; if (uMesh.indexFormat == IndexFormat.UInt16) { using var indexData16 = #if ASYNC_MESH_DATA - await -#endif + await ((IMeshData)meshData).GetIndexData(sync); +#else ((IMeshData)meshData).GetIndexData(); +#endif + NativeArray destIndices; JobHandle job = default; if (topology.Value == MeshTopology.Quads) @@ -1407,9 +1446,11 @@ JobHandle ConvertSubmeshIndices(int submeshIndex, JobHandle dependency) } Profiler.EndSample(); } - while (!job.IsCompleted) + + if (!sync) { - await Task.Yield(); + while (!job.IsCompleted) + await Task.Yield(); } job.Complete(); indices = destIndices.Reinterpret(sizeof(ushort)); @@ -1418,9 +1459,10 @@ JobHandle ConvertSubmeshIndices(int submeshIndex, JobHandle dependency) { using var indexData32 = #if ASYNC_MESH_DATA - await -#endif + await ((IMeshData)meshData).GetIndexData(sync); +#else ((IMeshData)meshData).GetIndexData(); +#endif NativeArray destIndices; JobHandle job = default; if (topology.Value == MeshTopology.Quads) @@ -1478,9 +1520,10 @@ JobHandle ConvertSubmeshIndices(int submeshIndex, JobHandle dependency) } Profiler.EndSample(); } - while (!job.IsCompleted) + if (!sync) { - await Task.Yield(); + while (!job.IsCompleted) + await Task.Yield(); } job.Complete(); @@ -1498,7 +1541,7 @@ JobHandle ConvertSubmeshIndices(int submeshIndex, JobHandle dependency) return indexBufferViewId; } - async Task ExportBindPoses(int meshId, UnityEngine.Mesh uMesh) + async Task ExportBindPoses(int meshId, UnityEngine.Mesh uMesh, bool sync) { // Add skin var bindposes = uMesh.bindposes; @@ -1516,12 +1559,12 @@ async Task ExportBindPoses(int meshId, UnityEngine.Mesh uMesh) m_MeshBindPoses ??= new Dictionary(); m_MeshBindPoses[meshId] = accessorId; - var bufferViewId = await WriteBindPosesToBuffer(bindposes); + var bufferViewId = await WriteBindPosesToBuffer(bindposes, sync); accessor.bufferView = bufferViewId; } } - async Task WriteBindPosesToBuffer(Matrix4x4[] bindposes) + async Task WriteBindPosesToBuffer(Matrix4x4[] bindposes, bool sync) { var bufferViewId = -1; #pragma warning disable CS0618 // Type or member is obsolete @@ -1535,9 +1578,10 @@ async Task WriteBindPosesToBuffer(Matrix4x4[] bindposes) matrices = matrices }.Schedule(bindposes.Length, k_DefaultInnerLoopBatchCount); - while (!job.IsCompleted) + if (!sync) { - await Task.Yield(); + while (!job.IsCompleted) + await Task.Yield(); } job.Complete(); bufferViewId = WriteBufferViewToBuffer( @@ -1549,7 +1593,7 @@ async Task WriteBindPosesToBuffer(Matrix4x4[] bindposes) } #if DRACO_IS_INSTALLED - async Task BakeMeshDraco(int meshId) + async Task BakeMeshDraco(int meshId, bool sync) { var mesh = m_Meshes[meshId]; var unityMesh = m_UnityMeshes[meshId]; @@ -1565,6 +1609,8 @@ async Task BakeMeshDraco(int meshId) } } + Assert.IsFalse(sync, "Draco mesh compression cannot be performed in synchronous mode."); + var results = await DracoEncoder.EncodeMesh( unityMesh, (QuantizationSettings) m_Settings.DracoSettings, @@ -1645,7 +1691,7 @@ async Task BakeMeshDraco(int meshId) }; } - await ExportBindPoses(meshId, unityMesh); + await ExportBindPoses(meshId, unityMesh, sync); } static void SetAttributesByType( @@ -1726,7 +1772,7 @@ int AddAccessor(Accessor accessor) return accessorId; } - async Task BakeImages(string directory) + async Task BakeImages(string directory, bool sync) { if (m_ImageExports != null) { @@ -1824,7 +1870,8 @@ bool GetUniqueFileName(ref string filename) m_Images[imageId] = null; } } - await m_DeferAgent.BreakPoint(); + if (!sync) + await m_DeferAgent.BreakPoint(); } } @@ -1838,13 +1885,15 @@ static async Task ConvertSkinWeightsAttribute( uint outputByteStride, int vertexCount, NativeArray inputStream, - NativeArray outputStream + NativeArray outputStream, + bool sync ) { var job = ConvertSkinWeightsAttributeJob(attrData, inputByteStride, outputByteStride, vertexCount, inputStream, outputStream); - while (!job.IsCompleted) + if (!sync) { - await Task.Yield(); + while (!job.IsCompleted) + await Task.Yield(); } job.Complete(); // TODO: Wait until thread is finished } @@ -1855,7 +1904,8 @@ static async Task ConvertPositionAttribute( uint outputByteStride, int vertexCount, NativeArray inputStream, - NativeArray outputStream + NativeArray outputStream, + bool sync ) { var job = CreateConvertPositionAttributeJob( @@ -1866,9 +1916,10 @@ NativeArray outputStream inputStream, outputStream ); - while (!job.IsCompleted) + if (!sync) { - await Task.Yield(); + while (!job.IsCompleted) + await Task.Yield(); } job.Complete(); } @@ -1908,7 +1959,8 @@ static async Task ConvertTangentAttribute( uint outputByteStride, int vertexCount, NativeArray inputStream, - NativeArray outputStream + NativeArray outputStream, + bool sync ) { var job = CreateConvertTangentAttributeJob( @@ -1919,9 +1971,10 @@ NativeArray outputStream inputStream, outputStream ); - while (!job.IsCompleted) + if (!sync) { - await Task.Yield(); + while (!job.IsCompleted) + await Task.Yield(); } job.Complete(); } @@ -1961,7 +2014,8 @@ static async Task ConvertTexCoordAttribute( uint outputByteStride, int vertexCount, NativeArray inputStream, - NativeArray outputStream + NativeArray outputStream, + bool sync ) { var job = CreateConvertTexCoordAttributeJob( @@ -1971,9 +2025,10 @@ NativeArray outputStream vertexCount, inputStream, outputStream); - while (!job.IsCompleted) + if (!sync) { - await Task.Yield(); + while (!job.IsCompleted) + await Task.Yield(); } job.Complete(); } @@ -1984,7 +2039,8 @@ static async Task ConvertGenericAttribute( uint outputByteStride, int vertexCount, NativeArray inputStream, - NativeArray outputStream + NativeArray outputStream, + bool sync ) { var job = CreateConvertGenericAttributeJob( @@ -1994,9 +2050,10 @@ NativeArray outputStream vertexCount, inputStream, outputStream); - while (!job.IsCompleted) + if (!sync) { - await Task.Yield(); + while (!job.IsCompleted) + await Task.Yield(); } job.Complete(); } @@ -2054,13 +2111,15 @@ static async Task ConvertSkinIndicesAttributes( uint outputByteStride, int vertexCount, NativeArray input, - NativeArray output + NativeArray output, + bool sync ) { var job = CreateConvertSkinIndicesAttributesJob(indicesAttrData, inputByteStride, outputByteStride, vertexCount, input, output); - while (!job.IsCompleted) + if (!sync) { - await Task.Yield(); + while (!job.IsCompleted) + await Task.Yield(); } job.Complete(); } diff --git a/Runtime/Scripts/Export/IMeshData.cs b/Runtime/Scripts/Export/IMeshData.cs index ef5fbbfc3..e8375c0fd 100644 --- a/Runtime/Scripts/Export/IMeshData.cs +++ b/Runtime/Scripts/Export/IMeshData.cs @@ -23,7 +23,7 @@ interface IMeshData int GetIndexCount(int subMesh); #if ASYNC_MESH_DATA - Task> GetVertexData(int stream); + Task> GetVertexData(int stream, bool sync); #else NativeArray GetVertexData(int stream); #endif @@ -32,7 +32,7 @@ interface IMeshData interface IMeshData : IMeshData where TIndex : unmanaged { #if ASYNC_MESH_DATA - Task> GetIndexData(); + Task> GetIndexData(bool sync); #else NativeArray GetIndexData(); #endif diff --git a/Runtime/Scripts/Export/MeshDataProxy.cs b/Runtime/Scripts/Export/MeshDataProxy.cs index 069a12c62..5abaefe12 100644 --- a/Runtime/Scripts/Export/MeshDataProxy.cs +++ b/Runtime/Scripts/Export/MeshDataProxy.cs @@ -36,12 +36,12 @@ public int GetIndexCount(int subMesh) } #if ASYNC_MESH_DATA - public Task> GetIndexData() + public Task> GetIndexData(bool sync) { return Task.FromResult(m_MeshData.GetIndexData()); } - public Task> GetVertexData(int stream) + public Task> GetVertexData(int stream, bool sync) { return Task.FromResult(m_MeshData.GetVertexData(stream)); } diff --git a/Runtime/Scripts/Export/NonReadableMeshData.cs b/Runtime/Scripts/Export/NonReadableMeshData.cs index 48eb73a51..ba00c71f6 100644 --- a/Runtime/Scripts/Export/NonReadableMeshData.cs +++ b/Runtime/Scripts/Export/NonReadableMeshData.cs @@ -42,7 +42,7 @@ public int GetIndexCount(int subMesh) #if ASYNC_MESH_DATA - public async Task> GetIndexData() + public async Task> GetIndexData(bool sync) #else public NativeArray GetIndexData() #endif @@ -51,12 +51,18 @@ public NativeArray GetIndexData() { using var indexBuffer = m_Mesh.GetIndexBuffer(); m_IndexData = new NativeArray(indexBuffer.count, Allocator.Persistent); + AsyncGPUReadbackRequest request; #if ASYNC_MESH_DATA - var request = await AsyncGPUReadback.RequestIntoNativeArrayAsync(ref m_IndexData, indexBuffer); -#else - var request = AsyncGPUReadback.RequestIntoNativeArray(ref m_IndexData, indexBuffer); - request.WaitForCompletion(); + if (!sync) + { + request = await AsyncGPUReadback.RequestIntoNativeArrayAsync(ref m_IndexData, indexBuffer); + } + else #endif + { + request = AsyncGPUReadback.RequestIntoNativeArray(ref m_IndexData, indexBuffer); + request.WaitForCompletion(); + } Assert.IsTrue(request.done); Assert.IsFalse(request.hasError); } @@ -64,7 +70,7 @@ public NativeArray GetIndexData() } #if ASYNC_MESH_DATA - public async Task> GetVertexData(int stream) + public async Task> GetVertexData(int stream, bool sync) #else public NativeArray GetVertexData(int stream) #endif @@ -75,12 +81,18 @@ public NativeArray GetVertexData(int stream) { using var vertexBuffer = m_Mesh.GetVertexBuffer(stream); m_VertexData[stream] = new NativeArray(vertexBuffer.count * vertexBuffer.stride, Allocator.Persistent); + AsyncGPUReadbackRequest request; #if ASYNC_MESH_DATA - var request = await AsyncGPUReadback.RequestIntoNativeArrayAsync(ref m_VertexData[stream], vertexBuffer); -#else - var request = AsyncGPUReadback.RequestIntoNativeArray(ref m_VertexData[stream], vertexBuffer); - request.WaitForCompletion(); + if (!sync) + { + request = await AsyncGPUReadback.RequestIntoNativeArrayAsync(ref m_VertexData[stream], vertexBuffer); + } + else #endif + { + request = AsyncGPUReadback.RequestIntoNativeArray(ref m_VertexData[stream], vertexBuffer); + request.WaitForCompletion(); + } Assert.IsTrue(request.done); Assert.IsFalse(request.hasError); } diff --git a/Runtime/Scripts/GltfImport.cs b/Runtime/Scripts/GltfImport.cs index efbba3da1..a5a056035 100755 --- a/Runtime/Scripts/GltfImport.cs +++ b/Runtime/Scripts/GltfImport.cs @@ -2,6 +2,7 @@ // SPDX-License-Identifier: Apache-2.0 #if !UNITY_WEBGL || UNITY_EDITOR +// Depicts whether managed scripting threads are available. #define GLTFAST_THREADS #endif @@ -17,6 +18,12 @@ #error You have to update the *Draco for Unity* package in package manager to enable support for decompressing Draco meshes in *glTFast*. #endif +#if MESHOPT_IS_RECENT +#define MESHOPT_IS_ENABLED +#elif MESHOPT_IS_INSTALLED +#error You have to update the *meshoptimizer mesh compression for Unity* package in package manager to enable support for decoding meshoptimizer compressed buffer views in *glTFast*. +#endif + // #define MEASURE_TIMINGS using System.Collections.Generic; @@ -33,11 +40,12 @@ #if KTX_IS_ENABLED using KtxUnity; #endif -#if MESHOPT +#if MESHOPT_IS_ENABLED using Meshoptimizer; #endif using Unity.Collections.LowLevel.Unsafe; using Unity.Collections; +using Unity.IO.LowLevel.Unsafe; using Unity.Jobs; using Unity.Mathematics; #if UNITY_EDITOR @@ -134,18 +142,21 @@ public abstract class GltfImportBase : IGltfReadable, IGltfBuffers, IDisposable #else 80_000_000; #endif - /// - /// Base 64 string to byte array decode speed in bytes per second - /// Measurements based on a MacBook Pro Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz - /// and reduced by ~ 20% - /// - const int k_Base64DecodeSpeed = + + /// Anticipated memory copy speed in bytes per second + const uint k_MemCopySpeed = #if UNITY_EDITOR - 60_000_000; + 1_500_000_000; #else - 150_000_000; + 3_000_000_000; #endif + /// + /// A buffer size of 81920 bytes (System.IO.Pipeline's default) seems to be a good trade-off between + /// throughput and managed memory allocation. + /// + const uint k_CopyBufferSize = 81_920; + const string k_PrimitiveName = "Primitive"; static readonly HashSet k_SupportedExtensions = new HashSet { @@ -155,7 +166,7 @@ public abstract class GltfImportBase : IGltfReadable, IGltfBuffers, IDisposable #if KTX_IS_ENABLED ExtensionName.TextureBasisUniversal, #endif // KTX_IS_ENABLED -#if MESHOPT +#if MESHOPT_IS_ENABLED ExtensionName.MeshoptCompression, #endif ExtensionName.MaterialsPbrSpecularGlossiness, @@ -236,7 +247,7 @@ public abstract class GltfImportBase : IGltfReadable, IGltfBuffers, IDisposable /// https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#binary-buffer GlbBinChunk? m_GlbBinChunk; -#if MESHOPT +#if MESHOPT_IS_ENABLED Dictionary> m_MeshoptBufferViews; NativeArray m_MeshoptReturnValues; JobHandle m_MeshoptJobHandle; @@ -550,11 +561,32 @@ public async Task LoadStream( Logger?.Error("glb exceeds 2GB limit."); return false; } - using var data = new NativeArray((int)length, Allocator.Persistent); - var dataStream = data.ToUnmanagedMemoryStream(); - await dataStream.WriteAsync(firstBytes, cancellationToken); - await dataStream.WriteAsync(glbHeader, cancellationToken); - await stream.CopyToAsync(dataStream, (int)(length - dataStream.Position), cancellationToken); + if (length > stream.Length) + { + Logger?.Error(LogCode.UnexpectedEndOfContent); + return false; + } + using var data = new NativeArray( + (int)length, Allocator.Persistent, NativeArrayOptions.UninitializedMemory); + using var manager = new NativeMemoryManager(data); + var mem = manager.Memory; + firstBytes.CopyTo(mem); + mem = mem[firstBytes.Length..]; + glbHeader.CopyTo(mem); + mem = mem[glbHeader.Length..]; + +#if GLTFAST_THREADS + var predictedTime = length / (float)k_MemCopySpeed; + if (DeferAgent.ShouldDefer(predictedTime)) + { + await Task.Run(() => CopyStreamToMemory(stream, mem), cancellationToken); + } + else +#endif // GLTFAST_THREADS + { + await CopyStreamToMemoryAsync(stream, mem); + } + var result = await LoadGltfBinaryInternal(data.AsReadOnly(), uri, importSettings, cancellationToken); return result; } @@ -595,11 +627,11 @@ public async Task LoadGltfBinary( CancellationToken cancellationToken = default ) { - var managedNativeArray = new ManagedNativeArray(bytes); + var managedNativeArray = new ReadOnlyNativeArrayFromManagedArray(bytes); m_VolatileDisposables ??= new List(); m_VolatileDisposables.Add(managedNativeArray); return await LoadGltfBinaryInternal( - managedNativeArray.nativeArray.AsReadOnly(), + managedNativeArray.Array.AsNativeArrayReadOnly(), uri, importSettings, cancellationToken @@ -1167,6 +1199,53 @@ public string GetMaterialsVariantName(int index) return Root.GetMaterialsVariantName(index); } + static void CopyStreamToMemory(Stream source, Memory destination) + { + Profiler.BeginSample("CopyStreamToMemory"); + var bytesToWrite = destination.Length; + var bufferSize = math.min((int)k_CopyBufferSize, bytesToWrite); + var span = destination.Span; + int read; + while (bytesToWrite > 0 + && (read = source.Read( + span[..math.min(bufferSize, bytesToWrite)] + )) > 0) + { + span = span[read..]; + bytesToWrite -= read; + } + Profiler.EndSample(); + } + + async ValueTask CopyStreamToMemoryAsync(Stream source, Memory destination) + { + Profiler.BeginSample("CopyStreamToMemoryAsync"); + var bytesToWrite = destination.Length; + var bufferSize = math.min((int)k_CopyBufferSize, bytesToWrite); + + var start = 0; + int read; + while (bytesToWrite > 0 + && (read = StreamReadToMemory(math.min(bufferSize, bytesToWrite))) > 0) + { + start += read; + bytesToWrite -= read; + if (bytesToWrite > 0 && DeferAgent.ShouldDefer(bufferSize / (float)k_MemCopySpeed)) + { + Profiler.EndSample(); + await Task.Yield(); + Profiler.BeginSample("CopyStreamToMemoryAsync"); + } + } + Profiler.EndSample(); + return; + + int StreamReadToMemory(int length) + { + return source.Read(destination.Span[start..(start + length)]); + } + } + async Task LoadFromUri(Uri url, CancellationToken cancellationToken) { @@ -1243,7 +1322,7 @@ async Task LoadContent() var success = await WaitForBufferDownloads(); -#if MESHOPT +#if MESHOPT_IS_ENABLED if (success) { MeshoptDecode(); } @@ -1323,6 +1402,7 @@ async Task ParseJsonAndLoadBuffers(string json, Uri baseUri) { if (buffer.uri.StartsWith("data:")) { + Logger?.Warning(LogCode.EmbedSlow); if (!await LoadBufferFromDataUri(i, buffer)) return false; } @@ -1345,10 +1425,11 @@ async Task LoadBufferFromDataUri(int bufferIndex, Buffer buffer) return false; } - var data = await DecodeDataUriAsync( + var data = await DataUri.DecodeDataUriAsync( buffer.uri, startIndex, byteLength, + DeferAgent, true // usually there's just one buffer and it's time-critical ); if (!data.IsCreated) @@ -1548,6 +1629,7 @@ void SetImageGamma(TextureInfoBase txtInfo) if (!string.IsNullOrEmpty(img.uri) && img.uri.StartsWith("data:")) { + Logger?.Warning(LogCode.EmbedSlow); var imageTask = LoadImageFromDataUri(imageIndex, img); imageTasks ??= new List>(); imageTasks.Add(imageTask); @@ -1607,7 +1689,8 @@ void SetImageGamma(TextureInfoBase txtInfo) async Task LoadImageFromDataUri(int imageIndex, Image img) #pragma warning restore CS1998 // Async method lacks 'await' operators and will run synchronously { - if (!TryGetImageDataUriDescriptor(img.uri, out var imageFormat, out var startIndex, out var byteLength)) + if (!DataUri.TryGetImageDataUriDescriptor( + img.uri, out var imageFormat, out var startIndex, out var byteLength)) { Logger?.Error(LogCode.EmbedImageLoadFailed); return false; @@ -1658,14 +1741,15 @@ async Task LoadImageFromDataUri(int imageIndex, Image img) async Task LoadImageJpegOrPngFromDataUri(int imageIndex, Image img, int startIndex, int byteLength) { #if UNITY_6000_0_OR_NEWER - var data = await DecodeDataUriAsync(img.uri, startIndex, byteLength); + var data = await DataUri.DecodeDataUriAsync(img.uri, startIndex, byteLength, DeferAgent); if (!data.IsCreated) { Logger?.Error(LogCode.EmbedImageLoadFailed); return null; } #else - var data = await DecodeDataUriToManagedArrayAsync(img.uri, startIndex, byteLength); + var data = await DataUri.DecodeDataUriToManagedArrayAsync( + img.uri, startIndex, byteLength, DeferAgent); if (data == null) { Logger?.Error(LogCode.EmbedImageLoadFailed); @@ -1693,7 +1777,7 @@ async Task LoadImageJpegOrPngFromDataUri(int imageIndex, Image img, i #if KTX_IS_ENABLED async Task LoadImageKtxFromDataUri(int imageIndex, Image img, int startIndex, int byteLength) { - var data = await DecodeDataUriAsync(img.uri, startIndex, byteLength); + var data = await DataUri.DecodeDataUriAsync(img.uri, startIndex, byteLength, DeferAgent); if (!data.IsCreated) { Logger?.Error(LogCode.EmbedImageLoadFailed); @@ -1925,89 +2009,6 @@ void LoadBuffer(int index, Uri url) Profiler.EndSample(); } - async ValueTask> DecodeDataUriAsync( - string dataUri, - int startIndex, - int byteLength, - bool timeCritical = false - ) - { - var predictedTime = dataUri.Length / (float)k_Base64DecodeSpeed; -#if MEASURE_TIMINGS - var stopWatch = new Stopwatch(); - stopWatch.Start(); -#elif GLTFAST_THREADS - if (!timeCritical || DeferAgent.ShouldDefer(predictedTime)) - { - return await Task.Run(() => DecodeDataUri(dataUri, startIndex, byteLength)); - } -#endif - await DeferAgent.BreakPoint(predictedTime); - var result = DecodeDataUri(dataUri, startIndex, byteLength); -#if MEASURE_TIMINGS - stopWatch.Stop(); - var elapsedSeconds = stopWatch.ElapsedMilliseconds / 1000f; - var relativeDiff = (elapsedSeconds-predictedTime) / predictedTime; - if (Mathf.Abs(relativeDiff) > .2f) { - Debug.LogWarning($"Base 64 unexpected duration! diff: {relativeDiff:0.00}% predicted: {predictedTime} sec actual: {elapsedSeconds} sec"); - } - var throughput = dataUri.Length / elapsedSeconds; - Debug.Log($"Base 64 throughput: {throughput} bytes/sec ({dataUri.Length} bytes in {elapsedSeconds} seconds)"); -#endif - return result; - } - -#if !UNITY_6000_0_OR_NEWER - async ValueTask DecodeDataUriToManagedArrayAsync( - string dataUri, - int startIndex, - int byteLength, - bool timeCritical = false) - { - var predictedTime = dataUri.Length / (float)k_Base64DecodeSpeed; -#if GLTFAST_THREADS - if (!timeCritical || DeferAgent.ShouldDefer(predictedTime)) - { - return await Task.Run(() => DecodeDataUriToManagedArray(dataUri, startIndex, byteLength)); - } -#endif - await DeferAgent.BreakPoint(predictedTime); - var result = DecodeDataUriToManagedArray(dataUri, startIndex, byteLength); - return result; - } -#endif // !UNITY_6000_0_OR_NEWER - - bool TryGetDataUriDescriptor(string dataUri, out ReadOnlySpan mimeType, out int startIndex, out int byteLength) - { - Logger?.Warning(LogCode.EmbedSlow); - var mediaTypeEnd = dataUri.IndexOf(';', 5, Math.Min(dataUri.Length - 5, 1000)); - if (mediaTypeEnd < 0) - { - Profiler.EndSample(); - mimeType = null; - startIndex = 0; - byteLength = -1; - return false; - } - mimeType = dataUri.AsSpan(5, mediaTypeEnd - 5); - if (!dataUri.AsSpan(mediaTypeEnd + 1, 7).SequenceEqual("base64,")) - { - Profiler.EndSample(); - startIndex = 0; - byteLength = -1; - return false; - } - var padding = 0; - if (dataUri.Length > 0 && dataUri[^1] == '=') - { - padding = dataUri.Length > 1 && dataUri[^2] == '=' ? 2 : 1; - } - - startIndex = mediaTypeEnd + 8; - byteLength = ((dataUri.Length - startIndex) * 3 + 3) / 4 - padding; - return true; - } - bool TryGetBufferDataUriDescriptor( int bufferIndex, uint expectedLength, @@ -2016,7 +2017,8 @@ bool TryGetBufferDataUriDescriptor( out int byteLength ) { - if (TryGetDataUriDescriptor(dataUri, out var mimeType, out startIndex, out byteLength)) + if (DataUri.TryGetDataUriDescriptor( + dataUri, out var mimeType, out startIndex, out byteLength)) { if (!mimeType.StartsWith("application/") || !( @@ -2051,53 +2053,6 @@ out int byteLength return false; } - bool TryGetImageDataUriDescriptor( - string dataUri, - out ImageFormat imageFormat, - out int startIndex, - out int byteLength - ) - { - if (TryGetDataUriDescriptor(dataUri, out var mimeType, out startIndex, out byteLength)) - { - imageFormat = ImageFormatExtensions.FromMimeType(mimeType); - return true; - } - - imageFormat = ImageFormat.Unknown; - return false; - } - - static NativeArray DecodeDataUri(string dataUri, int startIndex, int dataLength) - { - Profiler.BeginSample("DecodeDataUri"); - var data = new NativeArray(dataLength, Allocator.Persistent); - if (!Convert.TryFromBase64Chars(dataUri.AsSpan(startIndex), data.AsSpan(), out var bytesWritten) - || bytesWritten != dataLength) - { - // Invalidate buffer to signal decoding failed. - data.Dispose(); - } - Profiler.EndSample(); - return data; - } - -#if !UNITY_6000_0_OR_NEWER - static byte[] DecodeDataUriToManagedArray(string dataUri, int startIndex, int dataLength) - { - Profiler.BeginSample("DecodeDataUriToManagedArray"); - var data = new byte[dataLength]; - if (!Convert.TryFromBase64Chars(dataUri.AsSpan(startIndex), data.AsSpan(), out var bytesWritten) - || bytesWritten != dataLength) - { - // Invalidate buffer to signal decoding failed. - data = null; - } - Profiler.EndSample(); - return data; - } -#endif // !UNITY_6000_0_OR_NEWER - void LoadImage(int imageIndex, Uri url, bool nonReadable, bool isKtx) { @@ -2179,16 +2134,24 @@ async Task LoadGltfBinaryBuffer(NativeArray.ReadOnly bytes, Uri uri return false; } + var totalLength = bytes.ReadUInt32(8); + if (totalLength > bytes.Length) + { + Logger?.Error(LogCode.UnexpectedEndOfContent); + Profiler.EndSample(); + return false; + } + int index = 12; // first chunk header var baseUri = UriHelper.GetBaseUri(uri); Profiler.EndSample(); - while (index < bytes.Length) + while (index < totalLength) { - if (index + 8 > bytes.Length) + if (index + 8 > totalLength) { Logger?.Error(LogCode.ChunkIncomplete); return false; @@ -2199,7 +2162,7 @@ async Task LoadGltfBinaryBuffer(NativeArray.ReadOnly bytes, Uri uri var chType = bytes.ReadUInt32(index); index += 4; - if (index + chLength > bytes.Length) + if (index + chLength > totalLength) { Logger?.Error(LogCode.ChunkIncomplete); return false; @@ -2260,7 +2223,7 @@ ReadOnlyNativeArray GetBuffer(int index) ReadOnlyNativeArray IGltfBuffers.GetBufferView(int bufferViewIndex, out int byteStride, int offset, int length) { var bufferView = Root.BufferViews[bufferViewIndex]; -#if MESHOPT +#if MESHOPT_IS_ENABLED if (bufferView.Extensions?.EXT_meshopt_compression != null) { byteStride = bufferView.Extensions.EXT_meshopt_compression.byteStride; var entireBuffer = m_MeshoptBufferViews[bufferViewIndex]; @@ -2287,7 +2250,7 @@ int offset ) { var bufferView = Root.BufferViews[bufferViewIndex]; -#if MESHOPT +#if MESHOPT_IS_ENABLED if (bufferView.Extensions?.EXT_meshopt_compression != null) { var fullSlice = m_MeshoptBufferViews[bufferViewIndex]; if (offset == 0 && (count <= 0 || count * UnsafeUtility.SizeOf(typeof(T)) == fullSlice.Length)) { @@ -2309,7 +2272,7 @@ int offset ) { var bufferView = Root.BufferViews[bufferViewIndex]; -#if MESHOPT +#if MESHOPT_IS_ENABLED if (bufferView.Extensions?.EXT_meshopt_compression != null) { unsafe { @@ -2394,7 +2357,7 @@ ReadOnlyNativeArray GetBufferView( return m_Buffers[bufferIndex].GetSubArray(totalOffset, length); } -#if MESHOPT +#if MESHOPT_IS_ENABLED void MeshoptDecode() { if(Root.BufferViews!=null) { List jobHandlesList = null; @@ -2413,11 +2376,11 @@ void MeshoptDecode() { var origBufferView = GetBufferView(meshopt); var jobHandle = Decode.DecodeGltfBuffer( - new NativeSlice(m_MeshoptReturnValues,i,1), + m_MeshoptReturnValues.GetSubArray(i,1), arr, meshopt.count, meshopt.byteStride, - origBufferView.ToSlice(), + origBufferView.AsNativeArrayReadOnly(), meshopt.GetMode(), meshopt.GetFilter() ); @@ -2450,7 +2413,7 @@ async Task WaitForMeshoptDecode() { return success; } -#endif // MESHOPT +#endif // MESHOPT_IS_ENABLED async Task Prepare() { @@ -2470,11 +2433,11 @@ async Task Prepare() } await DeferAgent.BreakPoint(); - // RedundantAssignment potentially becomes necessary when MESHOPT is not available + // RedundantAssignment potentially becomes necessary when MESHOPT_IS_ENABLED is not defined // ReSharper disable once RedundantAssignment var success = true; -#if MESHOPT +#if MESHOPT_IS_ENABLED success = await WaitForMeshoptDecode(); if (!success) return false; #endif @@ -3044,7 +3007,7 @@ void DisposeVolatileData() m_GlbBinChunk = null; m_MaterialPointsSupport = null; -#if MESHOPT +#if MESHOPT_IS_ENABLED if(m_MeshoptBufferViews!=null) { foreach (var nativeBuffer in m_MeshoptBufferViews.Values) { nativeBuffer.Dispose(); @@ -4202,7 +4165,7 @@ unsafe void IGltfBuffers.GetAccessorAndData(int index, out AccessorBase accessor return; } var bufferView = Root.BufferViews[accessor.bufferView]; -#if MESHOPT +#if MESHOPT_IS_ENABLED var meshopt = bufferView.Extensions?.EXT_meshopt_compression; if (meshopt != null) { byteStride = meshopt.byteStride; @@ -4230,7 +4193,7 @@ unsafe void IGltfBuffers.GetAccessorAndData(int index, out AccessorBase accessor public unsafe void GetAccessorSparseIndices(AccessorSparseIndices sparseIndices, out void* data) { var bufferView = Root.BufferViews[(int)sparseIndices.bufferView]; -#if MESHOPT +#if MESHOPT_IS_ENABLED var meshopt = bufferView.Extensions?.EXT_meshopt_compression; if (meshopt != null) { data = (byte*)m_MeshoptBufferViews[(int)sparseIndices.bufferView].GetUnsafeReadOnlyPtr() + sparseIndices.byteOffset; @@ -4253,7 +4216,7 @@ public unsafe void GetAccessorSparseIndices(AccessorSparseIndices sparseIndices, public unsafe void GetAccessorSparseValues(AccessorSparseValues sparseValues, out void* data) { var bufferView = Root.BufferViews[(int)sparseValues.bufferView]; -#if MESHOPT +#if MESHOPT_IS_ENABLED var meshopt = bufferView.Extensions?.EXT_meshopt_compression; if (meshopt != null) { data = (byte*)m_MeshoptBufferViews[(int)sparseValues.bufferView].GetUnsafeReadOnlyPtr() + sparseValues.byteOffset; diff --git a/Runtime/Scripts/Jobs.cs b/Runtime/Scripts/Jobs.cs index 59c59c858..26968e31c 100644 --- a/Runtime/Scripts/Jobs.cs +++ b/Runtime/Scripts/Jobs.cs @@ -296,26 +296,26 @@ static void GetFloat3UInt32Normalized(float3* destination, void* src) } [BurstCompile] - struct CreateIndicesInt32Job : IJobParallelFor + struct CreateIndicesUInt32Job : IJobParallelFor { [WriteOnly] - public NativeArray result; + public NativeArray result; public void Execute(int index) { - result[index] = index; + result[index] = (uint)index; } } [BurstCompile] - struct CreateIndicesInt32FlippedJob : IJobParallelFor + struct CreateIndicesUInt32FlippedJob : IJobParallelFor { [WriteOnly] - public NativeArray result; + public NativeArray result; public void Execute(int index) { - result[index] = index - 2 * (index % 3 - 1); + result[index] = (uint)(index - 2 * (index % 3 - 1)); } } @@ -323,7 +323,7 @@ public void Execute(int index) struct CreateIndicesForTriangleStripJob : IJobParallelFor { [WriteOnly] - public NativeArray result; + public NativeArray result; public void Execute(int index) { @@ -336,9 +336,9 @@ public void Execute(int index) var triangleIndex = index / 3; result[index] = (index % 3) switch { - 0 => triangleIndex + (1 + triangleIndex % 2), - 1 => triangleIndex, - 2 => triangleIndex + (2 - triangleIndex % 2), + 0 => (uint)(triangleIndex + (1 + triangleIndex % 2)), + 1 => (uint)(triangleIndex), + 2 => (uint)(triangleIndex + (2 - triangleIndex % 2)), _ => result[index] }; } @@ -348,7 +348,7 @@ public void Execute(int index) struct CreateIndicesForTriangleFanJob : IJobParallelFor { [WriteOnly] - public NativeArray result; + public NativeArray result; public void Execute(int index) { @@ -361,8 +361,8 @@ public void Execute(int index) var triangleIndex = index / 3; result[index] = (index % 3) switch { - 0 => triangleIndex + 2, - 1 => triangleIndex + 1, + 0 => (uint)(triangleIndex + 2), + 1 => (uint)(triangleIndex + 1), _ => 0 }; } @@ -372,10 +372,10 @@ public void Execute(int index) struct RecalculateIndicesForTriangleStripJob : IJobParallelFor { [ReadOnly] - public NativeArray input; + public NativeArray input; [WriteOnly, NativeDisableParallelForRestriction] - public NativeArray result; + public NativeArray result; public void Execute(int index) { @@ -396,10 +396,10 @@ public void Execute(int index) struct RecalculateIndicesForTriangleFanJob : IJobParallelFor { [ReadOnly] - public NativeArray input; + public NativeArray input; [WriteOnly, NativeDisableParallelForRestriction] - public NativeArray result; + public NativeArray result; public void Execute(int index) { @@ -417,13 +417,13 @@ public void Execute(int index) } [BurstCompile] - struct ConvertIndicesUInt8ToInt32Job : IJobParallelFor + struct ConvertIndicesUInt8ToUInt32Job : IJobParallelFor { [ReadOnly] public NativeArray.ReadOnly input; [WriteOnly] - public NativeArray result; + public NativeArray result; public void Execute(int index) { @@ -462,13 +462,13 @@ public void Execute(int index) } [BurstCompile] - struct ConvertIndicesUInt16ToInt32Job : IJobParallelFor + struct ConvertIndicesUInt16ToUInt32Job : IJobParallelFor { [ReadOnly] public NativeArray.ReadOnly input; [WriteOnly] - public NativeArray result; + public NativeArray result; public void Execute(int index) { @@ -476,21 +476,6 @@ public void Execute(int index) } } - [BurstCompile] - struct ConvertIndicesUInt32ToInt32Job : IJobParallelFor - { - [ReadOnly] - public NativeArray.ReadOnly input; - - [WriteOnly] - public NativeArray result; - - public void Execute(int index) - { - result[index] = (int)input[index]; - } - } - [BurstCompile] struct ConvertIndicesUInt32ToInt32FlippedJob : IJobParallelFor { diff --git a/Runtime/Scripts/Logging/LogMessages.cs b/Runtime/Scripts/Logging/LogMessages.cs index 2c4be0eb7..eb24e7a06 100644 --- a/Runtime/Scripts/Logging/LogMessages.cs +++ b/Runtime/Scripts/Logging/LogMessages.cs @@ -255,6 +255,8 @@ public enum LogCode : uint BufferDataUriUnexpectedMimeType, /// Buffer's actual length is smaller than what its byteLength property suggests. BufferContentUndersized, + /// glTF-Binary's actual length is smaller than what the header's length field declares. + UnexpectedEndOfContent, } /// @@ -291,6 +293,7 @@ This may result in low performance and high memory usage. Try optimizing the glT { LogCode.ExtensionUnsupported, "glTF extension {0} is not supported" }, { LogCode.ExportImageFailed, "Export image failed" }, { LogCode.GltfNotBinary, "Not a glTF-binary file" }, + { LogCode.UnexpectedEndOfContent, "Unexpected end of content" }, { LogCode.GltfUnsupportedVersion, "Unsupported glTF version {0}" }, { LogCode.HierarchyInvalid, "Invalid hierarchy" }, { LogCode.ImageConversionNotEnabled, $"Jpeg/PNG textures failed because required built-in packages \"Image Conversion\"/\"Unity Web Request Texture\" are not enabled. {k_LinkProjectSetupTextureSupport}" }, diff --git a/Runtime/Scripts/MeshGenerator.cs b/Runtime/Scripts/MeshGenerator.cs index d9e93f11c..f97614a35 100644 --- a/Runtime/Scripts/MeshGenerator.cs +++ b/Runtime/Scripts/MeshGenerator.cs @@ -23,7 +23,7 @@ class MeshGenerator : MeshGeneratorBase { VertexBufferGeneratorBase m_VertexData; - NativeArray[] m_Indices; + NativeArray[] m_Indices; List m_Disposables; readonly SubMeshAssignment[] m_SubMeshAssignments; readonly IReadOnlyList m_Primitives; @@ -189,7 +189,7 @@ async Task GenerateMesh(GltfImportBase gltfImport) if (!await m_VertexData.CreateVertexBuffer()) return null; - m_Indices = new NativeArray[SubMeshCount]; + m_Indices = new NativeArray[SubMeshCount]; var tmpList = new List(SubMeshCount); foreach (var subMesh in IterateSubMeshesIndexed()) @@ -207,7 +207,7 @@ async Task GenerateMesh(GltfImportBase gltfImport) { case DrawMode.LineLoop: { - m_Indices[subMeshIndex] = new NativeArray(indices.Length + 1, Allocator.Persistent); + m_Indices[subMeshIndex] = new NativeArray(indices.Length + 1, Allocator.Persistent); // TODO: Allocate larger index buffer right away and only set last index here // Wait for indices to be ready. @@ -218,7 +218,7 @@ async Task GenerateMesh(GltfImportBase gltfImport) getIndicesJob.Value.Complete(); - NativeArray.Copy(indices, m_Indices[subMeshIndex], indices.Length); + NativeArray.Copy(indices, m_Indices[subMeshIndex], indices.Length); m_Indices[subMeshIndex][indices.Length] = indices[0]; indices.Dispose(); break; @@ -227,7 +227,7 @@ async Task GenerateMesh(GltfImportBase gltfImport) { // TODO: Allocate larger index buffer right away and recalculate indices in-place. var triangleStripTriangleCount = indices.Length - 2; - m_Indices[subMeshIndex] = new NativeArray(triangleStripTriangleCount * 3, Allocator.Persistent); + m_Indices[subMeshIndex] = new NativeArray(triangleStripTriangleCount * 3, Allocator.Persistent); var triangleStripJob = new RecalculateIndicesForTriangleStripJob { input = indices, @@ -247,7 +247,7 @@ async Task GenerateMesh(GltfImportBase gltfImport) { // TODO: Allocate larger index buffer right away and recalculate indices in-place. var triangleFanTriangleCount = indices.Length - 2; - m_Indices[subMeshIndex] = new NativeArray(triangleFanTriangleCount * 3, Allocator.Persistent); + m_Indices[subMeshIndex] = new NativeArray(triangleFanTriangleCount * 3, Allocator.Persistent); var triangleFanJob = new RecalculateIndicesForTriangleFanJob { input = indices, @@ -479,7 +479,7 @@ protected override void Dispose(bool disposing) static void GetIndicesJob( GltfImportBase gltfImport, int accessorIndex, - out NativeArray indices, + out NativeArray indices, out JobHandle? jobHandle, bool flip ) @@ -494,7 +494,7 @@ bool flip ); Profiler.BeginSample("Alloc"); - indices = new NativeArray(accessor.count, Allocator.Persistent); + indices = new NativeArray(accessor.count, Allocator.Persistent); Profiler.EndSample(); Assert.AreEqual(accessor.GetAttributeType(), GltfAccessorAttributeType.SCALAR); @@ -519,7 +519,7 @@ bool flip } else { - var job8 = new ConvertIndicesUInt8ToInt32Job + var job8 = new ConvertIndicesUInt8ToUInt32Job { input = accessorData.AsNativeArrayReadOnly(), result = indices @@ -541,7 +541,7 @@ bool flip } else { - var job16 = new ConvertIndicesUInt16ToInt32Job + var job16 = new ConvertIndicesUInt16ToUInt32Job { input = accessorData.Reinterpret().AsNativeArrayReadOnly(), result = indices @@ -563,12 +563,17 @@ bool flip } else { - var job32 = new ConvertIndicesUInt32ToInt32Job + unsafe { - input = accessorData.Reinterpret().AsNativeArrayReadOnly(), - result = indices - }; - jobHandle = job32.Schedule(accessor.count, GltfImportBase.DefaultBatchCount); + Assert.AreEqual(accessor.count * UnsafeUtility.SizeOf(), accessorData.Length); + var job = new MemCopyJob + { + bufferSize = accessorData.Length, + input = (byte*)accessorData.GetUnsafeReadOnlyPtr(), + result = (byte*)indices.GetUnsafePtr() + }; + jobHandle = job.Schedule(); + } } break; } @@ -584,7 +589,7 @@ bool flip static void CalculateIndicesJob( MeshPrimitiveBase primitive, int vertexCount, - out NativeArray indices, + out NativeArray indices, out JobHandle jobHandle ) { @@ -595,10 +600,10 @@ out JobHandle jobHandle case DrawMode.LineLoop: { // extra index (first vertex again) for closing line loop - indices = new NativeArray(vertexCount + 1, Allocator.Persistent); + indices = new NativeArray(vertexCount + 1, Allocator.Persistent); // Set the last index to the first vertex indices[vertexCount] = 0; - var job = new CreateIndicesInt32Job() + var job = new CreateIndicesUInt32Job() { result = indices }; @@ -607,8 +612,8 @@ out JobHandle jobHandle } case DrawMode.Triangles: { - indices = new NativeArray(vertexCount, Allocator.Persistent); - var job = new CreateIndicesInt32FlippedJob + indices = new NativeArray(vertexCount, Allocator.Persistent); + var job = new CreateIndicesUInt32FlippedJob { result = indices }; @@ -617,7 +622,7 @@ out JobHandle jobHandle } case DrawMode.TriangleStrip: { - indices = new NativeArray((vertexCount - 2) * 3, Allocator.Persistent); + indices = new NativeArray((vertexCount - 2) * 3, Allocator.Persistent); var job = new CreateIndicesForTriangleStripJob { result = indices @@ -626,7 +631,7 @@ out JobHandle jobHandle break; } case DrawMode.TriangleFan: - indices = new NativeArray((vertexCount - 2) * 3, Allocator.Persistent); + indices = new NativeArray((vertexCount - 2) * 3, Allocator.Persistent); var triangleFanJob = new CreateIndicesForTriangleFanJob { result = indices @@ -635,8 +640,8 @@ out JobHandle jobHandle break; default: { - indices = new NativeArray(vertexCount, Allocator.Persistent); - var job = new CreateIndicesInt32Job() + indices = new NativeArray(vertexCount, Allocator.Persistent); + var job = new CreateIndicesUInt32Job() { result = indices }; diff --git a/Runtime/Scripts/NativeMemoryManager.cs b/Runtime/Scripts/NativeMemoryManager.cs new file mode 100644 index 000000000..2c06c01d2 --- /dev/null +++ b/Runtime/Scripts/NativeMemoryManager.cs @@ -0,0 +1,33 @@ +// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +using System.Buffers; +using Unity.Collections; +using Unity.Collections.LowLevel.Unsafe; + +namespace GLTFast +{ + sealed unsafe class NativeMemoryManager : MemoryManager where T : unmanaged + { + NativeArray m_Array; + + public NativeMemoryManager(NativeArray source) + { + m_Array = source; + } + + public override Span GetSpan() => m_Array.AsSpan(); + + public override MemoryHandle Pin(int elementIndex = 0) + { + if (elementIndex < 0 || elementIndex >= m_Array.Length) + throw new ArgumentOutOfRangeException(nameof(elementIndex)); + return new MemoryHandle(m_Array.GetUnsafeReadOnlyPtr()); + } + + public override void Unpin() { } + + protected override void Dispose(bool disposing) { } + } +} diff --git a/Runtime/Scripts/NativeMemoryManager.cs.meta b/Runtime/Scripts/NativeMemoryManager.cs.meta new file mode 100644 index 000000000..8b162abbe --- /dev/null +++ b/Runtime/Scripts/NativeMemoryManager.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: b16b07f680734936ba669c09128d2ed7 +timeCreated: 1762985713 \ No newline at end of file diff --git a/Runtime/Scripts/Schema/BufferViewExtensions.cs b/Runtime/Scripts/Schema/BufferViewExtensions.cs index 370a18d00..bfe12d6f3 100644 --- a/Runtime/Scripts/Schema/BufferViewExtensions.cs +++ b/Runtime/Scripts/Schema/BufferViewExtensions.cs @@ -12,7 +12,7 @@ namespace GLTFast.Schema [Serializable] public class BufferViewExtensions { -#if MESHOPT +#if MESHOPT_IS_RECENT // ReSharper disable InconsistentNaming public BufferViewMeshoptExtension EXT_meshopt_compression; // ReSharper restore InconsistentNaming diff --git a/Runtime/Scripts/Schema/BufferViewMeshoptExtension.cs b/Runtime/Scripts/Schema/BufferViewMeshoptExtension.cs index ce099aaa5..f65209ab0 100644 --- a/Runtime/Scripts/Schema/BufferViewMeshoptExtension.cs +++ b/Runtime/Scripts/Schema/BufferViewMeshoptExtension.cs @@ -1,7 +1,7 @@ // SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 -#if MESHOPT +#if MESHOPT_IS_RECENT using System; using Meshoptimizer; diff --git a/Runtime/Scripts/VertexBufferBones.cs b/Runtime/Scripts/VertexBufferBones.cs index 7a808b1f3..6a0fa734c 100644 --- a/Runtime/Scripts/VertexBufferBones.cs +++ b/Runtime/Scripts/VertexBufferBones.cs @@ -121,14 +121,13 @@ public JobHandle ScheduleSortAndNormalizeBoneWeightsJob(JobHandle dependsOn) }.Schedule(m_Data.Length, GltfImport.DefaultBatchCount, dependsOn); } #if GLTFAST_SAFE - else { - // Re-normalizing alone is sufficient - return new RenormalizeBoneWeightsJob { - bones = m_Data, - }.Schedule(m_Data.Length, GltfImport.DefaultBatchCount, dependsOn); - } -#endif + // Re-normalizing alone is sufficient + return new RenormalizeBoneWeightsJob { + bones = m_Data, + }.Schedule(m_Data.Length, GltfImport.DefaultBatchCount, dependsOn); +#else return dependsOn; +#endif } public void AddDescriptors(VertexAttributeDescriptor[] dst, int offset, int stream) diff --git a/Runtime/Scripts/glTFast.asmdef b/Runtime/Scripts/glTFast.asmdef index a04f27b47..b05a69836 100644 --- a/Runtime/Scripts/glTFast.asmdef +++ b/Runtime/Scripts/glTFast.asmdef @@ -83,7 +83,12 @@ { "name": "com.unity.meshopt.decompress", "expression": "", - "define": "MESHOPT" + "define": "MESHOPT_IS_INSTALLED" + }, + { + "name": "com.unity.meshopt.decompress", + "expression": "0.2.0-exp.1", + "define": "MESHOPT_IS_RECENT" }, { "name": "com.unity.shadergraph", diff --git a/package.json b/package.json index 52ae2cea2..337343b1c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "com.atteneder.gltfast", - "version": "6.15.0", + "version": "6.15.1", "displayName": "glTFast", "description": "Use glTFast to import and export glTF 3D files efficiently at runtime or in the Editor", "unity": "2022.3", From fea7bce0c0fa60d872fa8eeb4caea944f6c407d4 Mon Sep 17 00:00:00 2001 From: Andreas Atteneder Date: Thu, 22 Jan 2026 13:17:37 +0100 Subject: [PATCH 18/27] com.atteneder.gltfast Release 6.16.0 --- CHANGELOG.md | 22 + Runtime/Scripts/Export/Constants.cs | 2 +- .../Scripts/Export/StandardMaterialExport.cs | 20 +- Runtime/Scripts/GltfAsset.cs | 12 +- Runtime/Scripts/GltfImport.cs | 22 +- Runtime/Scripts/IGltfReadable.cs | 12 +- .../Material/BuiltInMaterialGenerator.cs | 20 +- .../HighDefinitionRPMaterialGenerator.cs | 9 + Runtime/Scripts/Material/MaterialGenerator.cs | 12 +- .../Material/ShaderGraphMaterialGenerator.cs | 11 +- .../glTFIncludes/glTFUnityStandardInput.cginc | 6 + Runtime/Shader/Includes/Normal.cginc | 4 - .../Shader/SubGraphs/Emission.shadersubgraph | 474 ++++-------------- package.json | 2 +- 14 files changed, 219 insertions(+), 409 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 46964db68..5878e2eff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,28 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [6.16.0] - 2026-01-20 + +### Added +- [GltfAsset](xref:GLTFast.GltfAsset) property setters to allow change of behavior from script. + - [PlayAutomatically](xref:GLTFast.GltfAsset.PlayAutomatically). + - [SceneId](xref:GLTFast.GltfAsset.SceneId). +- HDRP material validation (fixes [#561](https://github.com/atteneder/glTFast/issues/561)). +- Various overridable shader loading methods to [MaterialGenerator](xref:GLTFast.Materials.MaterialGenerator)-based classes so users can customize shader lookup. This is useful when working with Addressables (fixes [#715](https://github.com/atteneder/glTFast/issues/715)). + - [MaterialGenerator.FindShader](xref:GLTFast.Materials.MaterialGenerator.FindShader(System.String)) for generic, runtime shader resolution. + - [BuiltInMaterialGenerator.FindShaderMetallicRoughness](xref:GLTFast.Materials.BuiltInMaterialGenerator.FindShaderMetallicRoughness). + - [BuiltInMaterialGenerator.FindShaderSpecularGlossiness](xref:GLTFast.Materials.BuiltInMaterialGenerator.FindShaderSpecularGlossiness). + - [BuiltInMaterialGenerator.FindShaderUnlit](xref:GLTFast.Materials.BuiltInMaterialGenerator.FindShaderUnlit). + - [ShaderGraphMaterialGenerator.LoadShaderByName](xref:GLTFast.Materials.ShaderGraphMaterialGenerator.LoadShaderByName(System.String)). + +### Fixed +- Emission color (emissiveFactor) is now in correct color space for shader graphs and built-in shaders. +- Normal map scale on shader graphs. +- (Export) Avoid creating empty ORM textures if no smoothness texture is assigned (fixes [#801](https://github.com/atteneder/glTFast/issues/801)). + +### Deprecated +- Access to glTF images via [IGltfReadable.ImageCount](xref:GLTFast.IGltfReadable.ImageCount) and [IGltfReadable.GetImage](xref:GLTFast.IGltfReadable.GetImage*). This has not been used internally and was unreliable. Please access glTF textures instead (see [TextureCount](xref:GLTFast.IGltfReadable.TextureCount) and [GetTexture](xref:GLTFast.IGltfReadable.GetTexture*)). + ## [6.15.1] - 2025-12-09 ### Added diff --git a/Runtime/Scripts/Export/Constants.cs b/Runtime/Scripts/Export/Constants.cs index 21e76efd1..d7bfd7500 100644 --- a/Runtime/Scripts/Export/Constants.cs +++ b/Runtime/Scripts/Export/Constants.cs @@ -7,7 +7,7 @@ namespace GLTFast.Export { static class Constants { - public const string version = "6.15.1"; + public const string version = "6.16.0"; internal const string mimeTypePNG = "image/png"; internal const string mimeTypeJPG = "image/jpeg"; diff --git a/Runtime/Scripts/Export/StandardMaterialExport.cs b/Runtime/Scripts/Export/StandardMaterialExport.cs index 65d8ca761..7084542a1 100644 --- a/Runtime/Scripts/Export/StandardMaterialExport.cs +++ b/Runtime/Scripts/Export/StandardMaterialExport.cs @@ -131,12 +131,6 @@ public override bool ConvertMaterial(UnityEngine.Material uMaterial, out Materia } var isPbrMetallicRoughness = IsPbrMetallicRoughness(uMaterial); - var needsMetalRoughTexture = - isPbrMetallicRoughness && - ( - HasMetallicGlossMap(uMaterial) - || uMaterial.IsKeywordEnabled(k_KeywordSmoothnessTextureAlbedoChannelA) - ); Texture2D occlusionTexture = null; Texture2D metalGlossTexture = null; @@ -152,6 +146,13 @@ public override bool ConvertMaterial(UnityEngine.Material uMaterial, out Materia mainTexProperty = k_ColorTexture; } + var needsMetalRoughTexture = + isPbrMetallicRoughness && + ( + HasMetallicGlossMap(uMaterial) + || HasSmoothnessInAlbedoMapAlpha(uMaterial, mainTexProperty) + ); + if (IsUnlit(uMaterial)) { ExportUnlit(material, uMaterial, mainTexProperty, gltf, logger); @@ -262,6 +263,13 @@ out smoothnessTexture return success; } + static bool HasSmoothnessInAlbedoMapAlpha(UnityEngine.Material uMaterial, int mainTexProperty) + { + return uMaterial.IsKeywordEnabled(k_KeywordSmoothnessTextureAlbedoChannelA) + && uMaterial.HasProperty(mainTexProperty) + && uMaterial.GetTexture(mainTexProperty) is not null; + } + static bool IsPbrMetallicRoughness(UnityEngine.Material material) { return material.HasProperty(MetallicProperty) diff --git a/Runtime/Scripts/GltfAsset.cs b/Runtime/Scripts/GltfAsset.cs index 32bb8c282..fbe3bf8e4 100644 --- a/Runtime/Scripts/GltfAsset.cs +++ b/Runtime/Scripts/GltfAsset.cs @@ -38,12 +38,20 @@ public bool LoadOnStartup /// /// Scene to load (-1 loads glTFs default scene) /// - protected int SceneId => sceneId; + public int SceneId + { + get => sceneId; + set => sceneId = value; + } /// /// If true, the first animation clip starts playing right after instantiation. /// - public bool PlayAutomatically => playAutomatically; + public bool PlayAutomatically + { + get => playAutomatically; + set => playAutomatically = value; + } /// /// If true, url is treated as relative StreamingAssets path diff --git a/Runtime/Scripts/GltfImport.cs b/Runtime/Scripts/GltfImport.cs index a5a056035..239a8a48a 100755 --- a/Runtime/Scripts/GltfImport.cs +++ b/Runtime/Scripts/GltfImport.cs @@ -850,14 +850,11 @@ void DisposeArray(IEnumerable objects) /// public int MaterialCount => m_Materials?.Length ?? 0; - /// - /// Number of images - /// + /// + [Obsolete("Use TextureCount and GetTexture instead. This property will be removed in future releases.")] public int ImageCount => m_Images?.Length ?? 0; - /// - /// Number of textures - /// + /// public int TextureCount => m_Textures?.Length ?? 0; /// @@ -932,11 +929,8 @@ public UnityEngine.Material GetDefaultMaterial() return Task.FromResult(GetDefaultMaterial()); } - /// - /// Returns a texture by its glTF image index - /// - /// glTF image index - /// Corresponding Unity texture + /// + [Obsolete("Use GetTexture instead. This method will be removed in future releases.")] public Texture2D GetImage(int index = 0) { if (m_Images != null && index >= 0 && index < m_Images.Length) @@ -946,11 +940,7 @@ public Texture2D GetImage(int index = 0) return null; } - /// - /// Returns a texture by its glTF texture index - /// - /// glTF texture index - /// Corresponding Unity texture + /// public Texture2D GetTexture(int index = 0) { if (m_Textures != null && index >= 0 && index < m_Textures.Length) diff --git a/Runtime/Scripts/IGltfReadable.cs b/Runtime/Scripts/IGltfReadable.cs index 1a2010d10..f3dd97152 100644 --- a/Runtime/Scripts/IGltfReadable.cs +++ b/Runtime/Scripts/IGltfReadable.cs @@ -38,11 +38,15 @@ public interface IGltfReadable : IMaterialProvider /// /// Number of images /// + /// + /// + [Obsolete("Use TextureCount and GetTexture instead. This property will be removed in future releases.")] int ImageCount { get; } /// /// Number of textures /// + /// int TextureCount { get; } /// @@ -60,14 +64,18 @@ public interface IGltfReadable : IMaterialProvider Material GetDefaultMaterial(); /// - /// Get texture by glTF image index + /// Get imported glTF image by index. + /// Warning: Only works temporarily during loading phase! + /// It's recommended to work with instead. /// /// glTF image index /// Loaded Unity texture + /// + [Obsolete("Use GetTexture instead. This method will be removed in future releases.")] Texture2D GetImage(int index = 0); /// - /// Get texture by glTF texture index + /// Get imported glTF texture by index. /// /// glTF texture index /// Loaded Unity texture diff --git a/Runtime/Scripts/Material/BuiltInMaterialGenerator.cs b/Runtime/Scripts/Material/BuiltInMaterialGenerator.cs index 5f5c68b50..ec35c380b 100644 --- a/Runtime/Scripts/Material/BuiltInMaterialGenerator.cs +++ b/Runtime/Scripts/Material/BuiltInMaterialGenerator.cs @@ -80,12 +80,12 @@ protected override Material GenerateDefaultMaterial(bool pointsSupport = false) /// Metallic/Roughness shader // Needs to be non-static outside of the Editor. // ReSharper disable once MemberCanBeMadeStatic.Local - Shader FinderShaderMetallicRoughness() + protected virtual Shader FindShaderMetallicRoughness() { #if UNITY_EDITOR return AssetDatabase.LoadAssetAtPath($"{k_ShaderPathPrefix}{k_PbrMetallicRoughnessShaderPath}"); #else - return FindShader(k_PbrMetallicRoughnessShaderName, Logger); + return FindShader(k_PbrMetallicRoughnessShaderName); #endif } @@ -95,12 +95,12 @@ Shader FinderShaderMetallicRoughness() /// Specular/Glossiness shader // Needs to be non-static outside of the Editor. // ReSharper disable once MemberCanBeMadeStatic.Local - Shader FinderShaderSpecularGlossiness() + protected virtual Shader FindShaderSpecularGlossiness() { #if UNITY_EDITOR return AssetDatabase.LoadAssetAtPath($"{k_ShaderPathPrefix}{k_PbrSpecularGlossinessShaderPath}"); #else - return FindShader(k_PbrSpecularGlossinessShaderName, Logger); + return FindShader(k_PbrSpecularGlossinessShaderName); #endif } @@ -110,12 +110,12 @@ Shader FinderShaderSpecularGlossiness() /// Unlit shader // Needs to be non-static outside of the Editor. // ReSharper disable once MemberCanBeMadeStatic.Local - Shader FinderShaderUnlit() + protected virtual Shader FindShaderUnlit() { #if UNITY_EDITOR return AssetDatabase.LoadAssetAtPath($"{k_ShaderPathPrefix}{k_UnlitShaderPath}"); #else - return FindShader(k_UnlitShaderName, Logger); + return FindShader(k_UnlitShaderName); #endif } @@ -123,7 +123,7 @@ Material GetPbrMetallicRoughnessMaterial(bool doubleSided = false) { if (m_PbrMetallicRoughnessShader == null) { - m_PbrMetallicRoughnessShader = FinderShaderMetallicRoughness(); + m_PbrMetallicRoughnessShader = FindShaderMetallicRoughness(); } if (m_PbrMetallicRoughnessShader == null) { @@ -145,7 +145,7 @@ Material GetPbrSpecularGlossinessMaterial(bool doubleSided = false) { if (m_PbrSpecularGlossinessShader == null) { - m_PbrSpecularGlossinessShader = FinderShaderSpecularGlossiness(); + m_PbrSpecularGlossinessShader = FindShaderSpecularGlossiness(); } if (m_PbrSpecularGlossinessShader == null) { @@ -167,7 +167,7 @@ Material GetUnlitMaterial(bool doubleSided = false) { if (m_UnlitShader == null) { - m_UnlitShader = FinderShaderUnlit(); + m_UnlitShader = FindShaderUnlit(); } if (m_UnlitShader == null) { @@ -385,7 +385,7 @@ public override Material GenerateMaterial( if (gltfMaterial.Emissive != Color.black) { - material.SetColor(MaterialProperty.EmissiveFactor, gltfMaterial.Emissive.gamma); + material.SetColor(MaterialProperty.EmissiveFactor, gltfMaterial.Emissive); material.EnableKeyword(k_EmissionKeyword); } diff --git a/Runtime/Scripts/Material/HighDefinitionRPMaterialGenerator.cs b/Runtime/Scripts/Material/HighDefinitionRPMaterialGenerator.cs index ad9807f46..cb048b38f 100644 --- a/Runtime/Scripts/Material/HighDefinitionRPMaterialGenerator.cs +++ b/Runtime/Scripts/Material/HighDefinitionRPMaterialGenerator.cs @@ -4,12 +4,14 @@ #if USING_HDRP using System; +using GLTFast.Schema; #if UNITY_EDITOR using UnityEditor; #endif using UnityEngine; using UnityEngine.Rendering; using UnityEngine.Rendering.HighDefinition; +using Material = UnityEngine.Material; namespace GLTFast.Materials { @@ -43,6 +45,13 @@ public class HighDefinitionRPMaterialGenerator : ShaderGraphMaterialGenerator { static bool s_MetallicStackLitShaderQueried; static Shader s_MetallicStackLitShader; + public override Material GenerateMaterial(MaterialBase gltfMaterial, IGltfReadable gltf, bool pointsSupport = false) + { + var material = base.GenerateMaterial(gltfMaterial, gltf, pointsSupport); + HDMaterial.ValidateMaterial(material); + return material; + } + protected override void SetDoubleSided(Schema.MaterialBase gltfMaterial, Material material) { base.SetDoubleSided(gltfMaterial,material); diff --git a/Runtime/Scripts/Material/MaterialGenerator.cs b/Runtime/Scripts/Material/MaterialGenerator.cs index 2b0e6a28a..27d776aa5 100644 --- a/Runtime/Scripts/Material/MaterialGenerator.cs +++ b/Runtime/Scripts/Material/MaterialGenerator.cs @@ -281,7 +281,17 @@ public UnityEngine.Material GetDefaultMaterial(bool pointsSupport = false) protected abstract UnityEngine.Material GenerateDefaultMaterial(bool pointsSupport = false); /// - /// Tries to load a shader and covers error handling. + /// Loads a shader by name and does eventual error reporting. + /// + /// The requested shader's name. + /// Requested shader or null if it couldn't be loaded. + protected virtual Shader FindShader(string shaderName) + { + return FindShader(shaderName, Logger); + } + + /// + /// Loads a shader by name and does eventual error reporting. /// /// The requested shader's name. /// Logger used for reporting errors. diff --git a/Runtime/Scripts/Material/ShaderGraphMaterialGenerator.cs b/Runtime/Scripts/Material/ShaderGraphMaterialGenerator.cs index de0b16c17..12a9fd17d 100644 --- a/Runtime/Scripts/Material/ShaderGraphMaterialGenerator.cs +++ b/Runtime/Scripts/Material/ShaderGraphMaterialGenerator.cs @@ -531,16 +531,21 @@ protected static Shader LoadShaderByGuid(GUID guid) } #endif - protected Shader LoadShaderByName(string shaderName) { + /// + /// Loads a shader by name and does eventual error reporting. + /// + /// The requested shader's name. + /// Requested shader or null if it couldn't be loaded. + protected virtual Shader LoadShaderByName(string shaderName) { #if UNITY_EDITOR var shaderPath = $"{k_ShaderPathPrefix}{shaderName}.shadergraph"; var shader = AssetDatabase.LoadAssetAtPath(shaderPath); if (shader == null) { - Logger?.Error($"Cannot load shader at path {shaderPath}"); + Logger?.Error(LogCode.ShaderMissing, shaderPath); } return shader; #else - return FindShader($"{k_ShaderGraphsPrefix}{shaderName}", Logger); + return FindShader($"{k_ShaderGraphsPrefix}{shaderName}"); #endif } diff --git a/Runtime/Shader/Built-In/glTFIncludes/glTFUnityStandardInput.cginc b/Runtime/Shader/Built-In/glTFIncludes/glTFUnityStandardInput.cginc index 05e45baa4..6dd22dc6f 100644 --- a/Runtime/Shader/Built-In/glTFIncludes/glTFUnityStandardInput.cginc +++ b/Runtime/Shader/Built-In/glTFIncludes/glTFUnityStandardInput.cginc @@ -223,9 +223,15 @@ half3 Emission(float2 uv) { #ifndef _EMISSION return 0; +#else +#ifdef UNITY_COLORSPACE_GAMMA + // Once we support the KHR_materials_emissive_strength, the emissiveFactor values might exceed 1.0 + // and then this calculation in gamma space will not be correct anymore. + return tex2D(emissiveTexture, uv).rgb * LinearToGammaSpace(emissiveFactor.rgb); #else return tex2D(emissiveTexture, uv).rgb * emissiveFactor.rgb; #endif +#endif } #ifdef _NORMALMAP diff --git a/Runtime/Shader/Includes/Normal.cginc b/Runtime/Shader/Includes/Normal.cginc index 47f7d3bcf..d4e29b56a 100644 --- a/Runtime/Shader/Includes/Normal.cginc +++ b/Runtime/Shader/Includes/Normal.cginc @@ -9,11 +9,7 @@ void NormalInTangentSpace_float(UnityTexture2D normal_texture, float2 uv, float packed_normal.x *= packed_normal.w; normal.xy = packed_normal.xy * 2 - 1; -#if (SHADER_TARGET >= 30) - // SM2.0: instruction count limitation - // SM2.0: normal scaler is not supported normal.xy *= normal_scale; -#endif normal.z = sqrt(1.0 - saturate(dot(normal.xy, normal.xy))); } diff --git a/Runtime/Shader/SubGraphs/Emission.shadersubgraph b/Runtime/Shader/SubGraphs/Emission.shadersubgraph index bcf3ae697..1fb97a2f9 100644 --- a/Runtime/Shader/SubGraphs/Emission.shadersubgraph +++ b/Runtime/Shader/SubGraphs/Emission.shadersubgraph @@ -1,5 +1,5 @@ { - "m_SGVersion": 2, + "m_SGVersion": 3, "m_Type": "UnityEditor.ShaderGraph.GraphData", "m_ObjectId": "22f4cf26a81a446ab3e256d94a5b8930", "m_Properties": [ @@ -24,6 +24,12 @@ "m_Id": "42d223062ab74032b07b902bf878b515" } ], + "m_Dropdowns": [], + "m_CategoryData": [ + { + "m_Id": "2f3d433462fe4dcdb20cc5532e964dd1" + } + ], "m_Nodes": [ { "m_Id": "46a3bee6c6d13c8fb349fc9dec034961" @@ -49,15 +55,6 @@ { "m_Id": "8b01474d50494dd78b966a01d40b7936" }, - { - "m_Id": "2ca2c9815e8f49edacdb89a52603413e" - }, - { - "m_Id": "195283be73274d478f3021df41acbcd6" - }, - { - "m_Id": "d69565a3d3334fec906d90abed0cf68e" - }, { "m_Id": "39c58c66879c4ddfae5d63f413273805" }, @@ -76,20 +73,6 @@ } ], "m_Edges": [ - { - "m_OutputSlot": { - "m_Node": { - "m_Id": "195283be73274d478f3021df41acbcd6" - }, - "m_SlotId": 1 - }, - "m_InputSlot": { - "m_Node": { - "m_Id": "8b01474d50494dd78b966a01d40b7936" - }, - "m_SlotId": 0 - } - }, { "m_OutputSlot": { "m_Node": { @@ -104,20 +87,6 @@ "m_SlotId": 2 } }, - { - "m_OutputSlot": { - "m_Node": { - "m_Id": "2ca2c9815e8f49edacdb89a52603413e" - }, - "m_SlotId": 1 - }, - "m_InputSlot": { - "m_Node": { - "m_Id": "3c45f52b72e94ab9802a83bbb7097b83" - }, - "m_SlotId": 2 - } - }, { "m_OutputSlot": { "m_Node": { @@ -197,7 +166,7 @@ }, "m_InputSlot": { "m_Node": { - "m_Id": "2ca2c9815e8f49edacdb89a52603413e" + "m_Id": "39c58c66879c4ddfae5d63f413273805" }, "m_SlotId": 0 } @@ -211,9 +180,9 @@ }, "m_InputSlot": { "m_Node": { - "m_Id": "d69565a3d3334fec906d90abed0cf68e" + "m_Id": "3c45f52b72e94ab9802a83bbb7097b83" }, - "m_SlotId": 0 + "m_SlotId": 2 } }, { @@ -230,20 +199,6 @@ "m_SlotId": 2 } }, - { - "m_OutputSlot": { - "m_Node": { - "m_Id": "d69565a3d3334fec906d90abed0cf68e" - }, - "m_SlotId": 1 - }, - "m_InputSlot": { - "m_Node": { - "m_Id": "39c58c66879c4ddfae5d63f413273805" - }, - "m_SlotId": 0 - } - }, { "m_OutputSlot": { "m_Node": { @@ -253,7 +208,7 @@ }, "m_InputSlot": { "m_Node": { - "m_Id": "195283be73274d478f3021df41acbcd6" + "m_Id": "8b01474d50494dd78b966a01d40b7936" }, "m_SlotId": 0 } @@ -277,14 +232,16 @@ "serializedMesh": { "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", "m_Guid": "" - } + }, + "preventRotation": false }, "m_Path": "Sub Graphs", - "m_ConcretePrecision": 0, + "m_GraphPrecision": 0, "m_PreviewMode": 2, "m_OutputNode": { "m_Id": "3737ffa37379ae87b587a3972b904b05" }, + "m_SubDatas": [], "m_ActiveTargets": [] } @@ -404,45 +361,6 @@ ] } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.ColorspaceConversionNode", - "m_ObjectId": "195283be73274d478f3021df41acbcd6", - "m_Group": { - "m_Id": "46f893b4df34477bad8026a8627a446a" - }, - "m_Name": "Colorspace Conversion", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": -313.00006103515627, - "y": -414.0, - "width": 211.5, - "height": 130.5 - } - }, - "m_Slots": [ - { - "m_Id": "305ac3bb22c64ab8b6bb86b9b635d09e" - }, - { - "m_Id": "50e244a18f2f4dda8761ac1ec89f7b36" - } - ], - "synonyms": [], - "m_Precision": 0, - "m_PreviewExpanded": false, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_Conversion": { - "from": 0, - "to": 1 - } -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.PropertyNode", @@ -455,9 +373,9 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": -774.5, - "y": -347.9999694824219, - "width": 92.5, + "x": -301.0, + "y": -393.0, + "width": 92.50001525878906, "height": 34.0 } }, @@ -469,6 +387,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -509,44 +428,28 @@ "m_GuidSerialized": "92c6bdd4-ca31-4b5a-bc1c-6794cd65d522" }, "m_Name": "emissiveTexture", + "m_DefaultRefNameVersion": 0, + "m_RefNameGeneratedByDisplayName": "", "m_DefaultReferenceName": "Texture2D_8C55BE6", "m_OverrideReferenceName": "", "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, "m_Value": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, + "isMainTexture": false, + "useTilingAndOffset": false, "m_Modifiable": true, "m_DefaultType": 0 } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", - "m_ObjectId": "2673afc8d1654eaeae8b3e1afd6e255e", - "m_Id": 1, - "m_DisplayName": "Out", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Out", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_Labels": [] -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", @@ -590,64 +493,29 @@ { "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.ColorspaceConversionNode", - "m_ObjectId": "2ca2c9815e8f49edacdb89a52603413e", - "m_Group": { - "m_Id": "46f893b4df34477bad8026a8627a446a" - }, - "m_Name": "Colorspace Conversion", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": 389.5, - "y": -265.4999694824219, - "width": 211.5, - "height": 130.5 - } - }, - "m_Slots": [ + "m_Type": "UnityEditor.ShaderGraph.CategoryData", + "m_ObjectId": "2f3d433462fe4dcdb20cc5532e964dd1", + "m_Name": "", + "m_ChildObjectList": [ + { + "m_Id": "e8c2953e3a3a1d88bec823091a269ccc" + }, { - "m_Id": "9c638cecd4fe4db39c030f94bed25619" + "m_Id": "2413f29fc4bfc28ab3f24ea650d93042" + }, + { + "m_Id": "84cd41d18a890081a8905c3217f9fdce" }, { - "m_Id": "7566ec9ced344819a9f8ce85b93b08b9" + "m_Id": "ebe21fbba1783e84a0d5dbfaa05bf5ab" + }, + { + "m_Id": "92615af80d5e462e8062954c14a537b4" + }, + { + "m_Id": "42d223062ab74032b07b902bf878b515" } - ], - "synonyms": [], - "m_Precision": 0, - "m_PreviewExpanded": false, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_Conversion": { - "from": 1, - "to": 0 - } -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", - "m_ObjectId": "305ac3bb22c64ab8b6bb86b9b635d09e", - "m_Id": 0, - "m_DisplayName": "In", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "In", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_Labels": [] + ] } { @@ -676,6 +544,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -695,10 +564,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 389.5, - "y": -499.9999694824219, - "width": 363.5, - "height": 117.99999237060547 + "x": 381.5000305175781, + "y": -556.0, + "width": 365.4999084472656, + "height": 118.0 } }, "m_Slots": [ @@ -718,6 +587,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -760,6 +630,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -777,12 +648,18 @@ "m_GuidSerialized": "6a477e46-19fc-42d2-ad3c-2f93d0264344" }, "m_Name": "SHADEROPTIONS_PRE_EXPOSITION", + "m_DefaultRefNameVersion": 0, + "m_RefNameGeneratedByDisplayName": "", "m_DefaultReferenceName": "BOOLEAN_42D223062AB74032B07B902BF878B515_ON", "m_OverrideReferenceName": "SHADEROPTIONS_PRE_EXPOSITION", "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_KeywordType": 0, "m_KeywordDefinition": 2, "m_KeywordScope": 1, + "m_KeywordStages": 63, "m_Entries": [], "m_Value": 0, "m_IsEditable": true @@ -800,10 +677,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": -776.5, - "y": -104.99995422363281, - "width": 156.5, - "height": 34.0 + "x": -302.9999694824219, + "y": -201.0000457763672, + "width": 156.00003051757813, + "height": 33.99998474121094 } }, "m_Slots": [ @@ -814,6 +691,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -829,8 +707,8 @@ "m_ObjectId": "46f893b4df34477bad8026a8627a446a", "m_Title": "Emission", "m_Position": { - "x": -801.4999389648438, - "y": -645.5 + "x": -327.99981689453127, + "y": -614.5 } } @@ -881,29 +759,6 @@ } } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", - "m_ObjectId": "50e244a18f2f4dda8761ac1ec89f7b36", - "m_Id": 1, - "m_DisplayName": "Out", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Out", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_Labels": [] -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -933,10 +788,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": -776.5, - "y": -382.0, - "width": 169.5, - "height": 34.0 + "x": -302.9999694824219, + "y": -426.9999694824219, + "width": 169.4999542236328, + "height": 33.999969482421878 } }, "m_Slots": [ @@ -947,6 +802,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -971,29 +827,6 @@ "m_Labels": [] } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", - "m_ObjectId": "5f95cc4d19ce4ff399707771c951269b", - "m_Id": 0, - "m_DisplayName": "In", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "In", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_Labels": [] -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", @@ -1064,6 +897,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1073,29 +907,6 @@ } } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", - "m_ObjectId": "7566ec9ced344819a9f8ce85b93b08b9", - "m_Id": 1, - "m_DisplayName": "Out", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Out", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_Labels": [] -} - { "m_SGVersion": 1, "m_Type": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty", @@ -1104,9 +915,14 @@ "m_GuidSerialized": "4a9d9167-db8f-4234-b477-bd2175918ed0" }, "m_Name": "UV", + "m_DefaultRefNameVersion": 0, + "m_RefNameGeneratedByDisplayName": "", "m_DefaultReferenceName": "Vector2_2269B91D", "m_OverrideReferenceName": "", "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -1155,10 +971,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": -53.00000762939453, - "y": -265.4999694824219, - "width": 129.0, - "height": 117.99999237060547 + "x": 178.99998474121095, + "y": -265.49993896484377, + "width": 129.50001525878907, + "height": 117.99989318847656 } }, "m_Slots": [ @@ -1175,6 +991,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1189,12 +1006,18 @@ "m_GuidSerialized": "94352154-e4c5-42ab-9109-5ba44b6e670f" }, "m_Name": "EMISSIVE", + "m_DefaultRefNameVersion": 0, + "m_RefNameGeneratedByDisplayName": "", "m_DefaultReferenceName": "", "m_OverrideReferenceName": "_EMISSIVE", "m_GeneratePropertyBlock": false, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_KeywordType": 0, "m_KeywordDefinition": 0, "m_KeywordScope": 0, + "m_KeywordStages": 63, "m_Entries": [], "m_Value": 0, "m_IsEditable": true @@ -1224,56 +1047,6 @@ } } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", - "m_ObjectId": "9c638cecd4fe4db39c030f94bed25619", - "m_Id": 0, - "m_DisplayName": "In", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "In", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_Labels": [] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.CategoryData", - "m_ObjectId": "a026c30c138547f9830d56ef20a3248f", - "m_Name": "", - "m_ChildObjectList": [ - { - "m_Id": "e8c2953e3a3a1d88bec823091a269ccc" - }, - { - "m_Id": "2413f29fc4bfc28ab3f24ea650d93042" - }, - { - "m_Id": "84cd41d18a890081a8905c3217f9fdce" - }, - { - "m_Id": "ebe21fbba1783e84a0d5dbfaa05bf5ab" - }, - { - "m_Id": "92615af80d5e462e8062954c14a537b4" - }, - { - "m_Id": "42d223062ab74032b07b902bf878b515" - } - ] -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", @@ -1310,10 +1083,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": -776.5, - "y": -455.9999694824219, - "width": 160.5, - "height": 34.0 + "x": -302.9999694824219, + "y": -493.5, + "width": 159.99993896484376, + "height": 34.000030517578128 } }, "m_Slots": [ @@ -1324,6 +1097,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1457,45 +1231,6 @@ ] } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.ColorspaceConversionNode", - "m_ObjectId": "d69565a3d3334fec906d90abed0cf68e", - "m_Group": { - "m_Id": "46f893b4df34477bad8026a8627a446a" - }, - "m_Name": "Colorspace Conversion", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": 129.99998474121095, - "y": -586.5, - "width": 211.5, - "height": 130.5 - } - }, - "m_Slots": [ - { - "m_Id": "5f95cc4d19ce4ff399707771c951269b" - }, - { - "m_Id": "2673afc8d1654eaeae8b3e1afd6e255e" - } - ], - "synonyms": [], - "m_Precision": 0, - "m_PreviewExpanded": false, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_Conversion": { - "from": 1, - "to": 0 - } -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", @@ -1517,9 +1252,14 @@ "m_GuidSerialized": "c75fdb25-0e31-46d0-b09b-f0f3505da651" }, "m_Name": "emissiveFactor", + "m_DefaultRefNameVersion": 0, + "m_RefNameGeneratedByDisplayName": "", "m_DefaultReferenceName": "Vector3_BDA4AC8B", "m_OverrideReferenceName": "", "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -1540,9 +1280,14 @@ "m_GuidSerialized": "10cf4f3e-02c3-47e9-a182-4c8c9de5deb4" }, "m_Name": "exposureWeight", + "m_DefaultRefNameVersion": 0, + "m_RefNameGeneratedByDisplayName": "", "m_DefaultReferenceName": "Vector1_AC5B6513", "m_OverrideReferenceName": "", "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -1567,10 +1312,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": -519.0, - "y": -414.0, + "x": -45.49995803833008, + "y": -459.0, "width": 183.0, - "height": 250.0 + "height": 247.99996948242188 } }, "m_Slots": [ @@ -1602,12 +1347,15 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 0, - "m_NormalMapSpace": 0 + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true, + "m_MipSamplingMode": 0 } { @@ -1704,7 +1452,7 @@ "m_StageCapability": 3, "m_BareResource": false, "m_Texture": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "m_DefaultType": 0 diff --git a/package.json b/package.json index 337343b1c..4fd1f1e22 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "com.atteneder.gltfast", - "version": "6.15.1", + "version": "6.16.0", "displayName": "glTFast", "description": "Use glTFast to import and export glTF 3D files efficiently at runtime or in the Editor", "unity": "2022.3", From faa0bde05e4f0d9cc8bb7a3c85f6a292183952ea Mon Sep 17 00:00:00 2001 From: Andreas Atteneder Date: Thu, 26 Feb 2026 18:05:42 +0100 Subject: [PATCH 19/27] com.atteneder.gltfast Release 6.16.1 --- .gitignore | 21 +- CHANGELOG.md | 37 + Editor/Scripts/GltfImporter.cs | 6 +- Runtime/Scripts/CancellationTokenExtension.cs | 47 + .../CancellationTokenExtension.cs.meta | 11 + Runtime/Scripts/DOTS/EntityInstantiator.cs | 3 +- Runtime/Scripts/DataUri.cs | 21 +- .../Export/BuiltInStandardMaterialExport.cs | 44 + .../BuiltInStandardMaterialExport.cs.meta | 11 + Runtime/Scripts/Export/Constants.cs | 2 +- .../Export/HighDefinitionMaterialExport.cs | 10 +- Runtime/Scripts/Export/LitMaterialExport.cs | 40 + .../Scripts/Export/LitMaterialExport.cs.meta | 11 + Runtime/Scripts/Export/MaterialExport.cs | 11 +- .../Export/MetaMaterialExportBuiltIn.cs | 2 +- Runtime/Scripts/Export/OrmImageExport.cs | 13 +- .../Scripts/Export/StandardMaterialExport.cs | 432 +-------- .../Export/StandardMaterialExport.cs.meta | 2 +- .../Export/StandardMaterialExportBase.cs | 470 ++++++++++ .../Export/StandardMaterialExportBase.cs.meta | 11 + Runtime/Scripts/GameObjectInstantiator.cs | 4 +- Runtime/Scripts/GltfImport.cs | 439 ++++++--- Runtime/Scripts/ImportContext.cs | 31 + Runtime/Scripts/ImportContext.cs.meta | 11 + Runtime/Scripts/IndicesData.cs | 75 ++ Runtime/Scripts/IndicesData.cs.meta | 3 + Runtime/Scripts/Jobs.cs | 195 +++- Runtime/Scripts/KtxLoadContext.cs | 5 +- Runtime/Scripts/KtxLoadContextBase.cs | 3 +- .../Loading/DefaultDownloadProvider.cs | 2 +- Runtime/Scripts/Logging/LogMessages.cs | 8 +- .../Material/ShaderGraphMaterialGenerator.cs | 2 + Runtime/Scripts/MeshGenerator.cs | 415 ++++++--- Runtime/Scripts/MeshGeneratorBase.cs | 4 +- Runtime/Scripts/StreamExtension.cs | 26 +- Runtime/Scripts/byte3.cs | 17 +- Runtime/Scripts/ushort3.cs | 28 +- .../glTFIncludes/glTFUnityStandardCore.cginc | 4 +- .../glTFIncludes/glTFUnityStandardInput.cginc | 12 +- Runtime/Shader/Built-In/glTFUnlit.shader | 3 - .../Shader/Export/glTFExportMetalGloss.shader | 4 +- .../Shader/Export/glTFExportSmoothness.shader | 4 +- Runtime/Shader/Includes/Normal.cginc | 4 +- .../Shader/SubGraphs/BaseColor.shadersubgraph | 848 +++--------------- .../glTF-pbrSpecularGlossiness.shadergraph | 129 ++- package.json | 2 +- 46 files changed, 1971 insertions(+), 1512 deletions(-) create mode 100644 Runtime/Scripts/CancellationTokenExtension.cs create mode 100644 Runtime/Scripts/CancellationTokenExtension.cs.meta create mode 100644 Runtime/Scripts/Export/BuiltInStandardMaterialExport.cs create mode 100644 Runtime/Scripts/Export/BuiltInStandardMaterialExport.cs.meta create mode 100644 Runtime/Scripts/Export/LitMaterialExport.cs create mode 100644 Runtime/Scripts/Export/LitMaterialExport.cs.meta create mode 100644 Runtime/Scripts/Export/StandardMaterialExportBase.cs create mode 100644 Runtime/Scripts/Export/StandardMaterialExportBase.cs.meta create mode 100644 Runtime/Scripts/ImportContext.cs create mode 100644 Runtime/Scripts/ImportContext.cs.meta create mode 100644 Runtime/Scripts/IndicesData.cs create mode 100644 Runtime/Scripts/IndicesData.cs.meta diff --git a/.gitignore b/.gitignore index 27e6f29b2..9ff17eb46 100644 --- a/.gitignore +++ b/.gitignore @@ -14,9 +14,9 @@ Assets/AssetStoreTools* # Autogenerated VS/MD/Consulo solution and project files ExportedObj/ .consulo/ -*.csproj +Projects/**/*.csproj *.unityproj -*.sln +Projects/**/*.sln *.suo *.tmp *.user @@ -39,3 +39,20 @@ sysinfo.txt # Rider **/.idea + +# Unity tooling +/upm-ci~ +/test-results~ +/pvp-results + +# glTFast test projects +/Projects/*/ProjectSettings/* +!Projects/*/ProjectSettings/ProjectVersion.txt +/Projects/*/UserSettings +/Projects/*/Assets/Resources* +/Projects/*/Assets/StreamingAssets* +/Projects/*/Packages/packages-lock.json +/Projects/*/Logs + +# CI Tols +Tools/CI/bin \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 5878e2eff..dc41af318 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,43 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [6.16.1] - 2026-02-19 + +### Added +- (Test) *Empty Scene* test asset. +- (Import) Support for 16-bit mesh indices reduces memory footprint for meshes with less than 65k vertices per sub-mesh. + - 16-bit indices are not converted to 32-bit anymore. + - 8-bit indices ar converted to 16-bit (instead of 32-bit). + +### Changed +- [GltfImport.Load](xref:GLTFast.GltfImportBase.Load*), [GltfImport.InstantiateSceneAsync](xref:GLTFast.GltfImportBase.InstantiateSceneAsync*) and their variants now throw an `OperationCanceledException` when cancelled before completion. +- Replaced the generic [StandardMaterialExport](xref:GLTFast.Export.StandardMaterialExport) with specializations. + - [LitMaterialExport](xref:GLTFast.Export.LitMaterialExport) for Universal Render Pipeline Lit shader material export. + - [BuiltInStandardMaterialExport](xref:GLTFast.Export.BuiltInStandardMaterialExport) for Built-in Render Pipeline Standard shader material export. +- (Performance) Improved performance of mesh indices conversion for draw modes line loop, triangle strips and triangle fan. + +### Fixed +- [GltfImport.InstantiateSceneAsync](xref:GLTFast.GltfImportBase.InstantiateSceneAsync*) properly handles an invalid scene index parameter. +- [GltfImport](xref:GLTFast.GltfImportBase) waits for downloads to complete before attempting disposal during cancellation. +- Projects depending on an outdated version of [meshoptimizer mesh compression for Unity] may suppress the corresponding compiler error by using the `GLTFAST_IGNORE_MESHOPT_OUTDATED_ERROR` scripting define symbol. +- (Shader) Incorrect alpha blending/clipping due to invalid color space conversion on the base color map alpha and vertex color alpha values (affected shader graphs only; fixes [#800](https://github.com/atteneder/glTFast/issues/800)). +- (Shader) Built-in render pipeline shaders metallic-roughness and specular-glossiness now factor in vertex color alpha values. +- (Shader) All built-in render pipeline shaders apply vertex color alpha values linearly. +- (Shader) Shader graph *glTF-pbrSpecularGlossiness* does not disregard the *Glossiness* parameter anymore. +- (Import) Cases when specular-glossiness material setup would be incomplete at runtime. +- (Import) Removed remains of incorrectly signed integer indices. +- (Export) Smoothness value property is exported correctly across more combination of settings for Universal Render Pipeline Lit shader based materials (fixes [#795](https://github.com/atteneder/glTFast/issues/795) and [796](https://github.com/atteneder/glTFast/issues/796)). +- (Export) When a Lit/Standard material has a smoothness texture, their smoothness value is baked into the resulting roughness channel (of the ORM map). This preserves the visual appearance, but is a lossy operation if the smoothness value is not `1.0` (fixes [#795](https://github.com/atteneder/glTFast/issues/795) and [796](https://github.com/atteneder/glTFast/issues/796)). +- (Export) `MetaMaterialExportBuiltIn` is used for built-in material export (unless `GLTFAST_BUILTIN_SHADER_GRAPH` is set). +- (Import) Solved exception when scenes with no nodes are loaded. +- (Import) Triangle fan meshes with the center vertex not being the first vertex import correctly now. +- (Test) Graphics tests are more stable/consistent due to dedicated scene. +- (Shader) Incorrect normal unpacking when using default normal map on Android (fixes [#791](https://github.com/atteneder/glTFast/issues/791) and [802](https://github.com/atteneder/glTFast/issues/802)). +- (Export) Texture scaling not preserved on URP/Lit export (fixes [#805](https://github.com/atteneder/glTFast/issues/805)). + +### Deprecated +- Generic built-in/Universal render pipeline [StandardMaterialExport](xref:GLTFast.Export.StandardMaterialExport). + ## [6.16.0] - 2026-01-20 ### Added diff --git a/Editor/Scripts/GltfImporter.cs b/Editor/Scripts/GltfImporter.cs index 833296b38..0e72d9a90 100644 --- a/Editor/Scripts/GltfImporter.cs +++ b/Editor/Scripts/GltfImporter.cs @@ -327,8 +327,8 @@ void ImportScene( { throw new InvalidOperationException("Instantiating scene failed"); } - var useFirstChild = true; - var multipleNodes = scene.nodes.Length > 1; + var useFirstChild = scene.nodes is { Length: > 0 }; + var singleNode = scene.nodes is { Length: 1 }; var hasAnimation = false; #if UNITY_ANIMATION if (importSettings.AnimationMethod != AnimationMethod.None @@ -341,7 +341,7 @@ void ImportScene( #endif if (instantiationSettings.SceneObjectCreation == SceneObjectCreation.Never - || instantiationSettings.SceneObjectCreation == SceneObjectCreation.WhenMultipleRootNodes && !multipleNodes) + || instantiationSettings.SceneObjectCreation == SceneObjectCreation.WhenMultipleRootNodes && singleNode) { // No scene GameObject was created, so the first // child is the first (and in this case only) node. diff --git a/Runtime/Scripts/CancellationTokenExtension.cs b/Runtime/Scripts/CancellationTokenExtension.cs new file mode 100644 index 000000000..42d59e40e --- /dev/null +++ b/Runtime/Scripts/CancellationTokenExtension.cs @@ -0,0 +1,47 @@ +// SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +#if DEBUG && (!UNITY_WEBGL || UNITY_EDITOR) +#define LOG_CANCELLATION_SOURCE +#endif + +using System; +using System.Runtime.CompilerServices; +using System.Threading; +using UnityEngine; + +#if LOG_CANCELLATION_SOURCE +using System.Diagnostics; +using System.Reflection; +#endif + +namespace GLTFast +{ + static class CancellationTokenExtension + { +#if DEBUG + internal static Action s_OnCancellationCheck; +#endif + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + internal static void ThrowIfCancellationRequestedWithTracking(this CancellationToken token) + { +#if DEBUG + s_OnCancellationCheck?.Invoke(); + + if (token.IsCancellationRequested) + { +#if LOG_CANCELLATION_SOURCE + var stackTrace = new StackTrace(); + // frame 0 is this cancellation method, frame 1 is the target caller + if (stackTrace.FrameCount > 1 && stackTrace.GetFrame(1).GetMethod() is MethodInfo methodInfo) + throw new OperationCanceledException($"{methodInfo.DeclaringType}.{methodInfo.Name}", token); +#endif + throw new OperationCanceledException(token); + } +#else // DEBUG + token.ThrowIfCancellationRequested(); +#endif // DEBUG + } + } +} diff --git a/Runtime/Scripts/CancellationTokenExtension.cs.meta b/Runtime/Scripts/CancellationTokenExtension.cs.meta new file mode 100644 index 000000000..43a510dc8 --- /dev/null +++ b/Runtime/Scripts/CancellationTokenExtension.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 185562e36ae2ca14ab3c7be4bdde2e08 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/DOTS/EntityInstantiator.cs b/Runtime/Scripts/DOTS/EntityInstantiator.cs index d0daa64bd..2a255238e 100644 --- a/Runtime/Scripts/DOTS/EntityInstantiator.cs +++ b/Runtime/Scripts/DOTS/EntityInstantiator.cs @@ -75,7 +75,8 @@ uint[] nodeIndices ); var dedicatedSceneEntity = m_Settings.SceneObjectCreation == SceneObjectCreation.Always - || m_Settings.SceneObjectCreation == SceneObjectCreation.WhenMultipleRootNodes && nodeIndices.Length > 1; + || (m_Settings.SceneObjectCreation == SceneObjectCreation.WhenMultipleRootNodes + && nodeIndices is { Length: > 1 }); if (dedicatedSceneEntity) { var sceneEntity = m_EntityManager.CreateEntity(m_Parent == Entity.Null ? m_SceneArchetype : m_NodeArchetype); diff --git a/Runtime/Scripts/DataUri.cs b/Runtime/Scripts/DataUri.cs index acc807b73..5ca7d570d 100644 --- a/Runtime/Scripts/DataUri.cs +++ b/Runtime/Scripts/DataUri.cs @@ -6,6 +6,7 @@ #endif using System; +using System.Threading; using System.Threading.Tasks; using Unity.Collections; using UnityEngine; @@ -32,6 +33,7 @@ public static async ValueTask> DecodeDataUriAsync( int startIndex, int byteLength, IDeferAgent deferAgent, + CancellationToken cancellationToken, bool timeCritical = false ) { @@ -42,7 +44,14 @@ public static async ValueTask> DecodeDataUriAsync( #elif GLTFAST_THREADS if (!timeCritical || deferAgent.ShouldDefer(predictedTime)) { - return await Task.Run(() => DecodeDataUri(dataUri, startIndex, byteLength)); + try + { + return await Task.Run(() => DecodeDataUri(dataUri, startIndex, byteLength), cancellationToken); + } + catch (OperationCanceledException) + { + cancellationToken.ThrowIfCancellationRequestedWithTracking(); + } } #endif await deferAgent.BreakPoint(predictedTime); @@ -66,6 +75,7 @@ public static async ValueTask DecodeDataUriToManagedArrayAsync( int startIndex, int byteLength, IDeferAgent deferAgent, + CancellationToken cancellationToken, bool timeCritical = false ) { @@ -73,7 +83,14 @@ public static async ValueTask DecodeDataUriToManagedArrayAsync( #if GLTFAST_THREADS if (!timeCritical || deferAgent.ShouldDefer(predictedTime)) { - return await Task.Run(() => DecodeDataUriToManagedArray(dataUri, startIndex, byteLength)); + try + { + return await Task.Run(() => DecodeDataUriToManagedArray(dataUri, startIndex, byteLength), cancellationToken); + } + catch (OperationCanceledException) + { + cancellationToken.ThrowIfCancellationRequestedWithTracking(); + } } #endif await deferAgent.BreakPoint(predictedTime); diff --git a/Runtime/Scripts/Export/BuiltInStandardMaterialExport.cs b/Runtime/Scripts/Export/BuiltInStandardMaterialExport.cs new file mode 100644 index 000000000..c72f689f6 --- /dev/null +++ b/Runtime/Scripts/Export/BuiltInStandardMaterialExport.cs @@ -0,0 +1,44 @@ +// SPDX-FileCopyrightText: 2026 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +using GLTFast.Logging; +using GLTFast.Schema; +using UnityEngine; + +namespace GLTFast.Export +{ + /// + /// Converts Built-In Standard shader based materials to glTF materials + /// + public sealed class BuiltInStandardMaterialExport : StandardMaterialExportBase + { + const string k_KeywordMetallicGlossMap = "_METALLICGLOSSMAP"; + + static readonly int k_GlossMapScaleProperty = Shader.PropertyToID("_GlossMapScale"); + + /// + /// _Glossiness shader property identifier + /// + public static readonly int GlossinessProperty = Shader.PropertyToID("_Glossiness"); + + protected override bool HasMetallicGlossMap(UnityEngine.Material uMaterial) + { + return uMaterial.IsKeywordEnabled(k_KeywordMetallicGlossMap); + } + + protected override bool IsPbrMetallicRoughness(UnityEngine.Material material) + { + return material.HasProperty(MetallicProperty) + && ( + HasMetallicGlossMap(material) + || material.HasProperty(GlossinessProperty) + ); + } + + protected override int GetSmoothnessProperty(bool sourceAlbedoAlpha, bool hasMetallicGlossinessMap) + { + return sourceAlbedoAlpha || hasMetallicGlossinessMap ? k_GlossMapScaleProperty : GlossinessProperty; + } + } +} diff --git a/Runtime/Scripts/Export/BuiltInStandardMaterialExport.cs.meta b/Runtime/Scripts/Export/BuiltInStandardMaterialExport.cs.meta new file mode 100644 index 000000000..77bae2614 --- /dev/null +++ b/Runtime/Scripts/Export/BuiltInStandardMaterialExport.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 98caaf8124b124d71b6a10ced5602aee +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/Export/Constants.cs b/Runtime/Scripts/Export/Constants.cs index d7bfd7500..3d0706424 100644 --- a/Runtime/Scripts/Export/Constants.cs +++ b/Runtime/Scripts/Export/Constants.cs @@ -7,7 +7,7 @@ namespace GLTFast.Export { static class Constants { - public const string version = "6.16.0"; + public const string version = "6.16.1"; internal const string mimeTypePNG = "image/png"; internal const string mimeTypeJPG = "image/jpeg"; diff --git a/Runtime/Scripts/Export/HighDefinitionMaterialExport.cs b/Runtime/Scripts/Export/HighDefinitionMaterialExport.cs index 7e64d0211..01746dec8 100644 --- a/Runtime/Scripts/Export/HighDefinitionMaterialExport.cs +++ b/Runtime/Scripts/Export/HighDefinitionMaterialExport.cs @@ -50,6 +50,8 @@ public override bool ConvertMaterial(UnityEngine.Material uMaterial, out Materia } }; + var mainTexProperty = uMaterial.HasProperty(k_BaseColorMap) ? k_BaseColorMap : MainTexProperty; + SetAlphaModeAndCutoff(uMaterial, material); material.doubleSided = IsDoubleSided(uMaterial, MaterialProperty.CullMode); @@ -77,7 +79,7 @@ public override bool ConvertMaterial(UnityEngine.Material uMaterial, out Materia if (emissionTex != null) { if(emissionTex is Texture2D) { material.emissiveTexture = ExportTextureInfo(emissionTex, gltf); - ExportTextureTransform(material.emissiveTexture, uMaterial, k_EmissionColorMap, gltf); + ExportTextureTransform(material.emissiveTexture, uMaterial, mainTexProperty, gltf); } else { logger?.Error(LogCode.TextureInvalidType, "emission", material.name ); success = false; @@ -98,7 +100,7 @@ public override bool ConvertMaterial(UnityEngine.Material uMaterial, out Materia if (normalTex != null) { if(normalTex is Texture2D) { material.normalTexture = ExportNormalTextureInfo(normalTex, uMaterial, gltf, k_NormalScale); - ExportTextureTransform(material.normalTexture, uMaterial, k_NormalMap, gltf); + ExportTextureTransform(material.normalTexture, uMaterial, mainTexProperty, gltf); } else { logger?.Error(LogCode.TextureInvalidType, "normal", uMaterial.name ); success = false; @@ -124,7 +126,7 @@ public override bool ConvertMaterial(UnityEngine.Material uMaterial, out Materia if (coatMaskTex is Texture2D) { material.extensions.KHR_materials_clearcoat.clearcoatTexture = ExportTextureInfo(coatMaskTex, gltf); - ExportTextureTransform(material.extensions.KHR_materials_clearcoat.clearcoatTexture, uMaterial, k_CoatMaskMap, gltf); + ExportTextureTransform(material.extensions.KHR_materials_clearcoat.clearcoatTexture, uMaterial, mainTexProperty, gltf); } else { @@ -135,8 +137,6 @@ public override bool ConvertMaterial(UnityEngine.Material uMaterial, out Materia } } - var mainTexProperty = uMaterial.HasProperty(k_BaseColorMap) ? k_BaseColorMap : MainTexProperty; - if(IsUnlit(uMaterial)) { ExportUnlit(material, uMaterial, mainTexProperty, gltf, logger); } else { diff --git a/Runtime/Scripts/Export/LitMaterialExport.cs b/Runtime/Scripts/Export/LitMaterialExport.cs new file mode 100644 index 000000000..b6f1ac82a --- /dev/null +++ b/Runtime/Scripts/Export/LitMaterialExport.cs @@ -0,0 +1,40 @@ +// SPDX-FileCopyrightText: 2026 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +#if USING_URP || USING_HDRP + +using System; +using GLTFast.Logging; +using GLTFast.Schema; +using UnityEngine; + +namespace GLTFast.Export +{ + /// + /// Converts URP/HDRP Lit shader based materials to glTF materials + /// + public sealed class LitMaterialExport : StandardMaterialExportBase + { + const string k_KeywordMetallicSpecGlossMap = "_METALLICSPECGLOSSMAP"; // URP Lit + + protected override bool IsPbrMetallicRoughness(UnityEngine.Material material) + { + return material.HasProperty(MetallicProperty) + && ( + HasMetallicGlossMap(material) + || material.HasProperty(SmoothnessProperty) + ); + } + + protected override bool HasMetallicGlossMap(UnityEngine.Material uMaterial) + { + return uMaterial.IsKeywordEnabled(k_KeywordMetallicSpecGlossMap); + } + + protected override int GetSmoothnessProperty(bool sourceAlbedoAlpha, bool hasMetallicGlossinessMap) + { + return SmoothnessProperty; + } + } +} +#endif // USING_URP || USING_HDRP diff --git a/Runtime/Scripts/Export/LitMaterialExport.cs.meta b/Runtime/Scripts/Export/LitMaterialExport.cs.meta new file mode 100644 index 000000000..dc4a11dc7 --- /dev/null +++ b/Runtime/Scripts/Export/LitMaterialExport.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9489bb6257d149f3b56aa1d087a5c263 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/Export/MaterialExport.cs b/Runtime/Scripts/Export/MaterialExport.cs index 737c0ebc6..7b4650c5b 100644 --- a/Runtime/Scripts/Export/MaterialExport.cs +++ b/Runtime/Scripts/Export/MaterialExport.cs @@ -29,10 +29,19 @@ public static IMaterialExport GetDefaultMaterialExport() switch (renderPipeline) { case RenderPipeline.BuiltIn: +#if UNITY_SHADER_GRAPH && GLTFAST_BUILTIN_SHADER_GRAPH + s_MaterialExport = MetaMaterialExportShaderGraphs< + StandardMaterialExport, + GltfShaderGraphMaterialExporter + >.Instance; +#else + s_MaterialExport = MetaMaterialExportBuiltIn.Instance; +#endif + break; case RenderPipeline.Universal: #if UNITY_SHADER_GRAPH s_MaterialExport = MetaMaterialExportShaderGraphs< - StandardMaterialExport, + LitMaterialExport, GltfShaderGraphMaterialExporter >.Instance; #else diff --git a/Runtime/Scripts/Export/MetaMaterialExportBuiltIn.cs b/Runtime/Scripts/Export/MetaMaterialExportBuiltIn.cs index f17ebf8cb..3ad07b841 100644 --- a/Runtime/Scripts/Export/MetaMaterialExportBuiltIn.cs +++ b/Runtime/Scripts/Export/MetaMaterialExportBuiltIn.cs @@ -34,7 +34,7 @@ static IMaterialExport FindMatchingMaterialExport(string shaderName) { if (!TryFindMatchingGltfMaterialExport(shaderName, out var materialExport)) { - s_LitMaterialExport ??= new StandardMaterialExport(); + s_LitMaterialExport ??= new BuiltInStandardMaterialExport(); materialExport = s_LitMaterialExport; } return materialExport; diff --git a/Runtime/Scripts/Export/OrmImageExport.cs b/Runtime/Scripts/Export/OrmImageExport.cs index 59e166258..ce1a92da9 100644 --- a/Runtime/Scripts/Export/OrmImageExport.cs +++ b/Runtime/Scripts/Export/OrmImageExport.cs @@ -17,6 +17,7 @@ namespace GLTFast.Export /// class OrmImageExport : ImageExport { + static readonly int smoothnessFactorProperty = Shader.PropertyToID("_SmoothnessFactor"); static Material s_MetalGlossBlitMaterial; static Material s_OcclusionBlitMaterial; @@ -25,22 +26,27 @@ class OrmImageExport : ImageExport readonly Texture2D m_OccTexture; readonly Texture2D m_SmoothnessTexture; + readonly float m_SmoothnessFactor; + /// /// Default constructor /// /// Metal/Gloss texture, as used by Unity Lit/Standard materials /// Occlusion texture, as used by Unity Lit/Standard materials /// Smoothness texture, as used by Unity Lit/Standard materials + /// Smoothness factor /// Export image format public OrmImageExport( Texture2D metalGlossTexture = null, Texture2D occlusionTexture = null, Texture2D smoothnessTexture = null, + float smoothnessFactor = 1.0f, ImageFormat imageFormat = ImageFormat.Unknown) : base(metalGlossTexture, imageFormat) { m_OccTexture = occlusionTexture; m_SmoothnessTexture = smoothnessTexture; + m_SmoothnessFactor = smoothnessFactor; } /// @@ -176,7 +182,8 @@ protected override bool GenerateTexture(out byte[] imageData) { if (m_Texture != null || m_OccTexture != null || m_SmoothnessTexture != null) { - imageData = EncodeOrmTexture(m_Texture, m_OccTexture, m_SmoothnessTexture, ImageFormat, JpgQuality); + imageData = EncodeOrmTexture( + m_Texture, m_OccTexture, m_SmoothnessTexture, m_SmoothnessFactor, ImageFormat, JpgQuality); return true; } imageData = null; @@ -189,6 +196,7 @@ protected override bool GenerateTexture(out byte[] imageData) /// Metal/Gloss texture /// Occlusion texture /// Smoothness texture + /// Smoothenss factor /// Export image format /// [1-100] quality for JPG images /// @@ -196,6 +204,7 @@ static byte[] EncodeOrmTexture( Texture2D metalGlossTexture, Texture2D occlusionTexture, Texture2D smoothnessTexture, + float smoothnessFactor, ImageFormat format, int jpgQuality ) @@ -239,6 +248,7 @@ int jpgQuality RenderTexture.active = rt; } else { + blitMaterial.SetFloat(smoothnessFactorProperty, smoothnessFactor); Graphics.Blit(metalGlossTexture, destRenderTexture, blitMaterial); } if (occlusionTexture != null) { @@ -247,6 +257,7 @@ int jpgQuality } if (smoothnessTexture != null) { blitMaterial = GetGlossBlitMaterial(); + blitMaterial.SetFloat(smoothnessFactorProperty, smoothnessFactor); Graphics.Blit(smoothnessTexture, destRenderTexture, blitMaterial); } diff --git a/Runtime/Scripts/Export/StandardMaterialExport.cs b/Runtime/Scripts/Export/StandardMaterialExport.cs index 7084542a1..9e04c1afc 100644 --- a/Runtime/Scripts/Export/StandardMaterialExport.cs +++ b/Runtime/Scripts/Export/StandardMaterialExport.cs @@ -1,436 +1,38 @@ -// SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors +// SPDX-FileCopyrightText: 2026 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 using System; -using GLTFast.Materials; -using Unity.Mathematics; +using GLTFast.Logging; using UnityEngine; +using Material = GLTFast.Schema.Material; namespace GLTFast.Export { - - using Logging; - using Schema; - /// /// Converts URP/HDRP Lit and Built-In Standard shader based materials to glTF materials /// + /// + /// + [Obsolete("Use BuiltInStandardMaterialExport or LitMaterialExport instead.")] public class StandardMaterialExport : MaterialExportBase { - - const string k_KeywordBumpMap = "_BUMPMAP"; - const string k_KeywordEmission = "_EMISSION"; - const string k_KeywordMetallicGlossMap = "_METALLICGLOSSMAP"; // Built-In Standard -#if USING_URP || USING_HDRP - const string k_KeywordMetallicSpecGlossMap = "_METALLICSPECGLOSSMAP"; // URP Lit -#endif - const string k_KeywordSmoothnessTextureAlbedoChannelA = "_SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A"; - - static readonly int k_EmissionColor = Shader.PropertyToID("_EmissionColor"); - static readonly int k_EmissionMap = Shader.PropertyToID("_EmissionMap"); - static readonly int k_BumpMap = Shader.PropertyToID("_BumpMap"); - static readonly int k_BumpScale = Shader.PropertyToID("_BumpScale"); - static readonly int k_OcclusionMap = Shader.PropertyToID("_OcclusionMap"); - static readonly int k_OcclusionStrength = Shader.PropertyToID("_OcclusionStrength"); - static readonly int k_BaseMap = Shader.PropertyToID("_BaseMap"); - static readonly int k_ColorTexture = Shader.PropertyToID("_ColorTexture"); - static readonly int k_TintColor = Shader.PropertyToID("_TintColor"); - static readonly int k_MetallicGlossMap = Shader.PropertyToID("_MetallicGlossMap"); - static readonly int k_Glossiness = Shader.PropertyToID("_Glossiness"); - static readonly int k_GlossMapScale = Shader.PropertyToID("_GlossMapScale"); - - /// - /// Converts a Unity material to a glTF material. - /// - /// Source material - /// Resulting material - /// Associated IGltfWriter. Is used for adding images and textures. - /// Logger used for reporting - /// True if no errors occured, false otherwise - public override bool ConvertMaterial(UnityEngine.Material uMaterial, out Material material, IGltfWritable gltf, ICodeLogger logger) - { - var success = true; - material = new Material - { - name = uMaterial.name, - pbrMetallicRoughness = new PbrMetallicRoughness - { - metallicFactor = 0, - roughnessFactor = 1.0f - } - }; - - SetAlphaModeAndCutoff(uMaterial, material); - material.doubleSided = IsDoubleSided(uMaterial, MaterialProperty.Cull); - - if (uMaterial.IsKeywordEnabled(k_KeywordEmission)) - { - if (uMaterial.HasProperty(k_EmissionColor)) - { - var emissionColor = uMaterial.GetColor(k_EmissionColor); - - // Clamp emissionColor to 0..1 - var maxFactor = math.max(emissionColor.r, math.max(emissionColor.g, emissionColor.b)); - if (maxFactor > 1f) - { - emissionColor.r /= maxFactor; - emissionColor.g /= maxFactor; - emissionColor.b /= maxFactor; - // TODO: use maxFactor as emissiveStrength (KHR_materials_emissive_strength) - } - - material.Emissive = emissionColor; - } - - if (uMaterial.HasProperty(k_EmissionMap)) - { - var emissionTex = uMaterial.GetTexture(k_EmissionMap); - - if (emissionTex != null) - { - if (emissionTex is Texture2D) - { - material.emissiveTexture = ExportTextureInfo(emissionTex, gltf); - if (material.emissiveTexture != null) - { - ExportTextureTransform(material.emissiveTexture, uMaterial, k_EmissionMap, gltf); - } - } - else - { - logger?.Error(LogCode.TextureInvalidType, "emission", material.name); - success = false; - } - } - } - } - if ( - uMaterial.HasProperty(k_BumpMap) - && (uMaterial.IsKeywordEnabled(Materials.Constants.NormalMapKeyword) - || uMaterial.IsKeywordEnabled(k_KeywordBumpMap)) - ) - { - var normalTex = uMaterial.GetTexture(k_BumpMap); - - if (normalTex != null) - { - if (normalTex is Texture2D) - { - material.normalTexture = ExportNormalTextureInfo(normalTex, uMaterial, gltf, k_BumpScale); - if (material.normalTexture != null) - { - ExportTextureTransform(material.normalTexture, uMaterial, k_BumpMap, gltf); - } - } - else - { - logger?.Error(LogCode.TextureInvalidType, "normal", uMaterial.name); - success = false; - } - } - } - - var isPbrMetallicRoughness = IsPbrMetallicRoughness(uMaterial); - - Texture2D occlusionTexture = null; - Texture2D metalGlossTexture = null; - Texture2D smoothnessTexture = null; - - var mainTexProperty = MainTexProperty; - if (uMaterial.HasProperty(k_BaseMap)) - { - mainTexProperty = k_BaseMap; - } - else if (uMaterial.HasProperty(k_ColorTexture)) - { - mainTexProperty = k_ColorTexture; - } - - var needsMetalRoughTexture = - isPbrMetallicRoughness && - ( - HasMetallicGlossMap(uMaterial) - || HasSmoothnessInAlbedoMapAlpha(uMaterial, mainTexProperty) - ); - - if (IsUnlit(uMaterial)) - { - ExportUnlit(material, uMaterial, mainTexProperty, gltf, logger); - } - else if (isPbrMetallicRoughness) - { - success &= ExportPbrMetallicRoughness( - uMaterial, - material, - mainTexProperty, - gltf, - logger, - out metalGlossTexture, - out smoothnessTexture - ); - } - else if (uMaterial.HasProperty(mainTexProperty)) - { - var mainTex = uMaterial.GetTexture(mainTexProperty); - material.pbrMetallicRoughness = new PbrMetallicRoughness - { - metallicFactor = 0, - roughnessFactor = 1.0f, - BaseColor = uMaterial.HasProperty(BaseColorProperty) - ? uMaterial.GetColor(BaseColorProperty).linear - : Color.white - }; - if (mainTex != null) - { - material.pbrMetallicRoughness.baseColorTexture = ExportTextureInfo(mainTex, gltf); - if (material.pbrMetallicRoughness.baseColorTexture != null) - { - ExportTextureTransform(material.pbrMetallicRoughness.baseColorTexture, uMaterial, mainTexProperty, gltf); - } - } - if (uMaterial.HasProperty(k_TintColor)) - { - //particles use _TintColor instead of _Color - material.pbrMetallicRoughness.BaseColor = uMaterial.GetColor(k_TintColor).linear; - } - } - - if (uMaterial.HasProperty(k_OcclusionMap)) - { - var occTex = uMaterial.GetTexture(k_OcclusionMap); - if (occTex != null) - { - if (occTex is Texture2D occTex2d) - { - if (!needsMetalRoughTexture) - { - material.occlusionTexture = ExportOcclusionTextureInfo(occTex2d, gltf); - } - else - { - material.occlusionTexture = new OcclusionTextureInfo(); - occlusionTexture = occTex2d; - } - if (material.occlusionTexture != null) - { - ExportTextureTransform( - material.occlusionTexture, - uMaterial, - mainTexProperty, // Standard and Lit re-use main texture transform - gltf - ); - } - } - else - { - logger?.Error(LogCode.TextureInvalidType, "occlusion", material.name); - success = false; - } - } - } - - if (needsMetalRoughTexture && material.pbrMetallicRoughness != null) - { - var ormImageExport = new OrmImageExport(metalGlossTexture, occlusionTexture, smoothnessTexture); - if (MaterialExport.AddImageExport(gltf, ormImageExport, out var ormTextureId)) - { - if (material.pbrMetallicRoughness.MetallicRoughnessTexture != null) - { - material.PbrMetallicRoughness.MetallicRoughnessTexture.index = ormTextureId; - ExportTextureTransform(material.PbrMetallicRoughness.MetallicRoughnessTexture, uMaterial, k_MetallicGlossMap, gltf); - } - - if (ormImageExport.HasOcclusion) - { - material.occlusionTexture.index = ormTextureId; - } - } -#if UNITY_IMAGECONVERSION - else { - logger?.Error(LogCode.ExportImageFailed); - } -#endif - } - - if (material.occlusionTexture != null) - { - if (uMaterial.HasProperty(k_OcclusionStrength)) - { - material.occlusionTexture.strength = uMaterial.GetFloat(k_OcclusionStrength); - } - } - - return success; - } - - static bool HasSmoothnessInAlbedoMapAlpha(UnityEngine.Material uMaterial, int mainTexProperty) - { - return uMaterial.IsKeywordEnabled(k_KeywordSmoothnessTextureAlbedoChannelA) - && uMaterial.HasProperty(mainTexProperty) - && uMaterial.GetTexture(mainTexProperty) is not null; - } - - static bool IsPbrMetallicRoughness(UnityEngine.Material material) - { - return material.HasProperty(MetallicProperty) - && ( - HasMetallicGlossMap(material) - || material.HasProperty(k_Glossiness) - || material.HasProperty(SmoothnessProperty) - ); - } - - static bool ExportPbrMetallicRoughness( + /// + public override bool ConvertMaterial( UnityEngine.Material uMaterial, - Material material, - int mainTexProperty, + out Material material, IGltfWritable gltf, - ICodeLogger logger, - out Texture2D metalGlossTexture, - out Texture2D smoothnessTexture - ) - { - metalGlossTexture = null; - smoothnessTexture = null; - var success = true; - var pbr = new PbrMetallicRoughness { metallicFactor = 0, roughnessFactor = 1.0f }; - - var hasAlphaSmoothness = uMaterial.IsKeywordEnabled(k_KeywordSmoothnessTextureAlbedoChannelA); - - if (uMaterial.HasProperty(BaseColorProperty)) - { - pbr.BaseColor = uMaterial.GetColor(BaseColorProperty).linear; - } - else - if (uMaterial.HasProperty(ColorProperty)) - { - pbr.BaseColor = uMaterial.GetColor(ColorProperty).linear; - } - - if (uMaterial.HasProperty(k_TintColor)) - { - //particles use _TintColor instead of _Color - float white = 1; - if (uMaterial.HasProperty(ColorProperty)) - { - var c = uMaterial.GetColor(ColorProperty); - white = (c.r + c.g + c.b) / 3.0f; //multiply alpha by overall whiteness of TintColor - } - - pbr.BaseColor = (uMaterial.GetColor(k_TintColor) * white).linear; - } - - if (uMaterial.HasProperty(mainTexProperty)) - { - // TODO if additive particle, render black into alpha - // TODO use private Material.GetFirstPropertyNameIdByAttribute here, supported from 2020.1+ - var mainTex = uMaterial.GetTexture(mainTexProperty); - - if (mainTex) - { - if (mainTex is Texture2D) - { - pbr.baseColorTexture = ExportTextureInfo( - mainTex, - gltf, - // Force RGB for the baseColor, so that the alpha (which is smoothness) - // is not used for alpha-opacity - hasAlphaSmoothness - ? ImageFormat.Jpg - : ImageFormat.Unknown - ); - if (pbr.BaseColorTexture != null) - { - ExportTextureTransform(pbr.BaseColorTexture, uMaterial, mainTexProperty, gltf); - } - } - else - { - logger?.Error(LogCode.TextureInvalidType, "main", uMaterial.name); - success = false; - } - } - } - - if (uMaterial.HasProperty(MetallicProperty) && !HasMetallicGlossMap(uMaterial)) - { - pbr.metallicFactor = uMaterial.GetFloat(MetallicProperty); - } - - if (uMaterial.HasProperty(k_Glossiness) || uMaterial.HasProperty(SmoothnessProperty)) - { - var smoothnessPropId = uMaterial.HasProperty(SmoothnessProperty) ? SmoothnessProperty : k_Glossiness; - var metallicGlossMap = uMaterial.HasProperty(k_MetallicGlossMap) ? uMaterial.GetTexture(k_MetallicGlossMap) : null; - var smoothness = uMaterial.GetFloat(smoothnessPropId); - pbr.roughnessFactor = (metallicGlossMap != null || hasAlphaSmoothness) && uMaterial.HasProperty(k_GlossMapScale) - ? uMaterial.GetFloat(k_GlossMapScale) - : 1f - smoothness; - } - - if (uMaterial.HasProperty(k_MetallicGlossMap)) - { - var mrTex = uMaterial.GetTexture(k_MetallicGlossMap); - if (mrTex != null) - { - if (mrTex is Texture2D mrTex2d) - { - pbr.metallicRoughnessTexture = pbr.metallicRoughnessTexture ?? new TextureInfo(); - metalGlossTexture = mrTex2d; - if (HasMetallicGlossMap(uMaterial)) - pbr.metallicFactor = 1.0f; - ExportTextureTransform(pbr.metallicRoughnessTexture, uMaterial, k_MetallicGlossMap, gltf); - } - else - { - logger?.Error(LogCode.TextureInvalidType, "metallic/gloss", uMaterial.name); - success = false; - } - } - } - - if (uMaterial.IsKeywordEnabled(k_KeywordSmoothnessTextureAlbedoChannelA)) - { - var smoothnessTex = uMaterial.GetTexture(mainTexProperty) as Texture2D; - if (smoothnessTex != null) - { - pbr.metallicRoughnessTexture = pbr.metallicRoughnessTexture ?? new TextureInfo(); - smoothnessTexture = smoothnessTex; - ExportTextureTransform(pbr.metallicRoughnessTexture, uMaterial, mainTexProperty, gltf); - } - } - - material.pbrMetallicRoughness = pbr; - return success; - } - - static bool HasMetallicGlossMap(UnityEngine.Material uMaterial) + ICodeLogger logger + ) { - return uMaterial.IsKeywordEnabled(k_KeywordMetallicGlossMap) // Built-In Standard #if USING_URP || USING_HDRP - || uMaterial.IsKeywordEnabled(k_KeywordMetallicSpecGlossMap) // URP Lit -#endif - ; - } - - static OcclusionTextureInfo ExportOcclusionTextureInfo( - UnityEngine.Texture texture, - IGltfWritable gltf - ) - { - var texture2d = texture as Texture2D; - if (texture2d == null) + if (RenderPipelineUtils.RenderPipeline != RenderPipeline.BuiltIn) { - return null; + var litExporter = new LitMaterialExport(); + return litExporter.ConvertMaterial(uMaterial, out material, gltf, logger); } - var imageExport = new ImageExport(texture2d); - if (MaterialExport.AddImageExport(gltf, imageExport, out var textureId)) - { - return new OcclusionTextureInfo - { - index = textureId - }; - } - return null; +#endif + var builtInExporter = new BuiltInStandardMaterialExport(); + return builtInExporter.ConvertMaterial(uMaterial, out material, gltf, logger); } } } diff --git a/Runtime/Scripts/Export/StandardMaterialExport.cs.meta b/Runtime/Scripts/Export/StandardMaterialExport.cs.meta index 367e05468..773853cc2 100644 --- a/Runtime/Scripts/Export/StandardMaterialExport.cs.meta +++ b/Runtime/Scripts/Export/StandardMaterialExport.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 145ccf8370f9e47348bba3fc099214f5 +guid: 75795e5045b84be2a8f1b8a43dab5be4 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Runtime/Scripts/Export/StandardMaterialExportBase.cs b/Runtime/Scripts/Export/StandardMaterialExportBase.cs new file mode 100644 index 000000000..c8cde0852 --- /dev/null +++ b/Runtime/Scripts/Export/StandardMaterialExportBase.cs @@ -0,0 +1,470 @@ +// SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +using GLTFast.Logging; +using GLTFast.Materials; +using GLTFast.Schema; +using Unity.Mathematics; +using UnityEngine; +using Material = GLTFast.Schema.Material; + +namespace GLTFast.Export +{ + /// + /// Converts URP/HDRP Lit and Built-In Standard shader based materials to glTF materials + /// + public abstract class StandardMaterialExportBase : MaterialExportBase + { + const string k_KeywordBumpMap = "_BUMPMAP"; + const string k_KeywordEmission = "_EMISSION"; + const string k_KeywordSmoothnessTextureAlbedoChannelA = "_SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A"; + + static readonly int k_EmissionColor = Shader.PropertyToID("_EmissionColor"); + static readonly int k_EmissionMap = Shader.PropertyToID("_EmissionMap"); + static readonly int k_BumpMap = Shader.PropertyToID("_BumpMap"); + static readonly int k_BumpScale = Shader.PropertyToID("_BumpScale"); + static readonly int k_MetallicGlossMap = Shader.PropertyToID("_MetallicGlossMap"); + static readonly int k_OcclusionMap = Shader.PropertyToID("_OcclusionMap"); + static readonly int k_OcclusionStrength = Shader.PropertyToID("_OcclusionStrength"); + static readonly int k_BaseMap = Shader.PropertyToID("_BaseMap"); + static readonly int k_ColorTexture = Shader.PropertyToID("_ColorTexture"); + static readonly int k_TintColor = Shader.PropertyToID("_TintColor"); + + /// + /// Converts a Unity material to a glTF material. + /// + /// Source material + /// Resulting material + /// Associated IGltfWriter. Is used for adding images and textures. + /// Logger used for reporting + /// True if no errors occured, false otherwise + public override bool ConvertMaterial( + UnityEngine.Material uMaterial, + out Material material, + IGltfWritable gltf, + ICodeLogger logger + ) + { + var success = true; + material = new Material + { + name = uMaterial.name, + pbrMetallicRoughness = new PbrMetallicRoughness + { + metallicFactor = 0, + roughnessFactor = 1.0f + } + }; + + var mainTexProperty = MainTexProperty; + if (uMaterial.HasProperty(k_BaseMap)) + { + mainTexProperty = k_BaseMap; + } + else if (uMaterial.HasProperty(k_ColorTexture)) + { + mainTexProperty = k_ColorTexture; + } + + SetAlphaModeAndCutoff(uMaterial, material); + material.doubleSided = IsDoubleSided(uMaterial, MaterialProperty.Cull); + + if (uMaterial.IsKeywordEnabled(k_KeywordEmission)) + { + if (uMaterial.HasProperty(k_EmissionColor)) + { + var emissionColor = uMaterial.GetColor(k_EmissionColor); + + // Clamp emissionColor to 0..1 + var maxFactor = math.max(emissionColor.r, math.max(emissionColor.g, emissionColor.b)); + if (maxFactor > 1f) + { + emissionColor.r /= maxFactor; + emissionColor.g /= maxFactor; + emissionColor.b /= maxFactor; + // TODO: use maxFactor as emissiveStrength (KHR_materials_emissive_strength) + } + + material.Emissive = emissionColor; + } + + if (uMaterial.HasProperty(k_EmissionMap)) + { + var emissionTex = uMaterial.GetTexture(k_EmissionMap); + + if (emissionTex != null) + { + if (emissionTex is Texture2D) + { + material.emissiveTexture = ExportTextureInfo(emissionTex, gltf); + if (material.emissiveTexture != null) + { + ExportTextureTransform(material.emissiveTexture, uMaterial, mainTexProperty, gltf); + } + } + else + { + logger?.Error(LogCode.TextureInvalidType, "emission", material.name); + success = false; + } + } + } + } + if ( + uMaterial.HasProperty(k_BumpMap) + && (uMaterial.IsKeywordEnabled(Materials.Constants.NormalMapKeyword) + || uMaterial.IsKeywordEnabled(k_KeywordBumpMap)) + ) + { + var normalTex = uMaterial.GetTexture(k_BumpMap); + + if (normalTex != null) + { + if (normalTex is Texture2D) + { + material.normalTexture = ExportNormalTextureInfo(normalTex, uMaterial, gltf, k_BumpScale); + if (material.normalTexture != null) + { + ExportTextureTransform(material.normalTexture, uMaterial, mainTexProperty, gltf); + } + } + else + { + logger?.Error(LogCode.TextureInvalidType, "normal", uMaterial.name); + success = false; + } + } + } + + var isPbrMetallicRoughness = IsPbrMetallicRoughness(uMaterial); + + Texture2D occlusionTexture = null; + Texture2D metalGlossTexture = null; + Texture2D smoothnessTexture = null; + var smoothnessFactor = 1.0f; + + var needsMetalRoughTexture = + isPbrMetallicRoughness && + ( + HasMetallicGlossMap(uMaterial) + || HasSmoothnessInAlbedoMapAlpha(uMaterial, mainTexProperty) + ); + + if (IsUnlit(uMaterial)) + { + ExportUnlit(material, uMaterial, mainTexProperty, gltf, logger); + } + else if (isPbrMetallicRoughness) + { + success &= ExportPbrMetallicRoughness( + uMaterial, + material, + mainTexProperty, + gltf, + logger, + out metalGlossTexture, + out smoothnessTexture, + out smoothnessFactor + ); + } + else if (uMaterial.HasProperty(mainTexProperty)) + { + var mainTex = uMaterial.GetTexture(mainTexProperty); + material.pbrMetallicRoughness = new PbrMetallicRoughness + { + metallicFactor = 0, + roughnessFactor = 1.0f, + BaseColor = uMaterial.HasProperty(BaseColorProperty) + ? uMaterial.GetColor(BaseColorProperty).linear + : Color.white + }; + if (mainTex != null) + { + material.pbrMetallicRoughness.baseColorTexture = ExportTextureInfo(mainTex, gltf); + if (material.pbrMetallicRoughness.baseColorTexture != null) + { + ExportTextureTransform(material.pbrMetallicRoughness.baseColorTexture, uMaterial, mainTexProperty, gltf); + } + } + if (uMaterial.HasProperty(k_TintColor)) + { + //particles use _TintColor instead of _Color + material.pbrMetallicRoughness.BaseColor = uMaterial.GetColor(k_TintColor).linear; + } + } + + if (uMaterial.HasProperty(k_OcclusionMap)) + { + var occTex = uMaterial.GetTexture(k_OcclusionMap); + if (occTex != null) + { + if (occTex is Texture2D occTex2d) + { + if (!needsMetalRoughTexture) + { + material.occlusionTexture = ExportOcclusionTextureInfo(occTex2d, gltf); + } + else + { + material.occlusionTexture = new OcclusionTextureInfo(); + occlusionTexture = occTex2d; + } + if (material.occlusionTexture != null) + { + ExportTextureTransform( + material.occlusionTexture, + uMaterial, + mainTexProperty, // Standard and Lit re-use main texture transform + gltf + ); + } + } + else + { + logger?.Error(LogCode.TextureInvalidType, "occlusion", material.name); + success = false; + } + } + } + + if (needsMetalRoughTexture && material.pbrMetallicRoughness != null) + { + var ormImageExport = new OrmImageExport( + metalGlossTexture, occlusionTexture, smoothnessTexture, smoothnessFactor); + if (MaterialExport.AddImageExport(gltf, ormImageExport, out var ormTextureId)) + { + if (material.pbrMetallicRoughness.MetallicRoughnessTexture != null) + { + material.PbrMetallicRoughness.MetallicRoughnessTexture.index = ormTextureId; + ExportTextureTransform(material.PbrMetallicRoughness.MetallicRoughnessTexture, uMaterial, mainTexProperty, gltf); + } + + if (ormImageExport.HasOcclusion) + { + material.occlusionTexture.index = ormTextureId; + } + } +#if UNITY_IMAGECONVERSION + else { + logger?.Error(LogCode.ExportImageFailed); + } +#endif + } + + if (material.occlusionTexture != null) + { + if (uMaterial.HasProperty(k_OcclusionStrength)) + { + material.occlusionTexture.strength = uMaterial.GetFloat(k_OcclusionStrength); + } + } + + return success; + } + + static bool HasSmoothnessInAlbedoMapAlpha(UnityEngine.Material uMaterial, int mainTexProperty) + { + return uMaterial.IsKeywordEnabled(k_KeywordSmoothnessTextureAlbedoChannelA) + && uMaterial.HasProperty(mainTexProperty) + && uMaterial.GetTexture(mainTexProperty) is not null; + } + + /// + /// Detects whether the source material should be exported as a PBR Metallic-Roughness material. + /// + /// Unity source material + /// True when the exported glTF material should be PBR Metallic-Rougness based, + /// false otherwise. + protected abstract bool IsPbrMetallicRoughness(UnityEngine.Material material); + + bool ExportPbrMetallicRoughness( + UnityEngine.Material uMaterial, + Material material, + int mainTexProperty, + IGltfWritable gltf, + ICodeLogger logger, + out Texture2D metalGlossTexture, + out Texture2D smoothnessTexture, + out float smoothnessFactor + ) + { + metalGlossTexture = null; + smoothnessTexture = null; + var success = true; + var pbr = new PbrMetallicRoughness { metallicFactor = 0, roughnessFactor = 1.0f }; + + var hasAlphaSmoothness = uMaterial.IsKeywordEnabled(k_KeywordSmoothnessTextureAlbedoChannelA); + + if (uMaterial.HasProperty(BaseColorProperty)) + { + pbr.BaseColor = uMaterial.GetColor(BaseColorProperty).linear; + } + else + if (uMaterial.HasProperty(ColorProperty)) + { + pbr.BaseColor = uMaterial.GetColor(ColorProperty).linear; + } + + if (uMaterial.HasProperty(k_TintColor)) + { + //particles use _TintColor instead of _Color + float white = 1; + if (uMaterial.HasProperty(ColorProperty)) + { + var c = uMaterial.GetColor(ColorProperty); + white = (c.r + c.g + c.b) / 3.0f; //multiply alpha by overall whiteness of TintColor + } + + pbr.BaseColor = (uMaterial.GetColor(k_TintColor) * white).linear; + } + + if (uMaterial.HasProperty(mainTexProperty)) + { + // TODO if additive particle, render black into alpha + // TODO use private Material.GetFirstPropertyNameIdByAttribute here, supported from 2020.1+ + var mainTex = uMaterial.GetTexture(mainTexProperty); + + if (mainTex) + { + if (mainTex is Texture2D) + { + pbr.baseColorTexture = ExportTextureInfo( + mainTex, + gltf, + // Force RGB for the baseColor, so that the alpha (which is smoothness) + // is not used for alpha-opacity + hasAlphaSmoothness + ? ImageFormat.Jpg + : ImageFormat.Unknown + ); + if (pbr.BaseColorTexture != null) + { + ExportTextureTransform(pbr.BaseColorTexture, uMaterial, mainTexProperty, gltf); + } + } + else + { + logger?.Error(LogCode.TextureInvalidType, "main", uMaterial.name); + success = false; + } + } + } + + if (uMaterial.HasProperty(MetallicProperty) && !HasMetallicGlossMap(uMaterial)) + { + pbr.metallicFactor = uMaterial.GetFloat(MetallicProperty); + } + + metalGlossTexture = GetMetallicGlossMap(uMaterial); + + smoothnessFactor = 0f; + var smoothnessSourceAlbedoAlpha = uMaterial.IsKeywordEnabled(k_KeywordSmoothnessTextureAlbedoChannelA); + var hasSmoothnessTexture = false; + + if (metalGlossTexture is not null) + { + if (!smoothnessSourceAlbedoAlpha) + { + hasSmoothnessTexture = true; + // smoothness channel * smoothnessFactor will be baked into ORM texture. + pbr.roughnessFactor = 1f; + } + pbr.metallicRoughnessTexture ??= new TextureInfo(); + if (HasMetallicGlossMap(uMaterial)) + { + pbr.metallicFactor = 1.0f; + } + ExportTextureTransform(pbr.metallicRoughnessTexture, uMaterial, k_MetallicGlossMap, gltf); + } + + if (smoothnessSourceAlbedoAlpha && uMaterial.GetTexture(mainTexProperty) is Texture2D smoothnessTex) + { + // smoothnessFactor will be baked into ORM texture + pbr.roughnessFactor = 1f; + pbr.metallicRoughnessTexture ??= new TextureInfo(); + smoothnessTexture = smoothnessTex; + ExportTextureTransform(pbr.metallicRoughnessTexture, uMaterial, mainTexProperty, gltf); + hasSmoothnessTexture = true; + } + + var smoothnessProperty = GetSmoothnessProperty( + smoothnessSourceAlbedoAlpha, metalGlossTexture is not null); + if (uMaterial.HasProperty(smoothnessProperty)) + { + smoothnessFactor = uMaterial.GetFloat(smoothnessProperty); + if (!hasSmoothnessTexture) + { + pbr.roughnessFactor = 1f - smoothnessFactor; + } + } + + if (!hasSmoothnessTexture) + { + // Set smoothnessFactor to 0 + // to prevent albedo/metallic alpha getting baked into the ORM texture inadvertently. + smoothnessFactor = 0f; + } + + material.pbrMetallicRoughness = pbr; + return success; + } + + static Texture2D GetMetallicGlossMap(UnityEngine.Material uMaterial) + { + if (uMaterial.HasProperty(k_MetallicGlossMap)) + { + var metallicGlossMap = uMaterial.GetTexture(k_MetallicGlossMap); + // Use implicit Unity object lifetime check to convert to explicit null value. + if (metallicGlossMap == null) + { + return null; + } + + if (metallicGlossMap is Texture2D mgTex2d) + { + return mgTex2d; + } + } + + return null; + } + + /// + /// Detects whether a metallic-glossiness map is assigned to the source material. + /// + /// Unity source material. + /// True if the material has a metallic-glossiness map assigned, false otherwise. + protected abstract bool HasMetallicGlossMap(UnityEngine.Material uMaterial); + + /// + /// Retrieves the smoothness property ID for the source material's smoothness value. + /// + /// True when the smoothness source is the Albedo map's alpha channel. + /// True when a metallic-glossiness map is assigned + /// to the source material. + /// The property ID for the smoothness value property in use. + protected abstract int GetSmoothnessProperty(bool sourceAlbedoAlpha, bool hasMetallicGlossinessMap); + + static OcclusionTextureInfo ExportOcclusionTextureInfo( + UnityEngine.Texture texture, + IGltfWritable gltf + ) + { + var texture2d = texture as Texture2D; + if (texture2d == null) + { + return null; + } + var imageExport = new ImageExport(texture2d); + if (MaterialExport.AddImageExport(gltf, imageExport, out var textureId)) + { + return new OcclusionTextureInfo + { + index = textureId + }; + } + return null; + } + } +} diff --git a/Runtime/Scripts/Export/StandardMaterialExportBase.cs.meta b/Runtime/Scripts/Export/StandardMaterialExportBase.cs.meta new file mode 100644 index 000000000..367e05468 --- /dev/null +++ b/Runtime/Scripts/Export/StandardMaterialExportBase.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 145ccf8370f9e47348bba3fc099214f5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/GameObjectInstantiator.cs b/Runtime/Scripts/GameObjectInstantiator.cs index 38695e826..f09382bfa 100644 --- a/Runtime/Scripts/GameObjectInstantiator.cs +++ b/Runtime/Scripts/GameObjectInstantiator.cs @@ -105,7 +105,9 @@ uint[] rootNodeIndices GameObject sceneGameObject; if (m_Settings.SceneObjectCreation == SceneObjectCreation.Never - || m_Settings.SceneObjectCreation == SceneObjectCreation.WhenMultipleRootNodes && rootNodeIndices.Length == 1) + || (m_Settings.SceneObjectCreation == SceneObjectCreation.WhenMultipleRootNodes + && (rootNodeIndices == null || rootNodeIndices.Length == 1)) + ) { sceneGameObject = m_Parent.gameObject; } diff --git a/Runtime/Scripts/GltfImport.cs b/Runtime/Scripts/GltfImport.cs index 239a8a48a..9205c7967 100755 --- a/Runtime/Scripts/GltfImport.cs +++ b/Runtime/Scripts/GltfImport.cs @@ -20,8 +20,8 @@ #if MESHOPT_IS_RECENT #define MESHOPT_IS_ENABLED -#elif MESHOPT_IS_INSTALLED -#error You have to update the *meshoptimizer mesh compression for Unity* package in package manager to enable support for decoding meshoptimizer compressed buffer views in *glTFast*. +#elif MESHOPT_IS_INSTALLED && !GLTFAST_IGNORE_MESHOPT_OUTDATED_ERROR +#error You have to update the meshoptimizer mesh compression for Unity package in package manager to enable support for decoding meshoptimizer compressed buffer views in glTFast. Add "GLTFAST_IGNORE_MESHOPT_OUTDATED_ERROR" to your project's scripting define symbols to temporarily suppress this error. #endif // #define MEASURE_TIMINGS @@ -184,12 +184,13 @@ public abstract class GltfImportBase : IGltfReadable, IGltfBuffers, IDisposable static MeshComparer s_MeshComparer = new MeshComparer(); /// Logger used by this glTF import instance. - public ICodeLogger Logger { get; } + public ICodeLogger Logger => m_Context.Logger; /// Defer agent used by this glTF import instance. - public IDeferAgent DeferAgent { get; } + public IDeferAgent DeferAgent => m_Context.DeferAgent; + + ImportContext m_Context; - IDownloadProvider m_DownloadProvider; IMaterialGenerator m_MaterialGenerator; Dictionary m_ImportInstances; @@ -310,8 +311,6 @@ public GltfImportBase( ICodeLogger logger = null ) { - m_DownloadProvider = downloadProvider ?? new DefaultDownloadProvider(); - if (deferAgent == null) { if (s_DefaultDeferAgent == null @@ -325,15 +324,15 @@ public GltfImportBase( // Adding a DefaultDeferAgent component will make it un-register via defaultDeferAgentGameObject.AddComponent(); } - DeferAgent = s_DefaultDeferAgent; - } - else - { - DeferAgent = deferAgent; + deferAgent = s_DefaultDeferAgent; } m_MaterialGenerator = materialGenerator ?? MaterialGenerator.GetDefaultMaterialGenerator(); - Logger = logger; + m_Context = new ImportContext( + downloadProvider ?? new DefaultDownloadProvider(), + logger, + deferAgent + ); ImportAddonRegistry.InjectAllAddons(this); } @@ -406,6 +405,7 @@ public T GetImportAddonInstance() where T : ImportAddonInstance /// Import Settings ( for details) /// Token to submit cancellation requests. The default value is None. /// True if loading was mainly successful and no critical error occurred, false otherwise + /// Thrown when cancelled before completion. public async Task Load( string url, ImportSettings importSettings = null, @@ -423,6 +423,7 @@ public async Task Load( /// Import Settings ( for details) /// Token to submit cancellation requests. The default value is None. /// True if loading was mainly successful and no critical error occurred, false otherwise + /// Thrown when cancelled before completion. public async Task Load( Uri url, ImportSettings importSettings = null, @@ -441,6 +442,7 @@ public async Task Load( /// Import Settings ( for details) /// Token to submit cancellation requests. The default value is None. /// True if loading was mainly successful and no critical error occurred, false otherwise + /// Thrown when cancelled before completion. public async Task Load( byte[] data, Uri uri = null, @@ -467,6 +469,7 @@ public async Task Load( /// Import Settings ( for details) /// Token to submit cancellation requests. The default value is None. /// True if loading was mainly successful and no critical error occurred, false otherwise + /// Thrown when cancelled before completion. public async Task Load( NativeArray.ReadOnly data, Uri uri = null, @@ -479,6 +482,8 @@ public async Task Load( return await LoadGltfBinaryInternal(data, uri, importSettings, cancellationToken); } + cancellationToken.ThrowIfCancellationRequestedWithTracking(); + // Fallback interpreting data as string // TODO: ToArray does another, slow memcpy! Find a better solution. var json = Encoding.UTF8.GetString(data.ToArray(), 0, data.Length); @@ -493,6 +498,7 @@ public async Task Load( /// Import Settings ( for details) /// Token to submit cancellation requests. The default value is None. /// True if loading was mainly successful and no critical error occurred, false otherwise + /// Thrown when cancelled before completion. public async Task LoadFile( string localPath, Uri uri = null, @@ -519,6 +525,7 @@ public async Task LoadFile( /// Import Settings ( for details) /// Token to submit cancellation requests. The default value is None. /// True if loading was mainly successful and no critical error occurred, false otherwise + /// Thrown when cancelled before completion. public async Task LoadStream( Stream stream, Uri uri = null, @@ -542,7 +549,7 @@ public async Task LoadStream( return false; } - if (cancellationToken.IsCancellationRequested) return false; + cancellationToken.ThrowIfCancellationRequestedWithTracking(); if (GltfGlobals.IsGltfBinary(firstBytes)) { @@ -579,7 +586,14 @@ public async Task LoadStream( var predictedTime = length / (float)k_MemCopySpeed; if (DeferAgent.ShouldDefer(predictedTime)) { - await Task.Run(() => CopyStreamToMemory(stream, mem), cancellationToken); + try + { + await Task.Run(() => CopyStreamToMemory(stream, mem), cancellationToken); + } + catch (OperationCanceledException) + { + cancellationToken.ThrowIfCancellationRequestedWithTracking(); + } } else #endif // GLTFAST_THREADS @@ -605,8 +619,9 @@ public async Task LoadStream( reader.Dispose(); - return !cancellationToken.IsCancellationRequested - && await LoadGltfJson(json, uri, importSettings, cancellationToken); + cancellationToken.ThrowIfCancellationRequestedWithTracking(); + + return await LoadGltfJson(json, uri, importSettings, cancellationToken); } /// @@ -619,6 +634,7 @@ public async Task LoadStream( /// Import Settings ( for details) /// Token to submit cancellation requests. The default value is None. /// True if loading was mainly successful and no critical error occurred, false otherwise + /// Thrown when cancelled before completion. [Obsolete("Use the generic Load instead.")] public async Task LoadGltfBinary( byte[] bytes, @@ -646,6 +662,7 @@ public async Task LoadGltfBinary( /// Import Settings ( for details) /// Token to submit cancellation requests. The default value is None. /// True if loading was mainly successful and no critical error occurred, false otherwise + /// Thrown when cancelled before completion. public async Task LoadGltfJson( string json, Uri uri = null, @@ -653,12 +670,25 @@ public async Task LoadGltfJson( CancellationToken cancellationToken = default ) { - m_Settings = importSettings ?? new ImportSettings(); - var success = - await LoadGltf(json, uri) - && await LoadContent() - && await Prepare(); - DisposeVolatileData(); + bool success; + try + { + m_Settings = importSettings ?? new ImportSettings(); + success = + await LoadGltf(json, uri, cancellationToken) + && await LoadContent(cancellationToken) + && await Prepare(cancellationToken); + } + catch (OperationCanceledException e) + { + Logger?.Info(LogCode.OperationCanceled, e.Message); + throw; + } + finally + { + await DisposeVolatileData(); + } + LoadingError = !success; LoadingDone = true; return success; @@ -699,6 +729,7 @@ public bool InstantiateScene(IInstantiator instantiator, int sceneIndex = 0) /// Transform that the scene will get parented to /// Token to submit cancellation requests. The default value is None. /// True if the main scene was instantiated or was not set. False in case of errors. + /// Thrown when cancelled before completion. /// public async Task InstantiateMainSceneAsync( Transform parent, @@ -717,6 +748,7 @@ public async Task InstantiateMainSceneAsync( /// Instantiator implementation; Receives and processes the scene data /// Token to submit cancellation requests. The default value is None. /// True if the main scene was instantiated or was not set. False in case of errors. + /// Thrown when cancelled before completion. /// public async Task InstantiateMainSceneAsync( IInstantiator instantiator, @@ -743,6 +775,7 @@ public async Task InstantiateMainSceneAsync( /// Index of the scene to be instantiated /// Token to submit cancellation requests. The default value is None. /// True if the scene was instantiated. False in case of errors. + /// Thrown when cancelled before completion. /// /// public async Task InstantiateSceneAsync( @@ -752,7 +785,7 @@ public async Task InstantiateSceneAsync( ) { if (!LoadingDone || LoadingError) return false; - if (sceneIndex < 0 || sceneIndex > Root.Scenes.Count) return false; + if (sceneIndex < 0 || sceneIndex >= Root.Scenes.Count) return false; var instantiator = new GameObjectInstantiator(this, parent); var success = await InstantiateSceneAsync(instantiator, sceneIndex, cancellationToken); return success; @@ -765,6 +798,7 @@ public async Task InstantiateSceneAsync( /// Index of the scene to be instantiated /// Token to submit cancellation requests. The default value is None. /// True if the scene was instantiated. False in case of errors. + /// Thrown when cancelled before completion. /// /// public async Task InstantiateSceneAsync( @@ -774,8 +808,16 @@ public async Task InstantiateSceneAsync( ) { if (!LoadingDone || LoadingError) return false; - if (sceneIndex < 0 || sceneIndex > Root.Scenes.Count) return false; - await InstantiateSceneInternal(instantiator, sceneIndex); + if (sceneIndex < 0 || sceneIndex >= Root.Scenes.Count) return false; + try + { + await InstantiateSceneInternal(instantiator, sceneIndex, cancellationToken); + } + catch (OperationCanceledException e) + { + Logger?.Info(LogCode.OperationCanceled, e.Message); + throw; + } return true; } @@ -904,13 +946,13 @@ public UnityEngine.Material GetDefaultMaterial() { #if UNITY_EDITOR if (defaultMaterial == null) { - m_MaterialGenerator.SetLogger(Logger); + m_MaterialGenerator.SetLogger(m_Context.Logger); defaultMaterial = m_MaterialGenerator.GetDefaultMaterial(m_DefaultMaterialPointsSupport); m_MaterialGenerator.SetLogger(null); } return defaultMaterial; #else - m_MaterialGenerator.SetLogger(Logger); + m_MaterialGenerator.SetLogger(m_Context.Logger); var material = m_MaterialGenerator.GetDefaultMaterial(m_DefaultMaterialPointsSupport); m_MaterialGenerator.SetLogger(null); return material; @@ -1238,53 +1280,68 @@ int StreamReadToMemory(int length) async Task LoadFromUri(Uri url, CancellationToken cancellationToken) { - - var download = await m_DownloadProvider.Request(url); - var success = download.Success; - - if (cancellationToken.IsCancellationRequested) + bool success; + IDownload download = null; + try { - return true; - } + cancellationToken.ThrowIfCancellationRequestedWithTracking(); - if (success) - { + download = await m_Context.DownloadProvider.Request(url); + success = download.Success; - var gltfBinary = download.IsBinary ?? UriHelper.IsGltfBinary(url); + cancellationToken.ThrowIfCancellationRequestedWithTracking(); - if (gltfBinary ?? false) + if (success) { - m_VolatileDisposables ??= new List(); - NativeArray.ReadOnly data; - if (download is INativeDownload nativeDownload) + var gltfBinary = download.IsBinary ?? UriHelper.IsGltfBinary(url); + + if (gltfBinary ?? false) { - data = nativeDownload.NativeData; + m_VolatileDisposables ??= new List(); + NativeArray.ReadOnly data; + if (download is INativeDownload nativeDownload) + { + data = nativeDownload.NativeData; + } + else + { + var managedNativeArray = new ReadOnlyNativeArrayFromManagedArray(download.Data); + m_VolatileDisposables.Add(managedNativeArray); + data = managedNativeArray.Array.AsNativeArrayReadOnly(); + } + + m_VolatileDisposables.Add(download); + success = await LoadGltfBinaryBuffer(data, url, cancellationToken); } else { - var managedNativeArray = new ReadOnlyNativeArrayFromManagedArray(download.Data); - m_VolatileDisposables.Add(managedNativeArray); - data = managedNativeArray.Array.AsNativeArrayReadOnly(); + var text = download.Text; + download.Dispose(); + download = null; + success = await LoadGltf(text, url, cancellationToken); } - m_VolatileDisposables.Add(download); - success = await LoadGltfBinaryBuffer(data, url); + + success = success + && await LoadContent(cancellationToken) + && await Prepare(cancellationToken); } else { - var text = download.Text; - download.Dispose(); - success = await LoadGltf(text, url); + Logger?.Error(LogCode.Download, download.Error, url.ToString()); } - success = success - && await LoadContent() - && await Prepare(); } - else + catch (OperationCanceledException e) { - Logger?.Error(LogCode.Download, download.Error, url.ToString()); + Logger?.Info(LogCode.OperationCanceled, e.Message); + if (m_VolatileDisposables?.Contains(download) is false) + download?.Dispose(); + throw; + } + finally + { + await DisposeVolatileData(); } - DisposeVolatileData(); LoadingError = !success; LoadingDone = true; return success; @@ -1296,21 +1353,36 @@ async Task LoadGltfBinaryInternal( CancellationToken cancellationToken ) { - m_Settings = importSettings ?? new ImportSettings(); - var success = await LoadGltfBinaryBuffer(bytes, uri); - success = success - && await LoadContent() - && await Prepare(); - DisposeVolatileData(); + bool success; + try + { + m_Settings = importSettings ?? new ImportSettings(); + success = await LoadGltfBinaryBuffer(bytes, uri, cancellationToken); + success = success + && await LoadContent(cancellationToken) + && await Prepare(cancellationToken); + } + catch (OperationCanceledException e) + { + Logger?.Info(LogCode.OperationCanceled, e.Message); + throw; + } + finally + { + await DisposeVolatileData(); + } + LoadingError = !success; LoadingDone = true; return success; } - async Task LoadContent() + async Task LoadContent(CancellationToken cancellationToken) { - var success = await WaitForBufferDownloads(); + var success = await WaitForBufferDownloads(cancellationToken); + + cancellationToken.ThrowIfCancellationRequestedWithTracking(); #if MESHOPT_IS_ENABLED if (success) { @@ -1322,14 +1394,14 @@ async Task LoadContent() if (m_TextureDownloadTasks != null) { if(success) - await WaitForTextureDownloads(); + await WaitForTextureDownloads(cancellationToken); m_TextureDownloadTasks.Clear(); } #endif // UNITY_IMAGECONVERSION #if KTX_IS_ENABLED if (m_KtxDownloadTasks != null) { if(success) - await WaitForKtxDownloads(); + await WaitForKtxDownloads(cancellationToken); m_KtxDownloadTasks.Clear(); } #endif // KTX_IS_ENABLED @@ -1344,15 +1416,24 @@ async Task LoadContent() /// De-serialized glTF root object. protected abstract RootBase ParseJson(string json); - async Task ParseJsonAndLoadBuffers(string json, Uri baseUri) + async Task ParseJsonAndLoadBuffers(string json, Uri baseUri, CancellationToken cancellationToken) { + cancellationToken.ThrowIfCancellationRequestedWithTracking(); + var predictedTime = json.Length / (float)k_JsonParseSpeed; #if GLTFAST_THREADS && !MEASURE_TIMINGS if (DeferAgent.ShouldDefer(predictedTime)) { // JSON is larger than threshold // => parse in a thread - Root = await Task.Run(() => ParseJson(json)); + try + { + Root = await Task.Run(() => ParseJson(json), cancellationToken); + } + catch (OperationCanceledException) + { + cancellationToken.ThrowIfCancellationRequestedWithTracking(); + } } else #endif @@ -1387,13 +1468,15 @@ async Task ParseJsonAndLoadBuffers(string json, Uri baseUri) for (var i = 0; i < bufferCount; i++) { + cancellationToken.ThrowIfCancellationRequestedWithTracking(); + var buffer = Root.Buffers[i]; if (!string.IsNullOrEmpty(buffer.uri)) { if (buffer.uri.StartsWith("data:")) { Logger?.Warning(LogCode.EmbedSlow); - if (!await LoadBufferFromDataUri(i, buffer)) + if (!await LoadBufferFromDataUri(i, buffer, cancellationToken)) return false; } else @@ -1407,8 +1490,10 @@ async Task ParseJsonAndLoadBuffers(string json, Uri baseUri) return true; } - async Task LoadBufferFromDataUri(int bufferIndex, Buffer buffer) + async Task LoadBufferFromDataUri(int bufferIndex, Buffer buffer, CancellationToken cancellationToken) { + cancellationToken.ThrowIfCancellationRequestedWithTracking(); + if (!TryGetBufferDataUriDescriptor( bufferIndex, buffer.byteLength, buffer.uri, out var startIndex, out var byteLength)) { @@ -1420,6 +1505,7 @@ async Task LoadBufferFromDataUri(int bufferIndex, Buffer buffer) startIndex, byteLength, DeferAgent, + cancellationToken, true // usually there's just one buffer and it's time-critical ); if (!data.IsCreated) @@ -1519,17 +1605,19 @@ bool CheckExtensionSupport(IEnumerable extensions, bool required = true) return allExtensionsSupported; } - async Task LoadGltf(string json, Uri url) + async Task LoadGltf(string json, Uri url, CancellationToken cancellationToken) { var baseUri = UriHelper.GetBaseUri(url); - var success = await ParseJsonAndLoadBuffers(json, baseUri); + var success = await ParseJsonAndLoadBuffers(json, baseUri, cancellationToken); if (success) - await LoadImages(baseUri); + await LoadImages(baseUri, cancellationToken); return success; } - async Task LoadImages(Uri baseUri) + async Task LoadImages(Uri baseUri, CancellationToken cancellationToken) { + cancellationToken.ThrowIfCancellationRequestedWithTracking(); + if (Root.Textures != null && Root.Images != null) { Profiler.BeginSample("LoadImages.Prepare"); @@ -1615,12 +1703,14 @@ void SetImageGamma(TextureInfoBase txtInfo) for (int imageIndex = 0; imageIndex < Root.Images.Count; imageIndex++) { + cancellationToken.ThrowIfCancellationRequestedWithTracking(); + var img = Root.Images[imageIndex]; if (!string.IsNullOrEmpty(img.uri) && img.uri.StartsWith("data:")) { Logger?.Warning(LogCode.EmbedSlow); - var imageTask = LoadImageFromDataUri(imageIndex, img); + var imageTask = LoadImageFromDataUri(imageIndex, img, cancellationToken); imageTasks ??= new List>(); imageTasks.Add(imageTask); } @@ -1676,9 +1766,11 @@ void SetImageGamma(TextureInfoBase txtInfo) // TODO: If no suitable image loader is found, this method won't use the await operator, thus causing a warning. // For now we'll ignore that warning. In the future, we'll encapsulate this in a better way. #pragma warning disable CS1998 // Async method lacks 'await' operators and will run synchronously - async Task LoadImageFromDataUri(int imageIndex, Image img) + async Task LoadImageFromDataUri(int imageIndex, Image img, CancellationToken cancellationToken) #pragma warning restore CS1998 // Async method lacks 'await' operators and will run synchronously { + cancellationToken.ThrowIfCancellationRequestedWithTracking(); + if (!DataUri.TryGetImageDataUriDescriptor( img.uri, out var imageFormat, out var startIndex, out var byteLength)) { @@ -1696,7 +1788,7 @@ async Task LoadImageFromDataUri(int imageIndex, Image img) case ImageFormat.PNG: #if UNITY_IMAGECONVERSION { - var texture = await LoadImageJpegOrPngFromDataUri(imageIndex, img, startIndex, byteLength); + var texture = await LoadImageJpegOrPngFromDataUri(imageIndex, img, startIndex, byteLength, cancellationToken); if (texture is not null) { m_Images[imageIndex] = texture; @@ -1711,7 +1803,7 @@ async Task LoadImageFromDataUri(int imageIndex, Image img) case ImageFormat.Ktx: #if KTX_IS_ENABLED { - var texture = await LoadImageKtxFromDataUri(imageIndex, img, startIndex, byteLength); + var texture = await LoadImageKtxFromDataUri(imageIndex, img, startIndex, byteLength, cancellationToken); if (texture is not null) { m_Images[imageIndex] = texture; @@ -1728,10 +1820,16 @@ async Task LoadImageFromDataUri(int imageIndex, Image img) } #if UNITY_IMAGECONVERSION - async Task LoadImageJpegOrPngFromDataUri(int imageIndex, Image img, int startIndex, int byteLength) + async Task LoadImageJpegOrPngFromDataUri( + int imageIndex, + Image img, + int startIndex, + int byteLength, + CancellationToken cancellationToken + ) { #if UNITY_6000_0_OR_NEWER - var data = await DataUri.DecodeDataUriAsync(img.uri, startIndex, byteLength, DeferAgent); + var data = await DataUri.DecodeDataUriAsync(img.uri, startIndex, byteLength, DeferAgent, cancellationToken); if (!data.IsCreated) { Logger?.Error(LogCode.EmbedImageLoadFailed); @@ -1739,7 +1837,7 @@ async Task LoadImageJpegOrPngFromDataUri(int imageIndex, Image img, i } #else var data = await DataUri.DecodeDataUriToManagedArrayAsync( - img.uri, startIndex, byteLength, DeferAgent); + img.uri, startIndex, byteLength, DeferAgent, cancellationToken); if (data == null) { Logger?.Error(LogCode.EmbedImageLoadFailed); @@ -1747,6 +1845,9 @@ async Task LoadImageJpegOrPngFromDataUri(int imageIndex, Image img, i } #endif await DeferAgent.BreakPoint(); + + cancellationToken.ThrowIfCancellationRequestedWithTracking(); + Profiler.BeginSample("LoadImageJpegOrPngFromDataUri"); // TODO: Investigate alternative: native texture creation in worker thread var forceSampleLinear = m_ImageGamma != null && !m_ImageGamma[imageIndex]; @@ -1765,16 +1866,22 @@ async Task LoadImageJpegOrPngFromDataUri(int imageIndex, Image img, i #endif // UNITY_IMAGECONVERSION #if KTX_IS_ENABLED - async Task LoadImageKtxFromDataUri(int imageIndex, Image img, int startIndex, int byteLength) + async Task LoadImageKtxFromDataUri( + int imageIndex, + Image img, + int startIndex, + int byteLength, + CancellationToken cancellationToken + ) { - var data = await DataUri.DecodeDataUriAsync(img.uri, startIndex, byteLength, DeferAgent); + var data = await DataUri.DecodeDataUriAsync(img.uri, startIndex, byteLength, DeferAgent, cancellationToken); if (!data.IsCreated) { Logger?.Error(LogCode.EmbedImageLoadFailed); return null; } await DeferAgent.BreakPoint(); - var texture = await LoadImageKtx(imageIndex, img, data.AsReadOnly()); + var texture = await LoadImageKtx(imageIndex, img, data.AsReadOnly(), cancellationToken); data.Dispose(); return texture; } @@ -1782,7 +1889,8 @@ async Task LoadImageKtxFromDataUri(int imageIndex, Image img, int sta async Task LoadImageKtx( int imageIndex, Image img, - NativeArray.ReadOnly data) + NativeArray.ReadOnly data, + CancellationToken cancellationToken) { Profiler.BeginSample("LoadImageKtx"); @@ -1797,6 +1905,10 @@ async Task LoadImageKtx( Logger?.Error(LogCode.EmbedImageLoadFailed); return null; } + + cancellationToken.ThrowIfCancellationRequestedWithTracking(); + + // TODO implement cancellation in KTX package var result = await ktxTexture.LoadTexture2D(forceSampleLinear, readable); ktxTexture.Dispose(); if (result.errorCode == ErrorCode.Success) { @@ -1812,12 +1924,14 @@ async Task LoadImageKtx( } #endif - async Task WaitForBufferDownloads() + async Task WaitForBufferDownloads(CancellationToken cancellationToken) { if (m_DownloadTasks != null) { foreach (var downloadPair in m_DownloadTasks) { + cancellationToken.ThrowIfCancellationRequestedWithTracking(); + var download = await downloadPair.Value; if (download.Success) { @@ -1870,12 +1984,14 @@ async Task WaitForBufferDownloads() } #if UNITY_IMAGECONVERSION - async Task WaitForTextureDownloads() + async Task WaitForTextureDownloads(CancellationToken cancellationToken) { foreach (var dl in m_TextureDownloadTasks) { + cancellationToken.ThrowIfCancellationRequestedWithTracking(); + await dl.Value.Load(); - var www = dl.Value.Download; + using var www = dl.Value.Download; if (www == null) { @@ -1885,6 +2001,8 @@ async Task WaitForTextureDownloads() if (www.Success) { + cancellationToken.ThrowIfCancellationRequestedWithTracking(); + var imageIndex = dl.Key; Texture2D txt; // TODO: Loading Jpeg/PNG textures like this creates major frame stalls. Main thread is waiting @@ -1921,14 +2039,12 @@ async Task WaitForTextureDownloads() Profiler.EndSample(); txt.name = GetImageName(Root.Images[imageIndex], imageIndex); } - www.Dispose(); m_Images[imageIndex] = txt; await DeferAgent.BreakPoint(); } else { Logger?.Error(LogCode.TextureDownloadFailed, www.Error, dl.Key.ToString()); - www.Dispose(); return false; } } @@ -1937,11 +2053,12 @@ async Task WaitForTextureDownloads() #endif // UNITY_IMAGECONVERSION #if KTX_IS_ENABLED - async Task WaitForKtxDownloads() { + async Task WaitForKtxDownloads(CancellationToken cancellationToken) + { var tasks = new Task[m_KtxDownloadTasks.Count]; var i = 0; foreach( var dl in m_KtxDownloadTasks ) { - tasks[i] = ProcessKtxDownload(dl.Key, dl.Value); + tasks[i] = ProcessKtxDownload(dl.Key, dl.Value, cancellationToken); i++; } await Task.WhenAll(tasks); @@ -1951,9 +2068,11 @@ async Task WaitForKtxDownloads() { return true; } - async Task ProcessKtxDownload(int imageIndex, Task downloadTask) { - var www = await downloadTask; - if(www.Success) { + async Task ProcessKtxDownload(int imageIndex, Task downloadTask, CancellationToken cancellationToken) + { + using var www = await downloadTask; + if (www.Success) + { NativeArray.ReadOnly data; if (www is INativeDownload nativeDownload) { @@ -1969,7 +2088,7 @@ async Task ProcessKtxDownload(int imageIndex, Task downloadTask var ktxContext = new KtxLoadContext(imageIndex,data); var forceSampleLinear = m_ImageGamma!=null && !m_ImageGamma[imageIndex]; var readable = LoadImageReadable(imageIndex); - var result = await ktxContext.LoadTexture2D(forceSampleLinear, readable); + var result = await ktxContext.LoadTexture2D(forceSampleLinear, readable, cancellationToken); if (result.errorCode == ErrorCode.Success) { m_Images[imageIndex] = result.texture; if (!result.orientation.IsYFlipped()) @@ -1977,13 +2096,11 @@ async Task ProcessKtxDownload(int imageIndex, Task downloadTask m_NonFlippedYTextureIndices ??= new HashSet(); m_NonFlippedYTextureIndices.Add(imageIndex); } - www.Dispose(); return true; } } else { Logger?.Error(LogCode.TextureDownloadFailed,www.Error,imageIndex.ToString()); } - www.Dispose(); return false; } #endif // KTX_IS_ENABLED @@ -1995,7 +2112,7 @@ void LoadBuffer(int index, Uri url) { m_DownloadTasks = new Dictionary>(); } - m_DownloadTasks.Add(index, m_DownloadProvider.Request(url)); + m_DownloadTasks.Add(index, m_Context.DownloadProvider.Request(url)); Profiler.EndSample(); } @@ -2051,7 +2168,7 @@ void LoadImage(int imageIndex, Uri url, bool nonReadable, bool isKtx) if (isKtx) { #if KTX_IS_ENABLED - var downloadTask = m_DownloadProvider.Request(url); + var downloadTask = m_Context.DownloadProvider.Request(url); if(m_KtxDownloadTasks==null) { m_KtxDownloadTasks = new Dictionary>(); } @@ -2066,8 +2183,8 @@ void LoadImage(int imageIndex, Uri url, bool nonReadable, bool isKtx) { #if UNITY_IMAGECONVERSION var downloadTask = LoadImageFromBytes(imageIndex) - ? (TextureDownloadBase) new TextureDownload(m_DownloadProvider.Request(url)) - : new TextureDownload(m_DownloadProvider.RequestTexture(url,nonReadable)); + ? (TextureDownloadBase) new TextureDownload(m_Context.DownloadProvider.Request(url)) + : new TextureDownload(m_Context.DownloadProvider.RequestTexture(url,nonReadable)); if(m_TextureDownloadTasks==null) { m_TextureDownloadTasks = new Dictionary(); } @@ -2104,7 +2221,7 @@ bool LoadImageFromBytes(int imageIndex) #endif } - async Task LoadGltfBinaryBuffer(NativeArray.ReadOnly bytes, Uri uri = null) + async Task LoadGltfBinaryBuffer(NativeArray.ReadOnly bytes, Uri uri, CancellationToken cancellationToken) { Profiler.BeginSample("LoadGltfBinary.Phase1"); @@ -2173,7 +2290,7 @@ async Task LoadGltfBinaryBuffer(NativeArray.ReadOnly bytes, Uri uri var json = await reader.ReadToEndAsync(); Profiler.EndSample(); - var success = await ParseJsonAndLoadBuffers(json, baseUri); + var success = await ParseJsonAndLoadBuffers(json, baseUri, cancellationToken); if (!success) { @@ -2201,7 +2318,7 @@ async Task LoadGltfBinaryBuffer(NativeArray.ReadOnly bytes, Uri uri var wrapper = new ReadOnlyNativeArrayFromNativeArray(bytes); m_Buffers[0] = wrapper.Array; } - await LoadImages(baseUri); + await LoadImages(baseUri, cancellationToken); return true; } @@ -2405,7 +2522,7 @@ async Task WaitForMeshoptDecode() { #endif // MESHOPT_IS_ENABLED - async Task Prepare() + async Task Prepare(CancellationToken cancellationToken) { m_Resources = new List(); @@ -2419,7 +2536,7 @@ async Task Prepare() { Assert.AreEqual(m_Images.Length, Root.Images.Count); } - await CreateTexturesFromBuffers(Root.Images, Root.BufferViews); + await CreateTexturesFromBuffers(Root.Images, Root.BufferViews, cancellationToken); } await DeferAgent.BreakPoint(); @@ -2434,7 +2551,7 @@ async Task Prepare() if (Root.Accessors != null) { - success = await LoadAccessorData(); + success = await LoadAccessorData(cancellationToken); await DeferAgent.BreakPoint(); while (!m_AccessorJobsHandle.IsCompleted) @@ -2447,36 +2564,36 @@ async Task Prepare() #if KTX_IS_ENABLED if(m_KtxLoadContextsBuffer!=null) { - await ProcessKtxLoadContexts(); + await ProcessKtxLoadContexts(cancellationToken); } #endif // KTX_IS_ENABLED #if UNITY_IMAGECONVERSION && !UNITY_6000_0_OR_NEWER if (m_ImageCreateContexts != null) { - await WaitForImageCreateContexts(); + await WaitForImageCreateContexts(cancellationToken); } #endif // UNITY_IMAGECONVERSION && !UNITY_6000_0_OR_NEWER if (m_Images != null && Root.Textures != null) { - PopulateTexturesAndImageVariants(); + PopulateTexturesAndImageVariants(cancellationToken); } if (Root.Materials != null) { - await GenerateMaterials(); + await GenerateMaterials(cancellationToken); } await DeferAgent.BreakPoint(); if (m_MeshOrders != null) { - await WaitForAllMeshGenerators(); + await WaitForAllMeshGenerators(cancellationToken); await DeferAgent.BreakPoint(); - await AssignAllAccessorData(); + await AssignAllAccessorData(cancellationToken); - success = await CreateAllMeshAssignments(); + success = await CreateAllMeshAssignments(cancellationToken); } #if UNITY_ANIMATION @@ -2675,11 +2792,13 @@ void DisposeVolatileAccessorData() } } - async Task CreateAllMeshAssignments() + async Task CreateAllMeshAssignments(CancellationToken cancellationToken) { foreach (var meshOrder in m_MeshOrders) { - var mesh = await meshOrder.generator.CreateMeshResult(); + cancellationToken.ThrowIfCancellationRequestedWithTracking(); + + var mesh = await meshOrder.generator.CreateMeshResult(cancellationToken); if (!ReferenceEquals(mesh, null)) { foreach (var meshSubset in meshOrder.Recipients) @@ -2706,26 +2825,31 @@ async Task CreateAllMeshAssignments() return true; } - async Task WaitForAllMeshGenerators() + async Task WaitForAllMeshGenerators(CancellationToken cancellationToken) { foreach (var meshOrder in m_MeshOrders) { if (meshOrder.generator == null) continue; while (!meshOrder.generator.IsCompleted) { + // TODO fix resource disposal when calling DisposeVolatileData() while jobs are queued/running + // cancellationToken.ThrowIfCancellationRequestedWithTracking(); await Task.Yield(); } } } - async Task GenerateMaterials() + async Task GenerateMaterials(CancellationToken cancellationToken) { m_Materials = new UnityEngine.Material[Root.Materials.Count]; for (var i = 0; i < m_Materials.Length; i++) { + // TODO fix resource disposal when calling DisposeVolatileData() while jobs are queued/running + // cancellationToken.ThrowIfCancellationRequestedWithTracking(); + await DeferAgent.BreakPoint(.0001f); Profiler.BeginSample("GenerateMaterial"); - m_MaterialGenerator.SetLogger(Logger); + m_MaterialGenerator.SetLogger(m_Context.Logger); var pointsSupport = GetMaterialPointsSupport(i); var material = m_MaterialGenerator.GenerateMaterial( Root.Materials[i], @@ -2738,13 +2862,16 @@ async Task GenerateMaterials() } } - void PopulateTexturesAndImageVariants() + void PopulateTexturesAndImageVariants(CancellationToken cancellationToken) { var defaultKey = new SamplerKey(new Sampler()); m_Textures = new Texture2D[Root.Textures.Count]; var imageVariants = new Dictionary[m_Images.Length]; for (var textureIndex = 0; textureIndex < Root.Textures.Count; textureIndex++) { + // TODO fix resource disposal when calling DisposeVolatileData() while jobs are queued/running + // cancellationToken.ThrowIfCancellationRequestedWithTracking(); + var txt = Root.Textures[textureIndex]; SamplerKey key; Sampler sampler = null; @@ -2808,14 +2935,20 @@ void PopulateTexturesAndImageVariants() } #if UNITY_IMAGECONVERSION && !UNITY_6000_0_OR_NEWER - async Task WaitForImageCreateContexts() + async Task WaitForImageCreateContexts(CancellationToken cancellationToken) { var imageCreateContextsLeft = true; while (imageCreateContextsLeft) { + // TODO fix resource disposal when calling DisposeVolatileData() while jobs are queued/running + // cancellationToken.ThrowIfCancellationRequestedWithTracking(); + var loadedAny = false; for (var i = m_ImageCreateContexts.Count - 1; i >= 0; i--) { + // TODO fix resource disposal when calling DisposeVolatileData() while jobs are queued/running + // cancellationToken.ThrowIfCancellationRequestedWithTracking(); + var jh = m_ImageCreateContexts[i]; if (jh.jobHandle.IsCompleted) { @@ -2956,7 +3089,7 @@ static string GetUniqueNodeName(RootBase gltf, uint index, ICollection e /// /// Free up volatile loading resources /// - void DisposeVolatileData() + async Task DisposeVolatileData() { m_Buffers = null; m_BinChunks = null; @@ -2965,7 +3098,7 @@ void DisposeVolatileData() { foreach (var disposable in m_VolatileDisposables) { - disposable.Dispose(); + disposable?.Dispose(); } m_VolatileDisposables = null; } @@ -2974,7 +3107,11 @@ void DisposeVolatileData() { foreach (var download in m_DownloadTasks.Values) { - download?.Dispose(); + if (download is not null) + { + await download; + download.Dispose(); + } } m_DownloadTasks = null; } @@ -3010,7 +3147,7 @@ void DisposeVolatileData() #endif } - async Task InstantiateSceneInternal(IInstantiator instantiator, int sceneId) + async Task InstantiateSceneInternal(IInstantiator instantiator, int sceneId, CancellationToken cancellationToken) { if (m_ImportInstances != null) { @@ -3029,6 +3166,7 @@ async Task IterateNodes(uint nodeIndex, uint? parentIndex, Action c { foreach (var child in node.children) { + cancellationToken.ThrowIfCancellationRequestedWithTracking(); await IterateNodes(child, nodeIndex, callback); } } @@ -3072,6 +3210,8 @@ void PopulateHierarchy(uint nodeIndex, uint? parentIndex) var meshNumeration = 0; foreach (var meshAssignment in m_MeshAssignments.Values(node.mesh)) { + cancellationToken.ThrowIfCancellationRequestedWithTracking(); + var mesh = meshAssignment.mesh; var meshName = string.IsNullOrEmpty(mesh.name) ? null : mesh.name; uint[] joints = null; @@ -3199,10 +3339,12 @@ void PopulateHierarchy(uint nodeIndex, uint? parentIndex) { foreach (var nodeId in scene.nodes) { + cancellationToken.ThrowIfCancellationRequestedWithTracking(); await IterateNodes(nodeId, null, CreateHierarchy); } foreach (var nodeId in scene.nodes) { + cancellationToken.ThrowIfCancellationRequestedWithTracking(); await IterateNodes(nodeId, null, PopulateHierarchy); } } @@ -3320,7 +3462,8 @@ int[] GetMaterialIndices(int meshIndex, IReadOnlyList primitiveIndices) async Task CreateTexturesFromBuffers( IReadOnlyList srcImages, - IReadOnlyList bufferViews + IReadOnlyList bufferViews, + CancellationToken cancellationToken ) { #if UNITY_IMAGECONVERSION && !UNITY_6000_0_OR_NEWER @@ -3328,6 +3471,8 @@ IReadOnlyList bufferViews #endif for (int i = 0; i < m_Images.Length; i++) { + cancellationToken.ThrowIfCancellationRequestedWithTracking(); + Profiler.BeginSample("CreateTexturesFromBuffers.ImageFormat"); if (m_Images[i] != null) { @@ -3484,8 +3629,10 @@ static void SafeDestroy(UnityEngine.Object obj) /// sub-meshes. Parameters are MeshResult index, mesh index and per sub-mesh primitive index public event Action MeshResultAssigned; - async Task LoadAccessorData() + async Task LoadAccessorData(CancellationToken cancellationToken) { + // TODO fix resource disposal when calling DisposeVolatileData() while jobs are queued/running + Profiler.BeginSample("LoadAccessorData.Init"); #if DEBUG @@ -3649,15 +3796,11 @@ out var primitives var success = true; - if (!success) - { - return false; - } - #if UNITY_ANIMATION - if (Root.HasAnimation) { - for (int i = 0; i < Root.Animations.Count; i++) { - var animation = Root.Animations[i]; + if (Root.HasAnimation) + { + foreach (var animation in Root.Animations) + { foreach (var sampler in animation.Samplers) { SetAccessorUsage(sampler.input,AccessorUsage.AnimationTimes); } @@ -3857,12 +4000,14 @@ void SetAccessorUsage(int index, AccessorUsage newUsage) m_AccessorUsage[index] = newUsage; } - async Task AssignAllAccessorData() + async Task AssignAllAccessorData(CancellationToken cancellationToken) { if (Root.Skins != null) { for (int s = 0; s < Root.Skins.Count; s++) { + cancellationToken.ThrowIfCancellationRequestedWithTracking(); + Profiler.BeginSample("AssignAllAccessorData.Skin"); var skin = Root.Skins[s]; if (skin.inverseBindMatrices >= 0) @@ -4231,28 +4376,34 @@ static async Task KtxLoadAndTranscode( int index, KtxLoadContextBase ktx, bool linear, - bool readable + bool readable, + CancellationToken cancellationToken ) { return new KtxTranscodeTaskWrapper { index = index, - result = await ktx.LoadTexture2D(linear, readable) + result = await ktx.LoadTexture2D(linear, readable, cancellationToken) }; } - async Task ProcessKtxLoadContexts() { + async Task ProcessKtxLoadContexts(CancellationToken cancellationToken) + { + // TODO fix resource disposal when calling DisposeVolatileData() while jobs are queued/running + var maxCount = SystemInfo.processorCount+1; var totalCount = m_KtxLoadContextsBuffer.Count; var startedCount = 0; var ktxTasks = new List>(maxCount); - while (startedCount < totalCount || ktxTasks.Count>0) { - while (ktxTasks.Count < maxCount && startedCount < totalCount) { + while (startedCount < totalCount || ktxTasks.Count > 0) + { + while (ktxTasks.Count < maxCount && startedCount < totalCount) + { var ktx = m_KtxLoadContextsBuffer[startedCount]; var forceSampleLinear = m_ImageGamma != null && !m_ImageGamma[ktx.imageIndex]; var readable = LoadImageReadable(ktx.imageIndex); - ktxTasks.Add(KtxLoadAndTranscode(startedCount, ktx, forceSampleLinear, readable)); + ktxTasks.Add(KtxLoadAndTranscode(startedCount, ktx, forceSampleLinear, readable, cancellationToken)); startedCount++; await DeferAgent.BreakPoint(); } diff --git a/Runtime/Scripts/ImportContext.cs b/Runtime/Scripts/ImportContext.cs new file mode 100644 index 000000000..c9aa96da5 --- /dev/null +++ b/Runtime/Scripts/ImportContext.cs @@ -0,0 +1,31 @@ +// SPDX-FileCopyrightText: 2026 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using GLTFast.Loading; +using GLTFast.Logging; +using UnityEngine; + +namespace GLTFast +{ + /// + /// Contains cross-cutting settings and services of a glTF import instance. + /// + readonly struct ImportContext + { + public ImportContext(IDownloadProvider downloadProvider, ICodeLogger logger, IDeferAgent deferAgent) + { + DownloadProvider = downloadProvider; + Logger = logger; + DeferAgent = deferAgent; + } + + /// DownloadProvider used by this glTF import instance. + public IDownloadProvider DownloadProvider { get; } + + /// Logger used by this glTF import instance. + public ICodeLogger Logger { get; } + + /// Defer agent used by this glTF import instance. + public IDeferAgent DeferAgent { get; } + } +} diff --git a/Runtime/Scripts/ImportContext.cs.meta b/Runtime/Scripts/ImportContext.cs.meta new file mode 100644 index 000000000..98c8a6274 --- /dev/null +++ b/Runtime/Scripts/ImportContext.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e897d9ebff6ea48a3bb8ba5e8df2d3d6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/IndicesData.cs b/Runtime/Scripts/IndicesData.cs new file mode 100644 index 000000000..628151eff --- /dev/null +++ b/Runtime/Scripts/IndicesData.cs @@ -0,0 +1,75 @@ +// SPDX-FileCopyrightText: 2026 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +using Unity.Collections; +using Unity.Collections.LowLevel.Unsafe; +using UnityEngine.Rendering; + +namespace GLTFast +{ + struct IndicesData : IDisposable + { + const Allocator k_Allocator = Allocator.Persistent; + + public readonly IndexFormat IndexFormat; + public readonly int SubMeshCount => m_Indices.Length; + NativeArray[] m_Indices; + + public IndicesData(IndexFormat indexFormat, int count) + { + IndexFormat = indexFormat; + m_Indices = new NativeArray[count]; + } + + public void Allocate(int submesh, int length) + { + m_Indices[submesh] = IndexFormat switch + { + IndexFormat.UInt16 => + new NativeArray(length, k_Allocator, NativeArrayOptions.UninitializedMemory), + IndexFormat.UInt32 => + new NativeArray(length, k_Allocator, NativeArrayOptions.UninitializedMemory) + .Reinterpret(UnsafeUtility.SizeOf()), + _ => throw new ArgumentOutOfRangeException() + }; + } + + public int GetTotalIndexCount() + { + var total = 0; + foreach (var indices in m_Indices) + { + total += indices.Length; + } + return IndexFormat == IndexFormat.UInt16 + ? total + : total / 2; + } + + public NativeArray GetIndices16(int index) + { + return m_Indices[index]; + } + + public NativeArray GetIndices32(int index) + { + return m_Indices[index].Reinterpret(UnsafeUtility.SizeOf()); + } + + public void Dispose() + { + if (m_Indices != null) + { + foreach (var indices in m_Indices) + { + if (indices.IsCreated) + { + indices.Dispose(); + } + } + m_Indices = null; + } + } + } +} diff --git a/Runtime/Scripts/IndicesData.cs.meta b/Runtime/Scripts/IndicesData.cs.meta new file mode 100644 index 000000000..df8a8220b --- /dev/null +++ b/Runtime/Scripts/IndicesData.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 181b1b32e1f74eec8bcf1333fb5912aa +timeCreated: 1769776046 \ No newline at end of file diff --git a/Runtime/Scripts/Jobs.cs b/Runtime/Scripts/Jobs.cs index 26968e31c..792997c4d 100644 --- a/Runtime/Scripts/Jobs.cs +++ b/Runtime/Scripts/Jobs.cs @@ -295,6 +295,18 @@ static void GetFloat3UInt32Normalized(float3* destination, void* src) } } + [BurstCompile] + struct CreateIndicesUInt16Job : IJobParallelFor + { + [WriteOnly] + public NativeArray result; + + public void Execute(int index) + { + result[index] = (ushort)index; + } + } + [BurstCompile] struct CreateIndicesUInt32Job : IJobParallelFor { @@ -307,6 +319,18 @@ public void Execute(int index) } } + [BurstCompile] + struct CreateIndicesUInt16FlippedJob : IJobParallelFor + { + [WriteOnly] + public NativeArray result; + + public void Execute(int index) + { + result[index] = (ushort)(index - 2 * (index % 3 - 1)); + } + } + [BurstCompile] struct CreateIndicesUInt32FlippedJob : IJobParallelFor { @@ -320,7 +344,32 @@ public void Execute(int index) } [BurstCompile] - struct CreateIndicesForTriangleStripJob : IJobParallelFor + struct CreateIndicesForTriangleStripUInt16Job : IJobParallelFor + { + [WriteOnly] + public NativeArray result; + + public void Execute(int index) + { + // Source https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html + // Triangle Strips + // One triangle primitive is defined by each vertex and the two vertices that follow it, according to the equation: + // pi = { vi, vi + (1 + i % 2), vi + (2 - i % 2)} + // We swap the second and third indices for Unity + + var triangleIndex = index / 3; + result[index] = (index % 3) switch + { + 0 => (ushort)(triangleIndex), + 1 => (ushort)(triangleIndex + (2 - triangleIndex % 2)), + 2 => (ushort)(triangleIndex + (1 + triangleIndex % 2)), + _ => result[index] + }; + } + } + + [BurstCompile] + struct CreateIndicesForTriangleStripUInt32Job : IJobParallelFor { [WriteOnly] public NativeArray result; @@ -336,19 +385,19 @@ public void Execute(int index) var triangleIndex = index / 3; result[index] = (index % 3) switch { - 0 => (uint)(triangleIndex + (1 + triangleIndex % 2)), - 1 => (uint)(triangleIndex), - 2 => (uint)(triangleIndex + (2 - triangleIndex % 2)), + 0 => (uint)triangleIndex, + 1 => (uint)(triangleIndex + 2 - triangleIndex % 2), + 2 => (uint)(triangleIndex + 1 + triangleIndex % 2), _ => result[index] }; } } [BurstCompile] - struct CreateIndicesForTriangleFanJob : IJobParallelFor + struct CreateIndicesForTriangleFanUInt16Job : IJobParallelFor { [WriteOnly] - public NativeArray result; + public NativeArray result; public void Execute(int index) { @@ -361,58 +410,88 @@ public void Execute(int index) var triangleIndex = index / 3; result[index] = (index % 3) switch { - 0 => (uint)(triangleIndex + 2), - 1 => (uint)(triangleIndex + 1), + 0 => (ushort)(triangleIndex + 2), + 1 => (ushort)(triangleIndex + 1), _ => 0 }; } } [BurstCompile] - struct RecalculateIndicesForTriangleStripJob : IJobParallelFor + struct CreateIndicesForTriangleFanUInt32Job : IJobParallelFor { - [ReadOnly] - public NativeArray input; - - [WriteOnly, NativeDisableParallelForRestriction] + [WriteOnly] public NativeArray result; public void Execute(int index) { // Source https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html - // Triangle Strips - // One triangle primitive is defined by each vertex and the two vertices that follow it, according to the equation: - // pi = { vi, vi + (1 + i % 2), vi + (2 - i % 2)} + // Triangle Fans + // Triangle primitives are defined around a shared common vertex, according to the equation: + // pi = {vi+1, vi+2, v0} // We change first and second indices for Unity - var triangleIndex = index * 3; - result[triangleIndex + 1] = input[index]; - result[triangleIndex] = input[index + (1 + index % 2)]; - result[triangleIndex + 2] = input[index + (2 - index % 2)]; + var triangleIndex = index / 3; + result[index] = (index % 3) switch + { + 0 => (uint)(triangleIndex + 2), + 1 => (uint)(triangleIndex + 1), + _ => 0 + }; + } + } + + [BurstCompile] + struct RecalculateIndicesForTriangleStripInPlaceJob : IJob where T : struct + { + public NativeArray indices; + + public void Execute() + { + var lastTriangleIndex = indices.Length / 3 - 1; + for (var i = lastTriangleIndex; i > 0; i--) + { + var mod = i % 2; + indices[i * 3 + 1 + mod] = indices[2 + i]; + indices[i * 3 + 2 - mod] = indices[1 + i]; + indices[i * 3] = indices[i]; + } + (indices[2], indices[1]) = (indices[1], indices[2]); + } + } + + [BurstCompile] + struct RecalculateIndicesForTriangleFanInPlaceJob : IJob where T : struct + { + public NativeArray indices; + + public void Execute() + { + var triangleCount = indices.Length / 3; + var pivot = indices[0]; + for (var i = triangleCount - 1; i > 0; i--) + { + var triangleIndex = i * 3; + indices[triangleIndex + 2] = pivot; + indices[triangleIndex + 1] = indices[i + 1]; + indices[triangleIndex] = indices[i + 2]; + } + (indices[2], indices[0]) = (indices[0], indices[2]); } } [BurstCompile] - struct RecalculateIndicesForTriangleFanJob : IJobParallelFor + struct ConvertIndicesUInt8ToUInt16Job : IJobParallelFor { [ReadOnly] - public NativeArray input; + public NativeArray.ReadOnly input; - [WriteOnly, NativeDisableParallelForRestriction] - public NativeArray result; + [WriteOnly] + public NativeArray result; public void Execute(int index) { - // Source https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html - // Triangle Fans - // Triangle primitives are defined around a shared common vertex, according to the equation: - // pi = {vi+1, vi+2, v0} - // We change first and second indices for Unity - - var triangleIndex = index * 3; - result[triangleIndex + 1] = input[index + 1]; - result[triangleIndex] = input[index + 2]; - result[triangleIndex + 2] = 0; + result[index] = input[index]; } } @@ -432,32 +511,62 @@ public void Execute(int index) } [BurstCompile] - struct ConvertIndicesUInt8ToInt32FlippedJob : IJobParallelFor + struct ConvertIndicesUInt8ToUInt16FlippedJob : IJobParallelFor { [ReadOnly] public NativeArray.ReadOnly input; [WriteOnly] - public NativeArray result; + public NativeArray result; + + public void Execute(int index) + { + result[index] = input[index].GltfToUnityTriangleIndicesUInt16(); + } + } + + [BurstCompile] + struct ConvertIndicesUInt8ToUInt32FlippedJob : IJobParallelFor + { + [ReadOnly] + public NativeArray.ReadOnly input; + + [WriteOnly] + public NativeArray result; + + public void Execute(int index) + { + result[index] = input[index].GltfToUnityTriangleIndices(); + } + } + + [BurstCompile] + struct ConvertIndicesUInt16ToUInt16FlippedJob : IJobParallelFor + { + [ReadOnly] + public NativeArray.ReadOnly input; + + [WriteOnly] + public NativeArray result; public void Execute(int index) { - result[index] = input[index].GltfToUnityTriangleIndies(); + result[index] = input[index].GltfToUnityTriangleIndicesUInt16(); } } [BurstCompile] - struct ConvertIndicesUInt16ToInt32FlippedJob : IJobParallelFor + struct ConvertIndicesUInt16ToUInt32FlippedJob : IJobParallelFor { [ReadOnly] public NativeArray.ReadOnly input; [WriteOnly] - public NativeArray result; + public NativeArray result; public void Execute(int index) { - result[index] = input[index].GltfToUnityTriangleIndies(); + result[index] = input[index].GltfToUnityTriangleIndices(); } } @@ -477,18 +586,18 @@ public void Execute(int index) } [BurstCompile] - struct ConvertIndicesUInt32ToInt32FlippedJob : IJobParallelFor + struct ConvertIndicesUInt32ToUInt32FlippedJob : IJobParallelFor { [ReadOnly] public NativeArray.ReadOnly input; [WriteOnly] - public NativeArray result; + public NativeArray result; public void Execute(int index) { var idx = input[index]; - result[index] = new int3((int)idx.x, (int)idx.z, (int)idx.y); + result[index] = new uint3(idx.x, idx.z, idx.y); } } diff --git a/Runtime/Scripts/KtxLoadContext.cs b/Runtime/Scripts/KtxLoadContext.cs index 5cff863ce..8f8cd6b1d 100644 --- a/Runtime/Scripts/KtxLoadContext.cs +++ b/Runtime/Scripts/KtxLoadContext.cs @@ -7,6 +7,7 @@ #if KTX_IS_ENABLED +using System.Threading; using System.Threading.Tasks; using KtxUnity; using Unity.Collections; @@ -21,12 +22,14 @@ public KtxLoadContext(int imageIndex, NativeArray.ReadOnly data) : base(im m_KtxTexture = new KtxTexture(); } - public override async Task LoadTexture2D(bool linear, bool readable) { + public override async Task LoadTexture2D(bool linear, bool readable, CancellationToken cancellationToken) + { var errorCode = m_KtxTexture.Open(m_Data); if (errorCode != ErrorCode.Success) { return new TextureResult(errorCode); } + // TODO implement cancellation in KTX package var result = await m_KtxTexture.LoadTexture2D(linear, readable); m_KtxTexture.Dispose(); diff --git a/Runtime/Scripts/KtxLoadContextBase.cs b/Runtime/Scripts/KtxLoadContextBase.cs index de2b0ee2a..6991b35fd 100644 --- a/Runtime/Scripts/KtxLoadContextBase.cs +++ b/Runtime/Scripts/KtxLoadContextBase.cs @@ -7,6 +7,7 @@ #if KTX_IS_ENABLED +using System.Threading; using System.Threading.Tasks; using KtxUnity; using Unity.Collections; @@ -24,7 +25,7 @@ protected KtxLoadContextBase(int imageIndex, NativeArray.ReadOnly data) m_Data = data; } - public abstract Task LoadTexture2D(bool linear, bool readable); + public abstract Task LoadTexture2D(bool linear, bool readable, CancellationToken cancellationToken); } } #endif // KTX_IS_INSTALLED diff --git a/Runtime/Scripts/Loading/DefaultDownloadProvider.cs b/Runtime/Scripts/Loading/DefaultDownloadProvider.cs index 8a1fc1896..c9008e8bf 100644 --- a/Runtime/Scripts/Loading/DefaultDownloadProvider.cs +++ b/Runtime/Scripts/Loading/DefaultDownloadProvider.cs @@ -171,7 +171,7 @@ protected virtual void Dispose(bool disposing) { if (disposing) { - m_Request.Dispose(); + m_Request?.Dispose(); m_Request = null; } } diff --git a/Runtime/Scripts/Logging/LogMessages.cs b/Runtime/Scripts/Logging/LogMessages.cs index eb24e7a06..3f3098de8 100644 --- a/Runtime/Scripts/Logging/LogMessages.cs +++ b/Runtime/Scripts/Logging/LogMessages.cs @@ -257,6 +257,10 @@ public enum LogCode : uint BufferContentUndersized, /// glTF-Binary's actual length is smaller than what the header's length field declares. UnexpectedEndOfContent, + /// The operation was canceled. + OperationCanceled, + /// Invalid index format + IndexCountInvalid, } /// @@ -300,6 +304,7 @@ This may result in low performance and high memory usage. Try optimizing the glT { LogCode.ImageFormatUnknown, "Unknown image format (image {0};uri:{1})" }, { LogCode.ImageMultipleSamplers, "Have to create copy of image {0} due to different samplers. This is harmless, but requires more memory." }, { LogCode.InconsistentVertexColorUsage, "Potential visual discrepancy due to inconsistent vertex colors usage on mesh {0}" }, + { LogCode.IndexCountInvalid, "Invalid index count {0}" }, { LogCode.IndexFormatInvalid, "Invalid index format {0}" }, { LogCode.JsonParsingFailed, "Parsing JSON failed" }, { LogCode.MaterialTransmissionApprox, "Chance of incorrect materials! glTF transmission is approximated when using built-in render pipeline!" }, @@ -310,6 +315,7 @@ This may result in low performance and high memory usage. Try optimizing the glT { LogCode.MissingImageURL, "Image URL missing" }, { LogCode.MorphTargetContextFail, "Retrieving morph target failed" }, { LogCode.NamingOverride, "Overriding naming method to be OriginalUnique (animation requirement)" }, + { LogCode.OperationCanceled, "The operation was canceled: {0}"}, { LogCode.PackageMissing, $"{{0}} package needs to be installed in order to support glTF extension {{1}}!\nSee {GltfGlobals.GltfPackageName}/README.md#installing for instructions" }, { LogCode.PrimitiveModeUnsupported, "Primitive mode {0} is untested" }, { LogCode.RemapUnsupported, "{0} remap is not fully supported" }, @@ -377,7 +383,7 @@ public static string GetFullMessage(LogCode code, params string[] messages) #endif } -#if UNITY_EDITOR +#if GLTFAST_REPORT internal static string GetRawMessage(LogCode code) { return k_FullMessages[code]; diff --git a/Runtime/Scripts/Material/ShaderGraphMaterialGenerator.cs b/Runtime/Scripts/Material/ShaderGraphMaterialGenerator.cs index 12a9fd17d..fbde85d9f 100644 --- a/Runtime/Scripts/Material/ShaderGraphMaterialGenerator.cs +++ b/Runtime/Scripts/Material/ShaderGraphMaterialGenerator.cs @@ -93,6 +93,7 @@ protected enum SpecularShaderFeatures { const string k_OcclusionKeyword = "_OCCLUSION"; const string k_EmissiveKeyword = "_EMISSIVE"; + const string k_SpecularSetupKeyword = "_SPECULAR_SETUP"; static readonly int k_BaseMapPropId = Shader.PropertyToID("baseColorTexture"); static readonly int k_BaseMapScaleTransformPropId = Shader.PropertyToID("baseColorTexture_ST"); //TODO: support in shader! @@ -220,6 +221,7 @@ public override Material GenerateMaterial( materialType = MaterialType.SpecularGlossiness; var specularShaderFeatures = GetSpecularShaderFeatures(gltfMaterial); material = GetSpecularMaterial(specularShaderFeatures); + material?.EnableKeyword(k_SpecularSetupKeyword); if ((specularShaderFeatures & SpecularShaderFeatures.AlphaBlend) != 0) { shaderMode = ShaderMode.Blend; } diff --git a/Runtime/Scripts/MeshGenerator.cs b/Runtime/Scripts/MeshGenerator.cs index f97614a35..231e74af1 100644 --- a/Runtime/Scripts/MeshGenerator.cs +++ b/Runtime/Scripts/MeshGenerator.cs @@ -23,8 +23,8 @@ class MeshGenerator : MeshGeneratorBase { VertexBufferGeneratorBase m_VertexData; - NativeArray[] m_Indices; - List m_Disposables; + IndicesData m_Indices; + readonly SubMeshAssignment[] m_SubMeshAssignments; readonly IReadOnlyList m_Primitives; @@ -189,17 +189,99 @@ async Task GenerateMesh(GltfImportBase gltfImport) if (!await m_VertexData.CreateVertexBuffer()) return null; - m_Indices = new NativeArray[SubMeshCount]; + var indexFormat = IndexFormat.UInt16; + foreach (var primitive in m_Primitives) + { + if (primitive.indices >= 0) + { + var accessor = ((IGltfBuffers)gltfImport).GetAccessor(primitive.indices); + if (accessor.componentType == GltfComponentType.UnsignedInt) + { + indexFormat = IndexFormat.UInt32; + break; + } + } + else + { + var vertexCount = ((IGltfBuffers)gltfImport).GetAccessor(primitive.attributes.POSITION).count; + if (vertexCount > ushort.MaxValue) + { + indexFormat = IndexFormat.UInt32; + break; + } + } + } + + m_Indices = new IndicesData(indexFormat, SubMeshCount); var tmpList = new List(SubMeshCount); - foreach (var subMesh in IterateSubMeshesIndexed()) + foreach (var (subMeshIndex, primitive) in IterateSubMeshesIndexed()) { - var subMeshIndex = subMesh.index; - var primitive = subMesh.primitive; if (primitive.indices >= 0) { var flip = primitive.mode == DrawMode.Triangles; - GetIndicesJob(gltfImport, primitive.indices, out var indices, out var getIndicesJob, flip); + var accessor = ((IGltfBuffers)gltfImport).GetAccessor(primitive.indices); + + var minIndexCount = 3; + var indexCount = accessor.count; + switch (primitive.mode) + { + case DrawMode.TriangleStrip or DrawMode.TriangleFan: + indexCount = (accessor.count - 2) * 3; + break; + case DrawMode.LineLoop: + minIndexCount = 2; + indexCount = accessor.count + 1; + break; + case DrawMode.Lines or DrawMode.LineStrip: + minIndexCount = 2; + break; + case DrawMode.Points: + minIndexCount = 1; + break; + } + + if (accessor.count < minIndexCount) + { + gltfImport.Logger?.Error( + LogCode.IndexCountInvalid, + accessor.count.ToString() + ); + return null; + } + + JobHandle? getIndicesJob = null; + + m_Indices.Allocate(subMeshIndex, indexCount); + + var accessorData = ((IGltfBuffers)gltfImport).GetBufferView( + accessor.bufferView, + out _, + accessor.byteOffset, + accessor.ByteSize + ); + + Assert.AreEqual(accessor.GetAttributeType(), GltfAccessorAttributeType.SCALAR); + if (accessor.IsSparse) + { + gltfImport.Logger?.Error(LogCode.SparseAccessor, "indices"); + } + + switch (indexFormat) + { + case IndexFormat.UInt16: + { + var indices = m_Indices.GetIndices16(subMeshIndex); + GetIndicesUInt16Job(gltfImport, accessor, accessorData, indices, out getIndicesJob, flip); + break; + } + case IndexFormat.UInt32: + { + var indices = m_Indices.GetIndices32(subMeshIndex); + GetIndicesUInt32Job(gltfImport, accessor, accessorData, indices, out getIndicesJob, flip); + break; + } + } if (!getIndicesJob.HasValue) return null; @@ -207,60 +289,67 @@ async Task GenerateMesh(GltfImportBase gltfImport) { case DrawMode.LineLoop: { - m_Indices[subMeshIndex] = new NativeArray(indices.Length + 1, Allocator.Persistent); - - // TODO: Allocate larger index buffer right away and only set last index here // Wait for indices to be ready. while (!getIndicesJob.Value.IsCompleted) { await Task.Yield(); } - getIndicesJob.Value.Complete(); - NativeArray.Copy(indices, m_Indices[subMeshIndex], indices.Length); - m_Indices[subMeshIndex][indices.Length] = indices[0]; - indices.Dispose(); + if (indexFormat == IndexFormat.UInt16) + { + var indices = m_Indices.GetIndices16(subMeshIndex); + indices[^1] = indices[0]; + } + else + { + var indices = m_Indices.GetIndices32(subMeshIndex); + indices[^1] = indices[0]; + } + break; } case DrawMode.TriangleStrip: { - // TODO: Allocate larger index buffer right away and recalculate indices in-place. - var triangleStripTriangleCount = indices.Length - 2; - m_Indices[subMeshIndex] = new NativeArray(triangleStripTriangleCount * 3, Allocator.Persistent); - var triangleStripJob = new RecalculateIndicesForTriangleStripJob + JobHandle job; + if (indexFormat == IndexFormat.UInt16) { - input = indices, - result = m_Indices[subMeshIndex] - }; - var job = triangleStripJob.Schedule( - triangleStripTriangleCount, - GltfImportBase.DefaultBatchCount, - getIndicesJob.Value - ); + job = new RecalculateIndicesForTriangleStripInPlaceJob + { + indices = m_Indices.GetIndices16(subMeshIndex), + }.Schedule(getIndicesJob.Value); + } + else + { + job = new RecalculateIndicesForTriangleStripInPlaceJob + { + indices = m_Indices.GetIndices32(subMeshIndex), + }.Schedule(getIndicesJob.Value); + } tmpList.Add(job); - m_Disposables ??= new List(); - m_Disposables.Add(indices); break; } case DrawMode.TriangleFan: { - // TODO: Allocate larger index buffer right away and recalculate indices in-place. - var triangleFanTriangleCount = indices.Length - 2; - m_Indices[subMeshIndex] = new NativeArray(triangleFanTriangleCount * 3, Allocator.Persistent); - var triangleFanJob = new RecalculateIndicesForTriangleFanJob + JobHandle job; + if (indexFormat == IndexFormat.UInt16) { - input = indices, - result = m_Indices[subMeshIndex] - }; - var job = triangleFanJob.Schedule(triangleFanTriangleCount, GltfImportBase.DefaultBatchCount, getIndicesJob.Value); - m_Disposables ??= new List(); - m_Disposables.Add(indices); + job = new RecalculateIndicesForTriangleFanInPlaceJob + { + indices = m_Indices.GetIndices16(subMeshIndex), + }.Schedule(getIndicesJob.Value); + } + else + { + job = new RecalculateIndicesForTriangleFanInPlaceJob + { + indices = m_Indices.GetIndices32(subMeshIndex), + }.Schedule(getIndicesJob.Value); + } tmpList.Add(job); break; } default: - m_Indices[subMeshIndex] = indices; tmpList.Add(getIndicesJob.Value); break; } @@ -268,7 +357,24 @@ async Task GenerateMesh(GltfImportBase gltfImport) else { var vertexCount = ((IGltfBuffers)gltfImport).GetAccessor(primitive.attributes.POSITION).count; - CalculateIndicesJob(primitive, vertexCount, out m_Indices[subMeshIndex], out var job); + var indexCount = primitive.mode switch + { + DrawMode.TriangleStrip or DrawMode.TriangleFan => (vertexCount - 2) * 3, + DrawMode.LineLoop => vertexCount + 1, + _ => vertexCount + }; + + m_Indices.Allocate(subMeshIndex, indexCount); + + JobHandle job; + if (indexFormat == IndexFormat.UInt16) + { + CalculateIndicesUInt16Job(primitive, m_Indices.GetIndices16(subMeshIndex), out job); + } + else + { + CalculateIndicesUInt32Job(primitive, m_Indices.GetIndices32(subMeshIndex), out job); + } tmpList.Add(job); } } @@ -320,21 +426,30 @@ async Task CreateMeshResultAsync() m_VertexData.ApplyOnMesh(msh); Profiler.BeginSample("SetIndices"); - var indexCount = 0; - for (var i = 0; i < m_Indices.Length; i++) - { - indexCount += m_Indices[i].Length; - } + var indexCount = m_Indices.GetTotalIndexCount(); Profiler.BeginSample("SetIndexBufferParams"); - msh.SetIndexBufferParams(indexCount, IndexFormat.UInt32); //TODO: UInt16 maybe? + msh.SetIndexBufferParams(indexCount, m_Indices.IndexFormat); Profiler.EndSample(); - msh.subMeshCount = m_Indices.Length; + msh.subMeshCount = m_Indices.SubMeshCount; indexCount = 0; Bounds bounds = default; - for (var i = 0; i < m_Indices.Length; i++) + for (var i = 0; i < m_Indices.SubMeshCount; i++) { Profiler.BeginSample("SetIndexBufferData"); - msh.SetIndexBufferData(m_Indices[i], 0, indexCount, m_Indices[i].Length, defaultMeshUpdateFlags); + int subMeshIndexCount; + if (m_Indices.IndexFormat == IndexFormat.UInt16) + { + var indices = m_Indices.GetIndices16(i); + subMeshIndexCount = indices.Length; + msh.SetIndexBufferData(indices, 0, indexCount, indices.Length, defaultMeshUpdateFlags); + } + else + { + var indices = m_Indices.GetIndices32(i); + subMeshIndexCount = indices.Length; + msh.SetIndexBufferData(indices, 0, indexCount, indices.Length, defaultMeshUpdateFlags); + } + Profiler.EndSample(); Profiler.BeginSample("SetSubMesh"); @@ -344,7 +459,7 @@ async Task CreateMeshResultAsync() var subMeshDescriptor = new SubMeshDescriptor { indexStart = indexCount, - indexCount = m_Indices[i].Length, + indexCount = subMeshIndexCount, topology = m_Topology, baseVertex = baseVertex, firstVertex = baseVertex, @@ -373,7 +488,7 @@ async Task CreateMeshResultAsync() bounds.Encapsulate(subMeshBounds); } Profiler.EndSample(); - indexCount += m_Indices[i].Length; + indexCount += subMeshIndexCount; } msh.bounds = bounds; @@ -452,68 +567,99 @@ protected override void Dispose(bool disposing) if (disposing) { m_VertexData?.Dispose(); - if (m_Indices != null) + m_Indices.Dispose(); + } + } + + + static void GetIndicesUInt16Job( + GltfImportBase gltfImport, + AccessorBase accessor, + ReadOnlyNativeArray accessorData, + NativeArray indices, + out JobHandle? jobHandle, + bool flip + ) + { + Profiler.BeginSample("GetIndicesUInt16Job"); + switch (accessor.componentType) + { + case GltfComponentType.UnsignedByte: { - for (var index = 0; index < m_Indices.Length; index++) + if (flip) { - var indices = m_Indices[index]; - if (indices.IsCreated) - indices.Dispose(); + var job8 = new ConvertIndicesUInt8ToUInt16FlippedJob + { + input = accessorData.Reinterpret().AsNativeArrayReadOnly(), + result = indices.Reinterpret(UnsafeUtility.SizeOf()) + }; + jobHandle = job8.Schedule(accessor.count / 3, GltfImportBase.DefaultBatchCount); } - - m_Indices = null; + else + { + var job8 = new ConvertIndicesUInt8ToUInt16Job + { + input = accessorData.AsNativeArrayReadOnly(), + result = indices + }; + jobHandle = job8.Schedule(accessor.count, GltfImportBase.DefaultBatchCount); + } + break; } - } - - if (m_Disposables != null) - { - foreach (var disposable in m_Disposables) + case GltfComponentType.UnsignedShort: { - disposable.Dispose(); + if (flip) + { + var job16 = new ConvertIndicesUInt16ToUInt16FlippedJob + { + input = accessorData.Reinterpret().AsNativeArrayReadOnly(), + result = indices.Reinterpret(UnsafeUtility.SizeOf()) + }; + jobHandle = job16.Schedule(accessor.count / 3, GltfImportBase.DefaultBatchCount); + } + else + { + unsafe + { + var job = new MemCopyJob + { + bufferSize = accessorData.Length, + input = (byte*)accessorData.GetUnsafeReadOnlyPtr(), + result = (byte*)indices.GetUnsafePtr() + }; + jobHandle = job.Schedule(); + } + } + break; } - - m_Disposables = null; + default: + gltfImport.Logger?.Error(LogCode.IndexFormatInvalid, accessor.componentType.ToString()); + jobHandle = null; + break; } + Profiler.EndSample(); } - static void GetIndicesJob( + static void GetIndicesUInt32Job( GltfImportBase gltfImport, - int accessorIndex, - out NativeArray indices, + AccessorBase accessor, + ReadOnlyNativeArray accessorData, + NativeArray indices, out JobHandle? jobHandle, bool flip ) { - Profiler.BeginSample("PrepareGetIndicesJob"); - var accessor = ((IGltfBuffers)gltfImport).GetAccessor(accessorIndex); - var accessorData = ((IGltfBuffers)gltfImport).GetBufferView( - accessor.bufferView, - out _, - accessor.byteOffset, - accessor.ByteSize - ); - - Profiler.BeginSample("Alloc"); - indices = new NativeArray(accessor.count, Allocator.Persistent); - Profiler.EndSample(); - - Assert.AreEqual(accessor.GetAttributeType(), GltfAccessorAttributeType.SCALAR); - if (accessor.IsSparse) - { - gltfImport.Logger?.Error(LogCode.SparseAccessor, "indices"); - } - - Profiler.BeginSample("CreateJob"); + Profiler.BeginSample("GetIndicesUInt32Job"); switch (accessor.componentType) { case GltfComponentType.UnsignedByte: { if (flip) { - var job8 = new ConvertIndicesUInt8ToInt32FlippedJob + var job8 = new ConvertIndicesUInt8ToUInt32FlippedJob { input = accessorData.Reinterpret().AsNativeArrayReadOnly(), - result = indices.Reinterpret(sizeof(int)) + result = indices.Reinterpret(UnsafeUtility.SizeOf()) }; jobHandle = job8.Schedule(accessor.count / 3, GltfImportBase.DefaultBatchCount); } @@ -532,10 +678,10 @@ bool flip { if (flip) { - var job16 = new ConvertIndicesUInt16ToInt32FlippedJob + var job16 = new ConvertIndicesUInt16ToUInt32FlippedJob { input = accessorData.Reinterpret().AsNativeArrayReadOnly(), - result = indices.Reinterpret(sizeof(int)) + result = indices.Reinterpret(UnsafeUtility.SizeOf()) }; jobHandle = job16.Schedule(accessor.count / 3, GltfImportBase.DefaultBatchCount); } @@ -554,10 +700,10 @@ bool flip { if (flip) { - var job32 = new ConvertIndicesUInt32ToInt32FlippedJob + var job32 = new ConvertIndicesUInt32ToUInt32FlippedJob { input = accessorData.Reinterpret().AsNativeArrayReadOnly(), - result = indices.Reinterpret(sizeof(int)) + result = indices.Reinterpret(UnsafeUtility.SizeOf()) }; jobHandle = job32.Schedule(accessor.count / 3, GltfImportBase.DefaultBatchCount); } @@ -583,13 +729,70 @@ bool flip break; } Profiler.EndSample(); + } + + static void CalculateIndicesUInt16Job( + MeshPrimitiveBase primitive, + NativeArray indices, + out JobHandle jobHandle + ) + { + Profiler.BeginSample("CalculateIndicesJob"); + // No indices: calculate them + switch (primitive.mode) + { + case DrawMode.LineLoop: + { + // Set the last index to the first vertex + indices[^1] = 0; + var job = new CreateIndicesUInt16Job() + { + result = indices + }; + jobHandle = job.Schedule(indices.Length - 1, GltfImportBase.DefaultBatchCount); + break; + } + case DrawMode.Triangles: + { + var job = new CreateIndicesUInt16FlippedJob + { + result = indices + }; + jobHandle = job.Schedule(indices.Length, GltfImportBase.DefaultBatchCount); + break; + } + case DrawMode.TriangleStrip: + { + var job = new CreateIndicesForTriangleStripUInt16Job + { + result = indices + }; + jobHandle = job.Schedule(indices.Length, GltfImportBase.DefaultBatchCount); + break; + } + case DrawMode.TriangleFan: + var triangleFanJob = new CreateIndicesForTriangleFanUInt16Job + { + result = indices + }; + jobHandle = triangleFanJob.Schedule(indices.Length, GltfImportBase.DefaultBatchCount); + break; + default: + { + var job = new CreateIndicesUInt16Job() + { + result = indices + }; + jobHandle = job.Schedule(indices.Length, GltfImportBase.DefaultBatchCount); + break; + } + } Profiler.EndSample(); } - static void CalculateIndicesJob( + static void CalculateIndicesUInt32Job( MeshPrimitiveBase primitive, - int vertexCount, - out NativeArray indices, + NativeArray indices, out JobHandle jobHandle ) { @@ -599,20 +802,17 @@ out JobHandle jobHandle { case DrawMode.LineLoop: { - // extra index (first vertex again) for closing line loop - indices = new NativeArray(vertexCount + 1, Allocator.Persistent); // Set the last index to the first vertex - indices[vertexCount] = 0; + indices[^1] = 0; var job = new CreateIndicesUInt32Job() { result = indices }; - jobHandle = job.Schedule(vertexCount, GltfImportBase.DefaultBatchCount); + jobHandle = job.Schedule(indices.Length - 1, GltfImportBase.DefaultBatchCount); break; } case DrawMode.Triangles: { - indices = new NativeArray(vertexCount, Allocator.Persistent); var job = new CreateIndicesUInt32FlippedJob { result = indices @@ -622,8 +822,7 @@ out JobHandle jobHandle } case DrawMode.TriangleStrip: { - indices = new NativeArray((vertexCount - 2) * 3, Allocator.Persistent); - var job = new CreateIndicesForTriangleStripJob + var job = new CreateIndicesForTriangleStripUInt32Job { result = indices }; @@ -631,8 +830,7 @@ out JobHandle jobHandle break; } case DrawMode.TriangleFan: - indices = new NativeArray((vertexCount - 2) * 3, Allocator.Persistent); - var triangleFanJob = new CreateIndicesForTriangleFanJob + var triangleFanJob = new CreateIndicesForTriangleFanUInt32Job { result = indices }; @@ -640,12 +838,11 @@ out JobHandle jobHandle break; default: { - indices = new NativeArray(vertexCount, Allocator.Persistent); var job = new CreateIndicesUInt32Job() { result = indices }; - jobHandle = job.Schedule(vertexCount, GltfImportBase.DefaultBatchCount); + jobHandle = job.Schedule(indices.Length, GltfImportBase.DefaultBatchCount); break; } } diff --git a/Runtime/Scripts/MeshGeneratorBase.cs b/Runtime/Scripts/MeshGeneratorBase.cs index e00b2e5eb..0cd66829c 100644 --- a/Runtime/Scripts/MeshGeneratorBase.cs +++ b/Runtime/Scripts/MeshGeneratorBase.cs @@ -2,6 +2,7 @@ // SPDX-License-Identifier: Apache-2.0 using System; +using System.Threading; using UnityEngine.Rendering; using System.Threading.Tasks; @@ -30,10 +31,11 @@ protected MeshGeneratorBase(string meshName) m_MeshName = meshName; } - public async Task CreateMeshResult() + public async Task CreateMeshResult(CancellationToken cancellationToken) { while (!IsCompleted) { + cancellationToken.ThrowIfCancellationRequestedWithTracking(); await Task.Yield(); } diff --git a/Runtime/Scripts/StreamExtension.cs b/Runtime/Scripts/StreamExtension.cs index 3e5f46c21..27e0a8cd7 100644 --- a/Runtime/Scripts/StreamExtension.cs +++ b/Runtime/Scripts/StreamExtension.cs @@ -1,6 +1,11 @@ // SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 +// currently no good way to detect exception support setting in WebGL, so disabling by default here +#if !UNITY_WEBGL || UNITY_EDITOR +#define GLTFAST_FULL_EXCEPTION_SUPPORT +#endif + using System; using System.IO; using System.Threading; @@ -22,12 +27,23 @@ CancellationToken cancellationToken { int readBytes; var pendingBytes = length; - do + try + { + do + { + readBytes = await stream.ReadAsync(destination, offset, pendingBytes +#if GLTFAST_FULL_EXCEPTION_SUPPORT + , cancellationToken +#endif + ); + pendingBytes -= readBytes; + offset += readBytes; + } while (pendingBytes > 0 && readBytes > 0); + } + catch (TaskCanceledException) { - readBytes = await stream.ReadAsync(destination, offset, pendingBytes, cancellationToken); - pendingBytes -= readBytes; - offset += readBytes; - } while (pendingBytes > 0 && readBytes > 0); + cancellationToken.ThrowIfCancellationRequestedWithTracking(); + } return pendingBytes <= 0; } diff --git a/Runtime/Scripts/byte3.cs b/Runtime/Scripts/byte3.cs index 65b780166..4ccfd0824 100644 --- a/Runtime/Scripts/byte3.cs +++ b/Runtime/Scripts/byte3.cs @@ -57,13 +57,24 @@ public float3 GltfToUnityNormalizedFloat3() /// /// Converts triangle indices from unsigned byte in glTF space to - /// signed int indices in Unity space. + /// unsigned short indices in Unity space. /// /// Triangle indices vector in Unity space. [MethodImpl(MethodImplOptions.AggressiveInlining)] - public int3 GltfToUnityTriangleIndies() + public ushort3 GltfToUnityTriangleIndicesUInt16() { - return new int3(x, z, y); + return new ushort3(x, z, y); + } + + /// + /// Converts triangle indices from unsigned byte in glTF space to + /// unsigned int indices in Unity space. + /// + /// Triangle indices vector in Unity space. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public uint3 GltfToUnityTriangleIndices() + { + return new uint3(x, z, y); } } } diff --git a/Runtime/Scripts/ushort3.cs b/Runtime/Scripts/ushort3.cs index dfe7bb759..34cc5a9e0 100644 --- a/Runtime/Scripts/ushort3.cs +++ b/Runtime/Scripts/ushort3.cs @@ -16,6 +16,17 @@ struct ushort3 /// z component of the vector. public ushort z; + /// Constructs a ushort3 vector from three ushort values. + /// The constructed vector's x component will be set to this value. + /// The constructed vector's y component will be set to this value. + /// The constructed vector's z component will be set to this value. + public ushort3(ushort x, ushort y, ushort z) + { + this.x = x; + this.y = y; + this.z = z; + } + /// /// Converts 3 component vector from unsigned short in glTF space to /// float3 in Unity space. @@ -44,13 +55,24 @@ public float3 GltfToUnityNormalizedFloat3() /// /// Converts triangle indices from unsigned short in glTF space to - /// signed int indices in Unity space. + /// unsigned int indices in Unity space. + /// + /// Triangle indices vector in Unity space. + [MethodImpl(MethodImplOptions.AggressiveInlining)] + public ushort3 GltfToUnityTriangleIndicesUInt16() + { + return new ushort3(x, z, y); + } + + /// + /// Converts triangle indices from unsigned short in glTF space to + /// unsigned int indices in Unity space. /// /// Triangle indices vector in Unity space. [MethodImpl(MethodImplOptions.AggressiveInlining)] - public int3 GltfToUnityTriangleIndies() + public uint3 GltfToUnityTriangleIndices() { - return new int3(x, z, y); + return new uint3(x, z, y); } } } diff --git a/Runtime/Shader/Built-In/glTFIncludes/glTFUnityStandardCore.cginc b/Runtime/Shader/Built-In/glTFIncludes/glTFUnityStandardCore.cginc index 5ed842582..05c1c51a2 100644 --- a/Runtime/Shader/Built-In/glTFIncludes/glTFUnityStandardCore.cginc +++ b/Runtime/Shader/Built-In/glTFIncludes/glTFUnityStandardCore.cginc @@ -288,12 +288,12 @@ inline FragmentCommonData FragmentSetup ( half3 i_viewDirForParallax, float4 tangentToWorld[3], float3 i_posWorld, - half3 v_color + half4 v_color ) { i_tex = Parallax(i_tex, i_viewDirForParallax); - half alpha = Alpha(i_tex.xy); + half alpha = Alpha(i_tex.xy) * v_color.a; #if defined(_ALPHATEST_ON) clip (alpha - alphaCutoff); #endif diff --git a/Runtime/Shader/Built-In/glTFIncludes/glTFUnityStandardInput.cginc b/Runtime/Shader/Built-In/glTFIncludes/glTFUnityStandardInput.cginc index 6dd22dc6f..52ca06d3c 100644 --- a/Runtime/Shader/Built-In/glTFIncludes/glTFUnityStandardInput.cginc +++ b/Runtime/Shader/Built-In/glTFIncludes/glTFUnityStandardInput.cginc @@ -154,9 +154,6 @@ half Alpha(float2 uv) return baseColorFactor.a; #else half alpha = tex2D(baseColorTexture, uv).a; -#ifndef UNITY_COLORSPACE_GAMMA - alpha = GammaToLinearSpace(alpha); -#endif return alpha * baseColorFactor.a; #endif } @@ -235,20 +232,17 @@ half3 Emission(float2 uv) } #ifdef _NORMALMAP + half3 NormalInTangentSpace(float2 texcoords) { - // This is a replacement for UnityStandardUtils UnpackScaleNormal to use XYZ normals even with DXT5nm enabled + // This is a replacement for UnityStandardUtils UnpackScaleNormalRGorAG to use XYZ normals even with DXT5nm enabled half4 packedNormal = tex2D(normalTexture, texcoords); - packedNormal.x *= packedNormal.w; - - half3 normal; - normal.xy = packedNormal.xy * 2 - 1; + half3 normal = packedNormal.xyz * 2 - 1; #if (SHADER_TARGET >= 30) // SM2.0: instruction count limitation // SM2.0: normal scaler is not supported normal.xy *= normalTexture_scale; #endif - normal.z = sqrt(1.0 - saturate(dot(normal.xy, normal.xy))); return normal; } #endif diff --git a/Runtime/Shader/Built-In/glTFUnlit.shader b/Runtime/Shader/Built-In/glTFUnlit.shader index 23bf5045c..43c4779dd 100644 --- a/Runtime/Shader/Built-In/glTFUnlit.shader +++ b/Runtime/Shader/Built-In/glTFUnlit.shader @@ -81,9 +81,6 @@ SubShader { fixed4 frag (v2f i) : SV_Target { fixed4 col = tex2D(baseColorTexture, i.texcoord); -#ifndef UNITY_COLORSPACE_GAMMA - col.a = GammaToLinearSpace(col.a); -#endif col *= baseColorFactor; col *= i.color; #ifdef _ALPHATEST_ON diff --git a/Runtime/Shader/Export/glTFExportMetalGloss.shader b/Runtime/Shader/Export/glTFExportMetalGloss.shader index 0a146bc84..849daf7d7 100644 --- a/Runtime/Shader/Export/glTFExportMetalGloss.shader +++ b/Runtime/Shader/Export/glTFExportMetalGloss.shader @@ -3,6 +3,7 @@ Shader "Hidden/glTFExportMetalGloss" Properties { _MainTex ("Texture", 2D) = "white" {} + _SmoothnessFactor ("Smoothness Factor", Range(0,1)) = 1 } SubShader { @@ -38,6 +39,7 @@ Shader "Hidden/glTFExportMetalGloss" } sampler2D _MainTex; + float _SmoothnessFactor; float4 frag (v2f i) : SV_Target { @@ -53,7 +55,7 @@ Shader "Hidden/glTFExportMetalGloss" // Conversion Summary // Unity R channel goes into B channel // Unity A channel goes into G channel, then inverted - float4 result = float4(1, 1 - col.a, col.r, 1); + float4 result = float4(1, 1 - col.a * _SmoothnessFactor, col.r, 1); #ifdef UNITY_COLORSPACE_GAMMA #else // hack for linear color space, need to figure out diff --git a/Runtime/Shader/Export/glTFExportSmoothness.shader b/Runtime/Shader/Export/glTFExportSmoothness.shader index ae76f9431..af067bc7f 100644 --- a/Runtime/Shader/Export/glTFExportSmoothness.shader +++ b/Runtime/Shader/Export/glTFExportSmoothness.shader @@ -3,6 +3,7 @@ Shader "Hidden/glTFExportSmoothness" Properties { _MainTex ("Texture", 2D) = "white" {} + _SmoothnessFactor ("Smoothness Factor", Range(0,1)) = 1 } SubShader { @@ -38,12 +39,13 @@ Shader "Hidden/glTFExportSmoothness" return o; } + float _SmoothnessFactor; sampler2D _MainTex; float4 frag (v2f i) : SV_Target { float4 col = tex2D(_MainTex, i.uv); - float4 result = float4(1,1-col.a,1,1); + float4 result = float4(1,1-col.a*_SmoothnessFactor,1,1); return result; } ENDCG diff --git a/Runtime/Shader/Includes/Normal.cginc b/Runtime/Shader/Includes/Normal.cginc index d4e29b56a..44632e347 100644 --- a/Runtime/Shader/Includes/Normal.cginc +++ b/Runtime/Shader/Includes/Normal.cginc @@ -2,12 +2,10 @@ #ifndef GLTF_HLSL_INCLUDE_NORMAL #define GLTF_HLSL_INCLUDE_NORMAL -/// This is a replacement for UnityStandardUtils UnpackScaleNormal to use XYZ normals even with DXT5nm enabled +/// This is a replacement for UnityStandardUtils UnpackScaleNormalRGorAG to use XYZ normals even with DXT5nm enabled void NormalInTangentSpace_float(UnityTexture2D normal_texture, float2 uv, float normal_scale, out float3 normal) { float4 packed_normal = tex2D(normal_texture, uv); - packed_normal.x *= packed_normal.w; - normal.xy = packed_normal.xy * 2 - 1; normal.xy *= normal_scale; normal.z = sqrt(1.0 - saturate(dot(normal.xy, normal.xy))); diff --git a/Runtime/Shader/SubGraphs/BaseColor.shadersubgraph b/Runtime/Shader/SubGraphs/BaseColor.shadersubgraph index 0f9019d21..0f9c53c91 100644 --- a/Runtime/Shader/SubGraphs/BaseColor.shadersubgraph +++ b/Runtime/Shader/SubGraphs/BaseColor.shadersubgraph @@ -1,5 +1,5 @@ { - "m_SGVersion": 2, + "m_SGVersion": 3, "m_Type": "UnityEditor.ShaderGraph.GraphData", "m_ObjectId": "090ef440380b46d986517b7922b4a7a6", "m_Properties": [ @@ -21,6 +21,12 @@ "m_Id": "011f4b30e3014c7292a23a61d90bbafc" } ], + "m_Dropdowns": [], + "m_CategoryData": [ + { + "m_Id": "a7d27589cf69411f813a72d8e299c71f" + } + ], "m_Nodes": [ { "m_Id": "9200da3e7096bf8392d845cdedd5c693" @@ -52,9 +58,6 @@ { "m_Id": "042d6775af3e4882bfd8f0ce4caa146c" }, - { - "m_Id": "b387cfe84ba48c80b009292201f697eb" - }, { "m_Id": "2a101c899ff69481b176e85319651599" }, @@ -66,18 +69,6 @@ }, { "m_Id": "5426501522404b52b23f9cbad6b92767" - }, - { - "m_Id": "99338bef02924dd6a94b580bd685bb2b" - }, - { - "m_Id": "242a5f3b3de14d329fe0da242b464278" - }, - { - "m_Id": "b114aedb9a3c4ce884294e2017c21001" - }, - { - "m_Id": "921b04f05cc4457c97b26797e6401906" } ], "m_GroupDatas": [ @@ -85,11 +76,7 @@ "m_Id": "b0da37b8d05f4a1fbd0f231f92cd16c1" } ], - "m_StickyNoteDatas": [ - { - "m_Id": "80581c4568b94d5db8959f4ebb96fff3" - } - ], + "m_StickyNoteDatas": [], "m_Edges": [ { "m_OutputSlot": { @@ -128,53 +115,11 @@ }, "m_InputSlot": { "m_Node": { - "m_Id": "242a5f3b3de14d329fe0da242b464278" - }, - "m_SlotId": 1 - } - }, - { - "m_OutputSlot": { - "m_Node": { - "m_Id": "138397a6db27508ebfa37e627012b311" - }, - "m_SlotId": 7 - }, - "m_InputSlot": { - "m_Node": { - "m_Id": "921b04f05cc4457c97b26797e6401906" + "m_Id": "042d6775af3e4882bfd8f0ce4caa146c" }, "m_SlotId": 1 } }, - { - "m_OutputSlot": { - "m_Node": { - "m_Id": "138397a6db27508ebfa37e627012b311" - }, - "m_SlotId": 7 - }, - "m_InputSlot": { - "m_Node": { - "m_Id": "b114aedb9a3c4ce884294e2017c21001" - }, - "m_SlotId": 0 - } - }, - { - "m_OutputSlot": { - "m_Node": { - "m_Id": "242a5f3b3de14d329fe0da242b464278" - }, - "m_SlotId": 0 - }, - "m_InputSlot": { - "m_Node": { - "m_Id": "921b04f05cc4457c97b26797e6401906" - }, - "m_SlotId": 2 - } - }, { "m_OutputSlot": { "m_Node": { @@ -282,7 +227,7 @@ }, "m_InputSlot": { "m_Node": { - "m_Id": "99338bef02924dd6a94b580bd685bb2b" + "m_Id": "2a101c899ff69481b176e85319651599" }, "m_SlotId": 0 } @@ -343,34 +288,6 @@ "m_SlotId": 0 } }, - { - "m_OutputSlot": { - "m_Node": { - "m_Id": "921b04f05cc4457c97b26797e6401906" - }, - "m_SlotId": 0 - }, - "m_InputSlot": { - "m_Node": { - "m_Id": "042d6775af3e4882bfd8f0ce4caa146c" - }, - "m_SlotId": 1 - } - }, - { - "m_OutputSlot": { - "m_Node": { - "m_Id": "99338bef02924dd6a94b580bd685bb2b" - }, - "m_SlotId": 1 - }, - "m_InputSlot": { - "m_Node": { - "m_Id": "b387cfe84ba48c80b009292201f697eb" - }, - "m_SlotId": 0 - } - }, { "m_OutputSlot": { "m_Node": { @@ -385,34 +302,6 @@ "m_SlotId": 1 } }, - { - "m_OutputSlot": { - "m_Node": { - "m_Id": "b114aedb9a3c4ce884294e2017c21001" - }, - "m_SlotId": 1 - }, - "m_InputSlot": { - "m_Node": { - "m_Id": "242a5f3b3de14d329fe0da242b464278" - }, - "m_SlotId": 2 - } - }, - { - "m_OutputSlot": { - "m_Node": { - "m_Id": "b387cfe84ba48c80b009292201f697eb" - }, - "m_SlotId": 1 - }, - "m_InputSlot": { - "m_Node": { - "m_Id": "2a101c899ff69481b176e85319651599" - }, - "m_SlotId": 0 - } - }, { "m_OutputSlot": { "m_Node": { @@ -446,31 +335,39 @@ "serializedMesh": { "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", "m_Guid": "" - } + }, + "preventRotation": false }, "m_Path": "Sub Graphs", - "m_ConcretePrecision": 0, + "m_GraphPrecision": 0, "m_PreviewMode": 2, "m_OutputNode": { "m_Id": "9200da3e7096bf8392d845cdedd5c693" }, + "m_SubDatas": [], "m_ActiveTargets": [] } { - "m_SGVersion": 0, + "m_SGVersion": 1, "m_Type": "UnityEditor.ShaderGraph.ShaderKeyword", "m_ObjectId": "011f4b30e3014c7292a23a61d90bbafc", "m_Guid": { "m_GuidSerialized": "09c8bebf-1c56-471e-b134-d89d7ea59793" }, "m_Name": "SHADEROPTIONS_PRE_EXPOSITION", + "m_DefaultRefNameVersion": 0, + "m_RefNameGeneratedByDisplayName": "", "m_DefaultReferenceName": "BOOLEAN_011F4B30E3014C7292A23A61D90BBAFC_ON", "m_OverrideReferenceName": "SHADEROPTIONS_PRE_EXPOSITION", "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_KeywordType": 0, "m_KeywordDefinition": 2, "m_KeywordScope": 1, + "m_KeywordStages": 63, "m_Entries": [], "m_Value": 0, "m_IsEditable": true @@ -488,10 +385,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 815.0000610351563, - "y": 99.00005340576172, - "width": 124.99999237060547, - "height": 117.99999237060547 + "x": -1.5000293254852296, + "y": -18.0, + "width": 126.00000762939453, + "height": 118.00003051757813 } }, "m_Slots": [ @@ -508,51 +405,13 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] } } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", - "m_ObjectId": "0e186197c2204e8e815cfd9117fd2cac", - "m_Id": 2, - "m_DisplayName": "Off", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "Off", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 0.0 - } -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "0ff6115df3344cdeb497ec37bbee8760", - "m_Id": 0, - "m_DisplayName": "gammaValue", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "gammaValue", - "m_StageCapability": 3, - "m_Value": 0.0, - "m_DefaultValue": 0.0, - "m_Labels": [] -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", @@ -648,36 +507,15 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 0, - "m_NormalMapSpace": 0 -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", - "m_ObjectId": "1ba8b0d99f154988b3d892005263be4f", - "m_Id": 0, - "m_DisplayName": "In", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "In", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 0.0 - } + "m_NormalMapSpace": 0, + "m_EnableGlobalMipBias": true, + "m_MipSamplingMode": 0 } { @@ -697,64 +535,6 @@ ] } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "2326ef006e2fed82a2b2aaa603f7c737", - "m_Id": 1, - "m_DisplayName": "R", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "R", - "m_StageCapability": 3, - "m_Value": 0.0, - "m_DefaultValue": 0.0, - "m_Labels": [ - "X" - ] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.KeywordNode", - "m_ObjectId": "242a5f3b3de14d329fe0da242b464278", - "m_Group": { - "m_Id": "b0da37b8d05f4a1fbd0f231f92cd16c1" - }, - "m_Name": "UNITY_COLORSPACE_GAMMA", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": 261.5, - "y": 231.00001525878907, - "width": 222.49998474121095, - "height": 117.99999237060547 - } - }, - "m_Slots": [ - { - "m_Id": "2aead6d1ba194f569dc4e63dced95f96" - }, - { - "m_Id": "6a8e3715b14d46e184dba0a3c919be95" - }, - { - "m_Id": "8c03c4dd76d840f0acbe4011358e558a" - } - ], - "synonyms": [], - "m_Precision": 0, - "m_PreviewExpanded": false, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_Keyword": { - "m_Id": "77b0beb4204941d6abdcb8dad422f287" - } -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.PropertyNode", @@ -781,6 +561,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -819,10 +600,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 974.9999389648438, - "y": 4.500027656555176, - "width": 124.99999237060547, - "height": 117.99999237060547 + "x": 522.0, + "y": -126.50000762939453, + "width": 126.00006103515625, + "height": 118.00004577636719 } }, "m_Slots": [ @@ -839,36 +620,13 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] } } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", - "m_ObjectId": "2aead6d1ba194f569dc4e63dced95f96", - "m_Id": 0, - "m_DisplayName": "Out", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Out", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 0.0 - } -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", @@ -895,34 +653,10 @@ { "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", - "m_ObjectId": "2f68c6b4453b44ce8e32f1195fd76979", - "m_Id": 1, - "m_DisplayName": "On", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "On", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 0.0 - } -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.VertexColorNode", - "m_ObjectId": "2fef576ae48fe28095765de08d6a7dd5", - "m_Group": { - "m_Id": "b0da37b8d05f4a1fbd0f231f92cd16c1" + "m_Type": "UnityEditor.ShaderGraph.VertexColorNode", + "m_ObjectId": "2fef576ae48fe28095765de08d6a7dd5", + "m_Group": { + "m_Id": "b0da37b8d05f4a1fbd0f231f92cd16c1" }, "m_Name": "Vertex Color", "m_DrawState": { @@ -943,6 +677,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 2, "m_CustomColors": { "m_SerializableColors": [] @@ -966,33 +701,6 @@ ] } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", - "m_ObjectId": "3214a913adc74431b5bd2330daace53f", - "m_Id": 0, - "m_DisplayName": "In", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "In", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_Labels": [ - "X", - "Y", - "Z" - ] -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.SamplerStateMaterialSlot", @@ -1190,10 +898,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": -277.00006103515627, - "y": -313.0000305175781, - "width": 120.00000762939453, - "height": 149.00001525878907 + "x": -284.00006103515627, + "y": -271.0, + "width": 119.00004577636719, + "height": 149.0 } }, "m_Slots": [ @@ -1216,6 +924,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1272,6 +981,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1318,10 +1028,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": -66.0, - "y": -313.0, - "width": 119.0, - "height": 149.0 + "x": -1.5000115633010865, + "y": -329.5000305175781, + "width": 119.0000228881836, + "height": 149.00001525878907 } }, "m_Slots": [ @@ -1346,6 +1056,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1490,6 +1201,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1551,6 +1263,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1560,27 +1273,6 @@ } } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.CategoryData", - "m_ObjectId": "670d5448f2e4446c9d84fa55a37797ab", - "m_Name": "", - "m_ChildObjectList": [ - { - "m_Id": "bbcb866077389285b6753f7439d8cefe" - }, - { - "m_Id": "f5798993603c168f9f2f35781e76f32d" - }, - { - "m_Id": "ce8f6554e8d0508f97307598c2be7200" - }, - { - "m_Id": "77b0beb4204941d6abdcb8dad422f287" - } - ] -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.KeywordNode", @@ -1613,6 +1305,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1622,54 +1315,6 @@ } } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", - "m_ObjectId": "6a8e3715b14d46e184dba0a3c919be95", - "m_Id": 1, - "m_DisplayName": "On", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "On", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 0.0 - } -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", - "m_ObjectId": "6c59c4ca548c4933a4f04dc6a26a7bf4", - "m_Id": 0, - "m_DisplayName": "Out", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Out", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 0.0 - } -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", @@ -1718,23 +1363,6 @@ } } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "752a50581c809483bf44e03aa1dbfa4a", - "m_Id": 4, - "m_DisplayName": "A", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "A", - "m_StageCapability": 3, - "m_Value": 0.0, - "m_DefaultValue": 0.0, - "m_Labels": [ - "X" - ] -} - { "m_SGVersion": 1, "m_Type": "UnityEditor.ShaderGraph.ShaderKeyword", @@ -1743,12 +1371,18 @@ "m_GuidSerialized": "24ecaa53-0f82-42f5-ac46-3c1606553614" }, "m_Name": "UNITY_COLORSPACE_GAMMA", + "m_DefaultRefNameVersion": 0, + "m_RefNameGeneratedByDisplayName": "", "m_DefaultReferenceName": "BOOLEAN_77B0BEB4204941D6ABDCB8DAD422F287_ON", "m_OverrideReferenceName": "UNITY_COLORSPACE_GAMMA", "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_KeywordType": 0, "m_KeywordDefinition": 2, "m_KeywordScope": 1, + "m_KeywordStages": 63, "m_Entries": [], "m_Value": 0, "m_IsEditable": true @@ -1766,47 +1400,12 @@ "m_StageCapability": 3, "m_BareResource": false, "m_Texture": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "m_DefaultType": 0 } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "7e432a9601d346e8b0c3413c867b77f9", - "m_Id": 1, - "m_DisplayName": "linearValue", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "linearValue", - "m_StageCapability": 3, - "m_Value": 0.0, - "m_DefaultValue": 0.0, - "m_Labels": [] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.StickyNoteData", - "m_ObjectId": "80581c4568b94d5db8959f4ebb96fff3", - "m_Title": "HDRP detection", - "m_Content": "SHADEROPTIONS_PRE_EXPOSITION is set when High Definition Render Pipeline is in use.\nNOTE: Does not work in Shader Graph Preview", - "m_TextSize": 0, - "m_Theme": 0, - "m_Position": { - "serializedVersion": "2", - "x": 522.5, - "y": 58.0, - "width": 201.5, - "height": 100.0 - }, - "m_Group": { - "m_Id": "b0da37b8d05f4a1fbd0f231f92cd16c1" - } -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", @@ -1903,45 +1502,21 @@ } } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", - "m_ObjectId": "8c03c4dd76d840f0acbe4011358e558a", - "m_Id": 2, - "m_DisplayName": "Off", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "Off", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 0.0 - } -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.SubGraphOutputNode", "m_ObjectId": "9200da3e7096bf8392d845cdedd5c693", "m_Group": { - "m_Id": "" + "m_Id": "b0da37b8d05f4a1fbd0f231f92cd16c1" }, "m_Name": "Out_Vector1", "m_DrawState": { "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 1179.0, - "y": -100.0, - "width": 114.49999237060547, + "x": 726.0, + "y": -230.99996948242188, + "width": 115.5, "height": 101.0 } }, @@ -1956,6 +1531,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1963,86 +1539,6 @@ "IsFirstSlotValid": true } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.KeywordNode", - "m_ObjectId": "921b04f05cc4457c97b26797e6401906", - "m_Group": { - "m_Id": "b0da37b8d05f4a1fbd0f231f92cd16c1" - }, - "m_Name": "SHADEROPTIONS_PRE_EXPOSITION", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": 516.4999389648438, - "y": 172.00001525878907, - "width": 254.49998474121095, - "height": 117.99999237060547 - } - }, - "m_Slots": [ - { - "m_Id": "6c59c4ca548c4933a4f04dc6a26a7bf4" - }, - { - "m_Id": "2f68c6b4453b44ce8e32f1195fd76979" - }, - { - "m_Id": "0e186197c2204e8e815cfd9117fd2cac" - } - ], - "synonyms": [], - "m_Precision": 0, - "m_PreviewExpanded": false, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_Keyword": { - "m_Id": "011f4b30e3014c7292a23a61d90bbafc" - } -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.ColorspaceConversionNode", - "m_ObjectId": "99338bef02924dd6a94b580bd685bb2b", - "m_Group": { - "m_Id": "b0da37b8d05f4a1fbd0f231f92cd16c1" - }, - "m_Name": "Colorspace Conversion", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": 69.49998474121094, - "y": -312.9999694824219, - "width": 210.9999542236328, - "height": 130.49998474121095 - } - }, - "m_Slots": [ - { - "m_Id": "3214a913adc74431b5bd2330daace53f" - }, - { - "m_Id": "c4631f2fd6e342c08fed118e0d79ce50" - } - ], - "synonyms": [], - "m_Precision": 0, - "m_PreviewExpanded": false, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_Conversion": { - "from": 1, - "to": 0 - } -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -2072,10 +1568,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 173.00001525878907, - "y": -160.99998474121095, - "width": 208.0, - "height": 302.0 + "x": -1.5000293254852296, + "y": -157.99998474121095, + "width": 129.49998474121095, + "height": 117.99998474121094 } }, "m_Slots": [ @@ -2092,12 +1588,37 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.CategoryData", + "m_ObjectId": "a7d27589cf69411f813a72d8e299c71f", + "m_Name": "", + "m_ChildObjectList": [ + { + "m_Id": "bbcb866077389285b6753f7439d8cefe" + }, + { + "m_Id": "f5798993603c168f9f2f35781e76f32d" + }, + { + "m_Id": "ce8f6554e8d0508f97307598c2be7200" + }, + { + "m_Id": "77b0beb4204941d6abdcb8dad422f287" + }, + { + "m_Id": "011f4b30e3014c7292a23a61d90bbafc" + } + ] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", @@ -2252,114 +1773,11 @@ "m_ObjectId": "b0da37b8d05f4a1fbd0f231f92cd16c1", "m_Title": "BaseColor", "m_Position": { - "x": -374.0, + "x": -374.0000305175781, "y": -577.5 } } -{ - "m_SGVersion": 1, - "m_Type": "UnityEditor.ShaderGraph.CustomFunctionNode", - "m_ObjectId": "b114aedb9a3c4ce884294e2017c21001", - "m_Group": { - "m_Id": "b0da37b8d05f4a1fbd0f231f92cd16c1" - }, - "m_Name": "GammaToLinearSpaceScalar (Custom Function)", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": -99.49992370605469, - "y": 275.9999694824219, - "width": 317.4999694824219, - "height": 93.99999237060547 - } - }, - "m_Slots": [ - { - "m_Id": "0ff6115df3344cdeb497ec37bbee8760" - }, - { - "m_Id": "7e432a9601d346e8b0c3413c867b77f9" - } - ], - "synonyms": [ - "code", - "HLSL" - ], - "m_Precision": 0, - "m_PreviewExpanded": false, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_SourceType": 1, - "m_FunctionName": "GammaToLinearSpaceScalar", - "m_FunctionSource": "", - "m_FunctionBody": "// Approximate version from http://chilliant.blogspot.com.au/2012/08/srgb-approximations-for-hlsl.html?m=1\n linearValue = gammaValue * (gammaValue * (gammaValue * 0.305306011h + 0.682171111h) + 0.012522878h);" -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.SplitNode", - "m_ObjectId": "b387cfe84ba48c80b009292201f697eb", - "m_Group": { - "m_Id": "b0da37b8d05f4a1fbd0f231f92cd16c1" - }, - "m_Name": "Split", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": 296.5, - "y": -313.0, - "width": 119.0, - "height": 149.0 - } - }, - "m_Slots": [ - { - "m_Id": "1ba8b0d99f154988b3d892005263be4f" - }, - { - "m_Id": "2326ef006e2fed82a2b2aaa603f7c737" - }, - { - "m_Id": "b9fd3e0ce02b9981a6fb65072d64b1b9" - }, - { - "m_Id": "ca5aad59d86a0a869d06e332eb6f9c6c" - }, - { - "m_Id": "752a50581c809483bf44e03aa1dbfa4a" - } - ], - "synonyms": [], - "m_Precision": 0, - "m_PreviewExpanded": true, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - } -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "b9fd3e0ce02b9981a6fb65072d64b1b9", - "m_Id": 2, - "m_DisplayName": "G", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "G", - "m_StageCapability": 3, - "m_Value": 0.0, - "m_DefaultValue": 0.0, - "m_Labels": [ - "X" - ] -} - { "m_SGVersion": 1, "m_Type": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty", @@ -2368,9 +1786,14 @@ "m_GuidSerialized": "f5db2ecb-d689-4602-9dd9-c4f655fb7c41" }, "m_Name": "baseColorFactor", + "m_DefaultRefNameVersion": 0, + "m_RefNameGeneratedByDisplayName": "", "m_DefaultReferenceName": "Vector4_FC55EA20", "m_OverrideReferenceName": "", "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -2424,50 +1847,6 @@ ] } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", - "m_ObjectId": "c4631f2fd6e342c08fed118e0d79ce50", - "m_Id": 1, - "m_DisplayName": "Out", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "Out", - "m_StageCapability": 3, - "m_Value": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_Labels": [ - "X", - "Y", - "Z" - ] -} - -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "ca5aad59d86a0a869d06e332eb6f9c6c", - "m_Id": 3, - "m_DisplayName": "B", - "m_SlotType": 1, - "m_Hidden": false, - "m_ShaderOutputName": "B", - "m_StageCapability": 3, - "m_Value": 0.0, - "m_DefaultValue": 0.0, - "m_Labels": [ - "X" - ] -} - { "m_SGVersion": 1, "m_Type": "UnityEditor.ShaderGraph.Internal.Vector2ShaderProperty", @@ -2476,9 +1855,14 @@ "m_GuidSerialized": "6b928d43-ab83-47b1-a6e7-31c648717852" }, "m_Name": "UV", + "m_DefaultRefNameVersion": 0, + "m_RefNameGeneratedByDisplayName": "", "m_DefaultReferenceName": "Vector2_8D613221", "m_OverrideReferenceName": "", "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -2671,10 +2055,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 974.9999389648438, - "y": -167.49996948242188, - "width": 128.99998474121095, - "height": 117.99999237060547 + "x": 522.0, + "y": -298.4999694824219, + "width": 129.5, + "height": 118.00001525878906 } }, "m_Slots": [ @@ -2691,6 +2075,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2744,17 +2129,24 @@ "m_GuidSerialized": "24774c64-81a9-401f-8e9b-8e59a366a8a4" }, "m_Name": "baseColorTexture", + "m_DefaultRefNameVersion": 0, + "m_RefNameGeneratedByDisplayName": "", "m_DefaultReferenceName": "Texture2D_FA7B3822", "m_OverrideReferenceName": "", "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, "m_Value": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, + "isMainTexture": false, + "useTilingAndOffset": false, "m_Modifiable": true, "m_DefaultType": 0 } diff --git a/Runtime/Shader/glTF-pbrSpecularGlossiness.shadergraph b/Runtime/Shader/glTF-pbrSpecularGlossiness.shadergraph index 2ea238af1..7b448adb2 100644 --- a/Runtime/Shader/glTF-pbrSpecularGlossiness.shadergraph +++ b/Runtime/Shader/glTF-pbrSpecularGlossiness.shadergraph @@ -606,6 +606,20 @@ "m_SlotId": 0 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "bc16432923334c54a07a6046a6416ade" + }, + "m_SlotId": 5 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "a1be8935dcdd42d78d2ee684d738ad18" + }, + "m_SlotId": 0 + } + }, { "m_OutputSlot": { "m_Node": { @@ -815,6 +829,7 @@ "m_OutputNode": { "m_Id": "" }, + "m_SubDatas": [], "m_ActiveTargets": [ { "m_Id": "2a36fd86889242fba0092272df5ede5a" @@ -843,6 +858,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -881,6 +897,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -903,6 +920,7 @@ "m_GeneratePropertyBlock": false, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_KeywordType": 0, "m_KeywordDefinition": 0, "m_KeywordScope": 0, @@ -927,6 +945,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -980,6 +999,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1013,7 +1033,7 @@ "m_SlotType": 0, "m_Hidden": false, "m_ShaderOutputName": "Vector2_E7A4EB6D", - "m_StageCapability": 2, + "m_StageCapability": 3, "m_Value": { "x": 0.0, "y": 0.0 @@ -1101,6 +1121,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1151,6 +1172,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1256,6 +1278,7 @@ "synonyms": [], "m_Precision": 2, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1295,12 +1318,13 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 2, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, "m_Value": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "isMainTexture": true, @@ -1335,6 +1359,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1370,6 +1395,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1394,6 +1420,7 @@ "m_SGVersion": 1, "m_Type": "UnityEditor.Rendering.Universal.ShaderGraph.UniversalTarget", "m_ObjectId": "26975408980f4cd1ab2fdd8918b531a4", + "m_Datas": [], "m_ActiveSubTarget": { "m_Id": "7e14a416525a44f9be53b467adaa5d6a" }, @@ -1406,6 +1433,7 @@ "m_AlphaClip": false, "m_CastShadows": true, "m_ReceiveShadows": true, + "m_SupportsLODCrossFade": false, "m_CustomEditorGUI": "", "m_SupportVFX": false } @@ -1436,6 +1464,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1594,6 +1623,7 @@ "m_GeneratePropertyBlock": false, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_KeywordType": 0, "m_KeywordDefinition": 0, "m_KeywordScope": 0, @@ -1629,6 +1659,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1708,6 +1739,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1777,6 +1809,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1864,6 +1897,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -1906,6 +1940,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -1933,6 +1968,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -1960,6 +1996,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -1981,7 +2018,7 @@ "m_SlotType": 0, "m_Hidden": false, "m_ShaderOutputName": "Vector4_709747A6", - "m_StageCapability": 2, + "m_StageCapability": 3, "m_Value": { "x": 1.0, "y": 1.0, @@ -2070,6 +2107,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2105,6 +2143,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2140,6 +2179,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2164,6 +2204,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -2216,7 +2257,7 @@ "m_StageCapability": 2, "m_BareResource": false, "m_Texture": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "m_DefaultType": 0 @@ -2248,6 +2289,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2427,6 +2469,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2500,6 +2543,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -2551,6 +2595,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2575,6 +2620,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -2602,12 +2648,13 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, "m_Value": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "isMainTexture": false, @@ -2704,12 +2751,13 @@ } { - "m_SGVersion": 0, + "m_SGVersion": 2, "m_Type": "UnityEditor.Rendering.Universal.ShaderGraph.UniversalLitSubTarget", "m_ObjectId": "7e14a416525a44f9be53b467adaa5d6a", "m_WorkflowMode": 0, "m_NormalDropOffSpace": 0, - "m_ClearCoat": false + "m_ClearCoat": false, + "m_BlendModePreserveSpecular": false } { @@ -2738,6 +2786,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2802,6 +2851,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2851,12 +2901,13 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, "m_Value": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "isMainTexture": false, @@ -2927,6 +2978,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2946,7 +2998,7 @@ "m_StageCapability": 2, "m_BareResource": false, "m_Texture": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "m_DefaultType": 0 @@ -3003,6 +3055,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3024,7 +3077,7 @@ "m_StageCapability": 2, "m_BareResource": false, "m_Texture": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "m_DefaultType": 0 @@ -3045,6 +3098,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -3083,6 +3137,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3107,12 +3162,13 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, "m_Value": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "isMainTexture": false, @@ -3147,6 +3203,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3220,6 +3277,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3255,6 +3313,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3290,6 +3349,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3312,6 +3372,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -3407,6 +3468,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3423,10 +3485,10 @@ "m_SlotType": 0, "m_Hidden": false, "m_ShaderOutputName": "Texture2D_B4A7F700", - "m_StageCapability": 2, + "m_StageCapability": 3, "m_BareResource": false, "m_Texture": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "m_DefaultType": 0 @@ -3483,6 +3545,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3505,6 +3568,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -3532,6 +3596,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -3570,6 +3635,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3644,6 +3710,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3762,6 +3829,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3797,6 +3865,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3937,6 +4006,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4055,6 +4125,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -4117,6 +4188,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4156,6 +4228,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4199,6 +4272,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -4226,6 +4300,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -4291,6 +4366,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4394,6 +4470,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4457,6 +4534,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4490,6 +4568,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4523,6 +4602,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4544,7 +4624,7 @@ "m_StageCapability": 2, "m_BareResource": false, "m_Texture": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "m_DefaultType": 0 @@ -4565,6 +4645,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -4592,6 +4673,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -4619,12 +4701,13 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, "m_Value": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "isMainTexture": false, @@ -4648,6 +4731,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 2, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -4688,6 +4772,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4712,6 +4797,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -4759,6 +4845,7 @@ "m_GeneratePropertyBlock": false, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_KeywordType": 0, "m_KeywordDefinition": 0, "m_KeywordScope": 0, @@ -4839,7 +4926,7 @@ "m_SlotType": 1, "m_Hidden": false, "m_ShaderOutputName": "Normal", - "m_StageCapability": 2, + "m_StageCapability": 3, "m_Value": { "x": 0.0, "y": 0.0, @@ -4868,6 +4955,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -4895,6 +4983,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -4916,7 +5005,7 @@ "m_SlotType": 0, "m_Hidden": false, "m_ShaderOutputName": "Vector1_723CD44F", - "m_StageCapability": 2, + "m_StageCapability": 3, "m_Value": 0.0, "m_DefaultValue": 0.0, "m_Labels": [] @@ -5067,6 +5156,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5089,6 +5179,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -5143,6 +5234,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5178,6 +5270,7 @@ "synonyms": [], "m_Precision": 2, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5196,7 +5289,7 @@ "m_SlotType": 0, "m_Hidden": false, "m_ShaderOutputName": "Vector1_345B830B", - "m_StageCapability": 2, + "m_StageCapability": 3, "m_Value": 1.0, "m_DefaultValue": 0.0, "m_Labels": [] diff --git a/package.json b/package.json index 4fd1f1e22..8b3f5e371 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "com.atteneder.gltfast", - "version": "6.16.0", + "version": "6.16.1", "displayName": "glTFast", "description": "Use glTFast to import and export glTF 3D files efficiently at runtime or in the Editor", "unity": "2022.3", From 073d487af81cca21dc857233c3166db73eab280d Mon Sep 17 00:00:00 2001 From: Andreas Atteneder Date: Mon, 2 Mar 2026 09:37:47 +0100 Subject: [PATCH 20/27] fix: Undo monorepo specific ignores that slipped through. --- .gitignore | 21 ++------------------- 1 file changed, 2 insertions(+), 19 deletions(-) diff --git a/.gitignore b/.gitignore index 9ff17eb46..27e6f29b2 100644 --- a/.gitignore +++ b/.gitignore @@ -14,9 +14,9 @@ Assets/AssetStoreTools* # Autogenerated VS/MD/Consulo solution and project files ExportedObj/ .consulo/ -Projects/**/*.csproj +*.csproj *.unityproj -Projects/**/*.sln +*.sln *.suo *.tmp *.user @@ -39,20 +39,3 @@ sysinfo.txt # Rider **/.idea - -# Unity tooling -/upm-ci~ -/test-results~ -/pvp-results - -# glTFast test projects -/Projects/*/ProjectSettings/* -!Projects/*/ProjectSettings/ProjectVersion.txt -/Projects/*/UserSettings -/Projects/*/Assets/Resources* -/Projects/*/Assets/StreamingAssets* -/Projects/*/Packages/packages-lock.json -/Projects/*/Logs - -# CI Tols -Tools/CI/bin \ No newline at end of file From 3360ccae0a91cbc1bafb32d4aa0132fc82add141 Mon Sep 17 00:00:00 2001 From: Andreas Atteneder Date: Sat, 28 Mar 2026 01:16:12 +0100 Subject: [PATCH 21/27] com.atteneder.gltfast Release 6.17.0 --- .github/workflows/release-start.yml | 71 + .gitignore | 24 +- CHANGELOG.md | 26 +- DocExamples/PngTextureAddon.cs | 112 ++ .../PngTextureAddon.cs.meta | 2 +- DocExamples/TextureAddOnExample.cs | 90 ++ DocExamples/TextureAddOnExample.cs.meta | 11 + DocExamples/WebP.cs | 110 ++ .../WebP.cs.meta | 2 +- DocExamples/WebpTextureAddon.cs | 73 + DocExamples/WebpTextureAddon.cs.meta | 11 + .../glTFast.Documentation.Examples.asmdef | 8 +- Runtime/Scripts/CachedFunction.cs | 312 ++++ Runtime/Scripts/CachedFunction.cs.meta | 11 + Runtime/Scripts/DataUri.cs | 50 +- Runtime/Scripts/DracoMeshGenerator.cs | 22 +- Runtime/Scripts/Export/Constants.cs | 2 +- Runtime/Scripts/Export/GltfWriter.cs | 63 +- Runtime/Scripts/Export/ImageExport.cs | 21 +- Runtime/Scripts/Export/MaterialExport.cs | 9 + .../Export/MetaMaterialExportBuiltIn.cs | 11 + Runtime/Scripts/Export/NormalImageExport.cs | 9 + Runtime/Scripts/Export/OrmImageExport.cs | 11 + Runtime/Scripts/Extensions.cs | 8 + Runtime/Scripts/GltfImport.cs | 1436 ++++++----------- Runtime/Scripts/IDefaultImageFormatLoader.cs | 42 + .../Scripts/IDefaultImageFormatLoader.cs.meta | 11 + Runtime/Scripts/ITextureImageLoader.cs | 56 + Runtime/Scripts/ITextureImageLoader.cs.meta | 11 + Runtime/Scripts/ImageConversionImageLoader.cs | 185 +++ .../ImageConversionImageLoader.cs.meta | 11 + Runtime/Scripts/ImageCreateContext.cs | 21 - Runtime/Scripts/ImageFormat.cs | 13 +- Runtime/Scripts/ImageFormatDetection.cs | 79 + Runtime/Scripts/ImageFormatDetection.cs.meta | 11 + Runtime/Scripts/ImageFormatExtensions.cs | 2 +- Runtime/Scripts/ImageImport.cs | 148 ++ ...ontextBase.cs.meta => ImageImport.cs.meta} | 0 Runtime/Scripts/ImageResult.cs | 40 + Runtime/Scripts/ImageResult.cs.meta | 11 + .../ImportAddonInstanceCollection.cs | 128 ++ .../ImportAddonInstanceCollection.cs.meta | 11 + .../ImportAddons/ImportAddonRegistry.cs | 10 + Runtime/Scripts/Jobs.cs | 282 ---- Runtime/Scripts/KtxImageLoader.cs | 53 + ...Context.cs.meta => KtxImageLoader.cs.meta} | 0 Runtime/Scripts/KtxLoadContext.cs | 40 - Runtime/Scripts/KtxLoadContextBase.cs | 31 - Runtime/Scripts/Logging/LogMessages.cs | 10 +- .../Material/BuiltInMaterialGenerator.cs | 10 + Runtime/Scripts/Material/MaterialGenerator.cs | 11 + .../Material/ShaderGraphMaterialGenerator.cs | 14 + .../Material/UniveralRPMaterialGenerator.cs | 20 +- Runtime/Scripts/MeshGenerator.cs | 78 +- Runtime/Scripts/MorphTargetsGenerator.cs | 13 +- Runtime/Scripts/ReadOnlyDisposableData.cs | 53 + .../Scripts/ReadOnlyDisposableData.cs.meta | 11 + Runtime/Scripts/RenderPipelineUtils.cs | 9 + Runtime/Scripts/TextureDownload.cs | 42 - Runtime/Scripts/UriHelper.cs | 3 +- Runtime/Scripts/VertexBufferGenerator.cs | 54 +- Runtime/Scripts/VertexBufferGeneratorBase.cs | 12 +- package.json | 2 +- 63 files changed, 2526 insertions(+), 1517 deletions(-) create mode 100644 .github/workflows/release-start.yml create mode 100644 DocExamples/PngTextureAddon.cs rename Runtime/Scripts/TextureDownload.cs.meta => DocExamples/PngTextureAddon.cs.meta (83%) create mode 100644 DocExamples/TextureAddOnExample.cs create mode 100644 DocExamples/TextureAddOnExample.cs.meta create mode 100644 DocExamples/WebP.cs rename Runtime/Scripts/ImageCreateContext.cs.meta => DocExamples/WebP.cs.meta (83%) create mode 100644 DocExamples/WebpTextureAddon.cs create mode 100644 DocExamples/WebpTextureAddon.cs.meta create mode 100644 Runtime/Scripts/CachedFunction.cs create mode 100644 Runtime/Scripts/CachedFunction.cs.meta create mode 100644 Runtime/Scripts/IDefaultImageFormatLoader.cs create mode 100644 Runtime/Scripts/IDefaultImageFormatLoader.cs.meta create mode 100644 Runtime/Scripts/ITextureImageLoader.cs create mode 100644 Runtime/Scripts/ITextureImageLoader.cs.meta create mode 100644 Runtime/Scripts/ImageConversionImageLoader.cs create mode 100644 Runtime/Scripts/ImageConversionImageLoader.cs.meta delete mode 100644 Runtime/Scripts/ImageCreateContext.cs create mode 100644 Runtime/Scripts/ImageFormatDetection.cs create mode 100644 Runtime/Scripts/ImageFormatDetection.cs.meta create mode 100644 Runtime/Scripts/ImageImport.cs rename Runtime/Scripts/{KtxLoadContextBase.cs.meta => ImageImport.cs.meta} (100%) create mode 100644 Runtime/Scripts/ImageResult.cs create mode 100644 Runtime/Scripts/ImageResult.cs.meta create mode 100644 Runtime/Scripts/ImportAddons/ImportAddonInstanceCollection.cs create mode 100644 Runtime/Scripts/ImportAddons/ImportAddonInstanceCollection.cs.meta create mode 100644 Runtime/Scripts/KtxImageLoader.cs rename Runtime/Scripts/{KtxLoadContext.cs.meta => KtxImageLoader.cs.meta} (100%) delete mode 100644 Runtime/Scripts/KtxLoadContext.cs delete mode 100644 Runtime/Scripts/KtxLoadContextBase.cs create mode 100644 Runtime/Scripts/ReadOnlyDisposableData.cs create mode 100644 Runtime/Scripts/ReadOnlyDisposableData.cs.meta delete mode 100644 Runtime/Scripts/TextureDownload.cs diff --git a/.github/workflows/release-start.yml b/.github/workflows/release-start.yml new file mode 100644 index 000000000..92e9b3b34 --- /dev/null +++ b/.github/workflows/release-start.yml @@ -0,0 +1,71 @@ +name: Start Release +on: + workflow_dispatch: + inputs: + release-number: + description: 'Semantic version with format major.minor.patch (for example 4.2.0)' + type: string + required: true + start-point: + description: 'Starting point of the release. Can be a SHA, a branch or a tag. Default is origin/develop' + type: string + default: 'develop' + +jobs: + release: + runs-on: [unity-linux-runner] + permissions: + contents: write + pull-requests: write + steps: + - name: Display inputs + run: | + echo ${{ inputs.release-number }} + echo ${{ inputs.start-point }} + + - name: Setup .NET + uses: actions/setup-dotnet@v4 + with: + dotnet-version: '10.0.x' + + - name: Checkout + uses: actions/checkout@v6 + id: checkout + with: + fetch-depth: 0 + fetch-tags: true + ref: '${{ inputs.start-point }}' + + - name: Release branch creation + env: + RELEASE_SEMVER: ${{ inputs.release-number }} + run: | + release_branch="release/$RELEASE_SEMVER" + git branch "$release_branch" + git push -u origin "$release_branch" + + - name: Working branch creation + env: + RELEASE_SEMVER: ${{ inputs.release-number }} + run: | + working_branch="release/${RELEASE_SEMVER}-working" + git branch "$working_branch" + dotnet run --file Tools/scripts/changelog.cs -- release $RELEASE_SEMVER -i "$(pwd)/Packages/com.unity.cloud.gltfast/CHANGELOG.md" + Tools/scripts/release-start.sh $RELEASE_SEMVER + dotnet run --file Tools/scripts/changelog.cs -- info -i "$(pwd)/Packages/com.unity.cloud.gltfast/CHANGELOG.md" > .tmp-git-pull-request-body.md + + - name: Create Pr + id: cpr + uses: peter-evans/create-pull-request@v8 + with: + title: "[Automated] Release ${{inputs.release-number}}" + branch: "release/${{ inputs.release-number }}-working" + base: "release/${{inputs.release-number}}" + commit-message: "Release ${{inputs.release-number}}" + body-path: .tmp-git-pull-request-body.md + reviewers: | + andreas-atteneder + labels: | + automated pr + release + delete-branch: true diff --git a/.gitignore b/.gitignore index 27e6f29b2..ec156547f 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,9 @@ Assets/AssetStoreTools* .DS_Store +# GitHub Action artifacts +.tmp-* + # Visual Studio cache directory /.vs/ /.vscode/ @@ -14,9 +17,9 @@ Assets/AssetStoreTools* # Autogenerated VS/MD/Consulo solution and project files ExportedObj/ .consulo/ -*.csproj +Projects/**/*.csproj *.unityproj -*.sln +Projects/**/*.sln *.suo *.tmp *.user @@ -39,3 +42,20 @@ sysinfo.txt # Rider **/.idea + +# Unity tooling +/upm-ci~ +/test-results~ +/pvp-results + +# glTFast test projects +/Projects/*/ProjectSettings/* +!Projects/*/ProjectSettings/ProjectVersion.txt +/Projects/*/UserSettings +/Projects/*/Assets/Resources* +/Projects/*/Assets/StreamingAssets* +/Projects/*/Packages/packages-lock.json +/Projects/*/Logs + +# CI Tols +Tools/CI/bin \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index dc41af318..4c1b6c685 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,30 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [6.17.0] - 2026-03-17 + +### Added +- Texture loading is fully customizable via Add-Ons. + - Inject support for glTF texture extensions (see [ITextureImageLoader](xref:GLTFast.ITextureImageLoader)). + - Customize PNG and Jpeg loading (see [IDefaultImageFormatLoader](xref:GLTFast.IDefaultImageFormatLoader)). + - See *ImageAddonTest* scene in the tests package which use the *AddOnsImage* samples from the `DocExamples` directory. +- Explicit error message when unsupported image format WebP is detected ([LogCode.ImageFormatUnsupported](xref:GLTFast.Logging.LogCode.ImageFormatUnsupported)). +- [ImageResult](xref:GLTFast.ImageResult) which depicts an imported glTF image. +- (Test) TextureVariants test glTFs with WebP image format. +- [Extension.TextureWebP](xref:GLTFast.Extension.TextureWebP) (no general WebP support, just for handling WebP cases). + +### Changed +- (Add-Ons) GltfImport now accepts multiple import add-on instances of the same type. + - [GetImportAddonInstance](xref:GLTFast.GltfImportBase.GetImportAddonInstance*) returns the first instance that matches the type. +- Ensured compatibility with [Fast Enter Play Mode](https://unity.com/blog/engine-platform/enter-play-mode-faster-in-unity-2019-3). +- Image type detection is based on content (instead of mime-type depicted in glTF JSON, data URI mediatype or file extension). +- Improved error message when image format is detected, but not supported (e.g. WebP). + +### Fixed +- (Import) [AnisotropicFilterLevel setting](xref:GLTFast.ImportSettings.AnisotropicFilterLevel) is applied to KTX textures as well. +- (Import) Leak of textures in case of loading errors. +- (Export) Meshes with zero vertices or indices will now be skipped and an error will be logged instead of an exception being thrown (fixes [#806](https://github.com/atteneder/glTFast/issues/806)). + ## [6.16.1] - 2026-02-19 ### Added @@ -335,7 +359,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - Moved code examples that are referenced by the documentation into a different folder (`DocExamples`). - Renamed code example assembly/namespace to `GLTFast.Documentation.Examples` for consistency. -- Support for KTX (Khronos Texture) is now provided by [*KTX for Unity* (com.unity.cloud.ktx)][KtxForUnity], which is a fork of and replaces [*KtxUnity* (com.atteneder.ktx)][KtxUnity]. ### Fixed - (Test) LoadTests on Android now succeed by using `UnityWebRequest` to retrieve data from the compressed JAR file. @@ -357,7 +380,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Removed - Outdated and unused code coverage badge. -- Tests (applies to OpenUPM branch only!) ## [6.8.0] - 2024-09-05 diff --git a/DocExamples/PngTextureAddon.cs b/DocExamples/PngTextureAddon.cs new file mode 100644 index 000000000..2f1a24271 --- /dev/null +++ b/DocExamples/PngTextureAddon.cs @@ -0,0 +1,112 @@ +// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +#if !UNITY_6000_0_OR_NEWER +using System.Runtime.InteropServices; +#endif // !UNITY_6000_0_OR_NEWER +using System.Threading; +using System.Threading.Tasks; +using GLTFast.Addons; +using UnityEngine; +using UnityEngine.Experimental.Rendering; +using UnityEngine.Profiling; +using Unity.Collections; +#if !UNITY_6000_0_OR_NEWER +using Unity.Collections.LowLevel.Unsafe; +#endif // !UNITY_6000_0_OR_NEWER + +namespace GLTFast.Documentation.Examples +{ + class PngTextureAddon : ImportAddon { } + + class PngTextureAddonInstance : ImageLoaderAddonInstance, IDefaultImageFormatLoader + { + public override void Inject(GltfImportBase gltfImport) + { + gltfImport.AddImportAddonInstance(this); + } + + public bool IsAbleToLoad(ImageFormat format) + { +#if UNITY_IMAGECONVERSION + return format == ImageFormat.Png; +#else + return false; +#endif + } + + public bool IsAbleToLoad(ReadOnlySpan data) + { + return ImageFormatDetection.IsPng(data); + } + + public Task LoadImage( + NativeArray.ReadOnly data, + bool linear, + bool readable, + bool generateMipMaps, + CancellationToken cancellationToken + ) + { +#if UNITY_IMAGECONVERSION +#if !UNITY_6000_0_OR_NEWER + var managedData = NativeToManagedArray(data); +#endif + + Profiler.BeginSample("LoadPNG"); + var texture = CreateEmptyTexture(linear, generateMipMaps); + var success = texture.LoadImage( +#if UNITY_6000_0_OR_NEWER + data.AsReadOnlySpan(), +#else + managedData, +#endif + !readable + ); + Profiler.EndSample(); + if (success) + { + return Task.FromResult(new ImageResult(texture)); + } +#endif // UNITY_IMAGECONVERSION + return Task.FromResult(ImageResult.Null); + } + + static Texture2D CreateEmptyTexture( + bool forceSampleLinear, + bool generateMipMaps + ) + { + var textureCreationFlags = TextureCreationFlags.DontUploadUponCreate | TextureCreationFlags.DontInitializePixels; + if (generateMipMaps) + { + textureCreationFlags |= TextureCreationFlags.MipChain; + } + var txt = new Texture2D( + 4, 4, + forceSampleLinear + ? GraphicsFormat.R8G8B8A8_UNorm + : GraphicsFormat.R8G8B8A8_SRGB, + textureCreationFlags + ); + return txt; + } + +#if !UNITY_6000_0_OR_NEWER + static unsafe byte[] NativeToManagedArray(NativeArray.ReadOnly data) + { + Profiler.BeginSample("NativeToManagedArray"); + var managedData = new byte[data.Length]; + var gcHandle = GCHandle.Alloc(managedData, GCHandleType.Pinned); + fixed (void* dst = &(managedData[0])) + { + UnsafeUtility.MemCpy(dst, data.GetUnsafeReadOnlyPtr(), data.Length); + } + gcHandle.Free(); + Profiler.EndSample(); + return managedData; + } +#endif // !UNITY_6000_0_OR_NEWER + } +} diff --git a/Runtime/Scripts/TextureDownload.cs.meta b/DocExamples/PngTextureAddon.cs.meta similarity index 83% rename from Runtime/Scripts/TextureDownload.cs.meta rename to DocExamples/PngTextureAddon.cs.meta index 83fb5c74a..facfd71f5 100644 --- a/Runtime/Scripts/TextureDownload.cs.meta +++ b/DocExamples/PngTextureAddon.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: f7cac375ed2f2488b91550ca772d809e +guid: e77fb6b01275544b8a3e420cbb55bae5 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/DocExamples/TextureAddOnExample.cs b/DocExamples/TextureAddOnExample.cs new file mode 100644 index 000000000..a441f0432 --- /dev/null +++ b/DocExamples/TextureAddOnExample.cs @@ -0,0 +1,90 @@ +// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +using System.Threading.Tasks; +using GLTFast.Addons; +using GLTFast.Logging; +using UnityEditor; +using UnityEngine; + +namespace GLTFast.Documentation.Examples +{ + class TextureAddOnExample : MonoBehaviour + { + // Path to the gltf asset to be imported + public string uri; + public bool isLogicalPath; + + [Header("Add-Ons")] + public bool webP = true; + public bool png = true; + + async void Start() + { + await LoadGltf(); + } + + public async Task LoadGltf() + { + try + { + // // Global registration of the addons, they will be used for all imports + // ImportAddonRegistry.RegisterImportAddon(new WebpTextureAddon()); + // ImportAddonRegistry.RegisterImportAddon(new PngTextureAddon()); + +#if NEWTONSOFT_JSON + var gltfImport = new Newtonsoft.GltfImport(logger: new ConsoleLogger()); +#else + var gltfImport = new GltfImport(logger: new ConsoleLogger()); +#endif + + // Local registration of the addons, they will be used only for this import + if (webP) + { + gltfImport.AddImportAddonInstance(new WebpTextureAddonInstance()); + } + + if (png) + { + gltfImport.AddImportAddonInstance(new PngTextureAddonInstance()); + } + + var settings = new ImportSettings { GenerateMipMaps = true }; + string path; + if (isLogicalPath) + { +#if !UNITY_EDITOR + Debug.LogError("Loading glTFs from logical paths is only supported in the editor."); + return; +#else + path = FileUtil.GetPhysicalPath(uri); +#endif + } + else + { + path = uri; + } + await gltfImport.Load(path, settings); + await gltfImport.InstantiateMainSceneAsync(transform); + } + catch (Exception e) + { + Debug.LogException(e); + } + } + + } + + abstract class ImageLoaderAddonInstance : ImportAddonInstance + { + public override void Dispose() { } + + public override bool SupportsGltfExtension(string extensionName) + { + return false; + } + + public override void Inject(IInstantiator instantiator) { } + } +} diff --git a/DocExamples/TextureAddOnExample.cs.meta b/DocExamples/TextureAddOnExample.cs.meta new file mode 100644 index 000000000..0213e49b1 --- /dev/null +++ b/DocExamples/TextureAddOnExample.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8b73b2898ba344e2895e5e7a2830ee31 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {fileID: 2800000, guid: 3b6a1cb26d29941f2a3cc902680e2e03, type: 3} + userData: + assetBundleName: + assetBundleVariant: diff --git a/DocExamples/WebP.cs b/DocExamples/WebP.cs new file mode 100644 index 000000000..0e782bc2f --- /dev/null +++ b/DocExamples/WebP.cs @@ -0,0 +1,110 @@ +// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +using System.Runtime.InteropServices; +using System.Threading; +using System.Threading.Tasks; +using Unity.Collections; +using Unity.Collections.LowLevel.Unsafe; +using Unity.Jobs; +using UnityEngine; +using UnityEngine.Profiling; + +namespace GLTFast.Documentation.Examples +{ + static class WebP + { + public static async Task Decode( + NativeArray.ReadOnly data, + bool linear, + bool readable, + CancellationToken cancellationToken + ) + { + if (!TryGetInfo(data, out var width, out var height)) + { + return null; + } + Profiler.BeginSample("WebPCreateTexture2D"); + var texture = new Texture2D(width, height, TextureFormat.RGBA32, false, linear); + var textureData = texture.GetRawTextureData(); + using var result = new NativeArray(1, Allocator.Persistent); + var job = new WebPDecodeJob + { + data = data, + textureData = textureData, + width = width, + result = result + }.Schedule(); + Profiler.EndSample(); + + while (!job.IsCompleted) + { + await Task.Yield(); + } + job.Complete(); + + if (result[0] == IntPtr.Zero) + { + UnityEngine.Object.Destroy(texture); + return null; + } + Profiler.BeginSample("WebPApply"); + texture.Apply(false, !readable); + Profiler.EndSample(); + return texture; + } + + static unsafe bool TryGetInfo(NativeArray.ReadOnly data, out int width, out int height) + { + width = 0; + height = 0; + try + { + var returnValue = WebPGetInfo((byte*)data.GetUnsafeReadOnlyPtr(), (uint)data.Length, ref width, ref height); + return returnValue != 0; + } + catch (DllNotFoundException) + { + Debug.LogError("For this example to work, you need to compile libwebp as a native plugin and name it 'webp-unity'."); + } + + return false; + } + + unsafe struct WebPDecodeJob : IJob + { + [WriteOnly] + public NativeArray result; + + [ReadOnly] + public NativeArray.ReadOnly data; + + [WriteOnly] + public NativeArray textureData; + + public int width; + + public void Execute() + { + var decodeResult = WebPDecodeRGBAInto( + (byte*)data.GetUnsafeReadOnlyPtr(), (uint)data.Length, + (byte*)textureData.GetUnsafePtr(), (uint)textureData.Length, + sizeof(Color32) * width + ); + + result[0] = decodeResult; + } + } + + [DllImport("webp-unity")] + public static extern unsafe int WebPGetInfo(byte* data, uint size, ref int width, ref int height); + + [DllImport("webp-unity")] + public static extern unsafe IntPtr WebPDecodeRGBAInto( + byte* data, uint size, + byte* outputBuffer, uint outputBufferSize, + int outputStride); + } +} diff --git a/Runtime/Scripts/ImageCreateContext.cs.meta b/DocExamples/WebP.cs.meta similarity index 83% rename from Runtime/Scripts/ImageCreateContext.cs.meta rename to DocExamples/WebP.cs.meta index c09145c21..cac9f6bf5 100644 --- a/Runtime/Scripts/ImageCreateContext.cs.meta +++ b/DocExamples/WebP.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 5e3e619ee76754b6c82aeccfd9945e83 +guid: 57b70c10212fe4854b0d656de33430f0 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/DocExamples/WebpTextureAddon.cs b/DocExamples/WebpTextureAddon.cs new file mode 100644 index 000000000..1947ac21c --- /dev/null +++ b/DocExamples/WebpTextureAddon.cs @@ -0,0 +1,73 @@ +// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +using System.Threading; +using System.Threading.Tasks; +using GLTFast.Addons; +using GLTFast.Schema; +using Unity.Collections; +using UnityEngine; + +namespace GLTFast.Documentation.Examples +{ + class WebpTextureAddon : ImportAddon { } + + class WebpTextureAddonInstance : ImageLoaderAddonInstance, ITextureImageLoader + { + public override void Inject(GltfImportBase gltfImport) + { +#if NEWTONSOFT_JSON + if (gltfImport is not Newtonsoft.GltfImport) + return; + + gltfImport.AddImportAddonInstance(this); +#else + Debug.LogError("WebpTextureAddon requires the Newtonsoft.Json package to be installed."); +#endif + } + + public override bool SupportsGltfExtension(string extensionName) + { + return extensionName == "EXT_texture_webp"; + } + + public bool IsAbleToLoad(TextureBase texture, out int imageIndex) + { +#if NEWTONSOFT_JSON + if (texture is GLTFast.Newtonsoft.Schema.Texture { extensions: not null } t + && t.extensions.TryGetValue( + "EXT_texture_webp", out var ext)) + { + imageIndex = ext.source; + return true; + } +#endif + imageIndex = -1; + return false; + } + + public bool IsAbleToLoad(ReadOnlySpan data) + { + return ImageFormatDetection.IsWebP(data); + } + + public async Task LoadImage( + NativeArray.ReadOnly data, + bool linear, + bool readable, + bool generateMipMaps, + CancellationToken cancellationToken + ) + { + var texture = await WebP.Decode(data, linear, readable, cancellationToken); + return new ImageResult(texture, true); + } + } + + [Serializable] + struct TextureWebpExtension + { + public int source; + } +} diff --git a/DocExamples/WebpTextureAddon.cs.meta b/DocExamples/WebpTextureAddon.cs.meta new file mode 100644 index 000000000..5fd62d006 --- /dev/null +++ b/DocExamples/WebpTextureAddon.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 11436a5eff90a40d0ade007fef446742 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/DocExamples/glTFast.Documentation.Examples.asmdef b/DocExamples/glTFast.Documentation.Examples.asmdef index fb50cc469..bede019db 100644 --- a/DocExamples/glTFast.Documentation.Examples.asmdef +++ b/DocExamples/glTFast.Documentation.Examples.asmdef @@ -2,6 +2,7 @@ "name": "glTFast.Documentation.Examples", "rootNamespace": "GLTFast.Documentation.Examples", "references": [ + "Unity.Burst", "Unity.Mathematics", "glTFast", "glTFast.Export", @@ -9,7 +10,7 @@ ], "includePlatforms": [], "excludePlatforms": [], - "allowUnsafeCode": false, + "allowUnsafeCode": true, "overrideReferences": false, "precompiledReferences": [], "autoReferenced": false, @@ -20,6 +21,11 @@ "expression": "", "define": "UNITY_ANIMATION" }, + { + "name": "com.unity.modules.imageconversion", + "expression": "", + "define": "UNITY_IMAGECONVERSION" + }, { "name": "com.unity.nuget.newtonsoft-json", "expression": "3", diff --git a/Runtime/Scripts/CachedFunction.cs b/Runtime/Scripts/CachedFunction.cs new file mode 100644 index 000000000..ee49ea7c3 --- /dev/null +++ b/Runtime/Scripts/CachedFunction.cs @@ -0,0 +1,312 @@ +// SPDX-FileCopyrightText: 2026 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +using AOT; +using GLTFast.Schema; +using Unity.Burst; +using Unity.Mathematics; +using UnityEngine; + +namespace GLTFast.Jobs +{ + [BurstCompile] + static unsafe class CachedFunction + { + public delegate int GetIndexDelegate(void* baseAddress, int index); + public delegate void GetFloat3Delegate(float3* destination, void* src); + + // Cached function pointers + static FunctionPointer s_GetIndexValueInt8Method; + static FunctionPointer s_GetIndexValueUInt8Method; + static FunctionPointer s_GetIndexValueInt16Method; + static FunctionPointer s_GetIndexValueUInt16Method; + static FunctionPointer s_GetIndexValueUInt32Method; + + static FunctionPointer s_GetFloat3FloatMethod; + static FunctionPointer s_GetFloat3Int8Method; + static FunctionPointer s_GetFloat3UInt8Method; + static FunctionPointer s_GetFloat3Int16Method; + static FunctionPointer s_GetFloat3UInt16Method; + static FunctionPointer s_GetFloat3UInt32Method; + static FunctionPointer s_GetFloat3Int8NormalizedMethod; + static FunctionPointer s_GetFloat3UInt8NormalizedMethod; + static FunctionPointer s_GetFloat3Int16NormalizedMethod; + static FunctionPointer s_GetFloat3UInt16NormalizedMethod; + static FunctionPointer s_GetFloat3UInt32NormalizedMethod; + + /// + /// Returns Burst compatible function that retrieves an index value + /// + /// Data type of index + /// Burst Function Pointer to correct conversion function + /// + public static FunctionPointer GetIndexConverter(GltfComponentType format) + { + switch (format) + { + case GltfComponentType.UnsignedByte: + if (!s_GetIndexValueUInt8Method.IsCreated) + { + s_GetIndexValueUInt8Method = BurstCompiler.CompileFunctionPointer(GetIndexValueUInt8); + } + return s_GetIndexValueUInt8Method; + case GltfComponentType.Byte: + if (!s_GetIndexValueInt8Method.IsCreated) + { + s_GetIndexValueInt8Method = BurstCompiler.CompileFunctionPointer(GetIndexValueInt8); + } + return s_GetIndexValueInt8Method; + case GltfComponentType.UnsignedShort: + if (!s_GetIndexValueUInt16Method.IsCreated) + { + s_GetIndexValueUInt16Method = BurstCompiler.CompileFunctionPointer(GetIndexValueUInt16); + } + return s_GetIndexValueUInt16Method; + case GltfComponentType.Short: + if (!s_GetIndexValueInt16Method.IsCreated) + { + s_GetIndexValueInt16Method = BurstCompiler.CompileFunctionPointer(GetIndexValueInt16); + } + return s_GetIndexValueInt16Method; + case GltfComponentType.UnsignedInt: + if (!s_GetIndexValueUInt32Method.IsCreated) + { + s_GetIndexValueUInt32Method = BurstCompiler.CompileFunctionPointer(GetIndexValueUInt32); + } + return s_GetIndexValueUInt32Method; + default: + throw new ArgumentOutOfRangeException(nameof(format), format, null); + } + } + + public static FunctionPointer GetPositionConverter( + GltfComponentType format, + bool normalized + ) + { + if (normalized) + { + switch (format) + { + case GltfComponentType.Float: + // Floats cannot be normalized. + // Fall back to non-normalized below + break; + case GltfComponentType.Byte: + if (!s_GetFloat3Int8NormalizedMethod.IsCreated) + { + s_GetFloat3Int8NormalizedMethod = BurstCompiler.CompileFunctionPointer(GetFloat3Int8Normalized); + } + return s_GetFloat3Int8NormalizedMethod; + case GltfComponentType.UnsignedByte: + if (!s_GetFloat3UInt8NormalizedMethod.IsCreated) + { + s_GetFloat3UInt8NormalizedMethod = BurstCompiler.CompileFunctionPointer(GetFloat3UInt8Normalized); + } + return s_GetFloat3UInt8NormalizedMethod; + case GltfComponentType.Short: + if (!s_GetFloat3Int16NormalizedMethod.IsCreated) + { + s_GetFloat3Int16NormalizedMethod = BurstCompiler.CompileFunctionPointer(GetFloat3Int16Normalized); + } + return s_GetFloat3Int16NormalizedMethod; + case GltfComponentType.UnsignedShort: + if (!s_GetFloat3UInt16NormalizedMethod.IsCreated) + { + s_GetFloat3UInt16NormalizedMethod = BurstCompiler.CompileFunctionPointer(GetFloat3UInt16Normalized); + } + return s_GetFloat3UInt16NormalizedMethod; + case GltfComponentType.UnsignedInt: + if (!s_GetFloat3UInt32NormalizedMethod.IsCreated) + { + s_GetFloat3UInt32NormalizedMethod = BurstCompiler.CompileFunctionPointer(GetFloat3UInt32Normalized); + } + return s_GetFloat3UInt32NormalizedMethod; + } + } + switch (format) + { + case GltfComponentType.Float: + if (!s_GetFloat3FloatMethod.IsCreated) + { + s_GetFloat3FloatMethod = BurstCompiler.CompileFunctionPointer(GetFloat3Float); + } + return s_GetFloat3FloatMethod; + case GltfComponentType.Byte: + if (!s_GetFloat3Int8Method.IsCreated) + { + s_GetFloat3Int8Method = BurstCompiler.CompileFunctionPointer(GetFloat3Int8); + } + return s_GetFloat3Int8Method; + case GltfComponentType.UnsignedByte: + if (!s_GetFloat3UInt8Method.IsCreated) + { + s_GetFloat3UInt8Method = BurstCompiler.CompileFunctionPointer(GetFloat3UInt8); + } + return s_GetFloat3UInt8Method; + case GltfComponentType.Short: + if (!s_GetFloat3Int16Method.IsCreated) + { + s_GetFloat3Int16Method = BurstCompiler.CompileFunctionPointer(GetFloat3Int16); + } + return s_GetFloat3Int16Method; + case GltfComponentType.UnsignedShort: + if (!s_GetFloat3UInt16Method.IsCreated) + { + s_GetFloat3UInt16Method = BurstCompiler.CompileFunctionPointer(GetFloat3UInt16); + } + return s_GetFloat3UInt16Method; + case GltfComponentType.UnsignedInt: + if (!s_GetFloat3UInt32Method.IsCreated) + { + s_GetFloat3UInt32Method = BurstCompiler.CompileFunctionPointer(GetFloat3UInt32); + } + return s_GetFloat3UInt32Method; + } + throw new ArgumentOutOfRangeException(nameof(format), format, null); + } + + [BurstCompile, MonoPInvokeCallback(typeof(GetIndexDelegate))] + static int GetIndexValueUInt8(void* baseAddress, int index) + { + return *((byte*)baseAddress + index); + } + + [BurstCompile, MonoPInvokeCallback(typeof(GetIndexDelegate))] + static int GetIndexValueInt8(void* baseAddress, int index) + { + return *(((sbyte*)baseAddress) + index); + } + + [BurstCompile, MonoPInvokeCallback(typeof(GetIndexDelegate))] + static int GetIndexValueUInt16(void* baseAddress, int index) + { + return *(((ushort*)baseAddress) + index); + } + + [BurstCompile, MonoPInvokeCallback(typeof(GetIndexDelegate))] + static int GetIndexValueInt16(void* baseAddress, int index) + { + return *(((short*)baseAddress) + index); + } + + [BurstCompile, MonoPInvokeCallback(typeof(GetIndexDelegate))] + static int GetIndexValueUInt32(void* baseAddress, int index) + { + return (int)*(((uint*)baseAddress) + index); + } + + [BurstCompile, MonoPInvokeCallback(typeof(GetFloat3Delegate))] + static void GetFloat3Float(float3* destination, void* src) + { + destination->x = -*(float*)src; + destination->y = *((float*)src + 1); + destination->z = *((float*)src + 2); + } + + [BurstCompile, MonoPInvokeCallback(typeof(GetFloat3Delegate))] + static void GetFloat3Int8(float3* destination, void* src) + { + destination->x = -*(sbyte*)src; + destination->y = *((sbyte*)src + 1); + destination->z = *((sbyte*)src + 2); + } + + [BurstCompile, MonoPInvokeCallback(typeof(GetFloat3Delegate))] + static void GetFloat3UInt8(float3* destination, void* src) + { + destination->x = -*(byte*)src; + destination->y = *((byte*)src + 1); + destination->z = *((byte*)src + 2); + } + + [BurstCompile, MonoPInvokeCallback(typeof(GetFloat3Delegate))] + static void GetFloat3Int16(float3* destination, void* src) + { + destination->x = -*(short*)src; + destination->y = *((short*)src + 1); + destination->z = *((short*)src + 2); + } + + [BurstCompile, MonoPInvokeCallback(typeof(GetFloat3Delegate))] + static void GetFloat3UInt16(float3* destination, void* src) + { + destination->x = -*(ushort*)src; + destination->y = *((ushort*)src + 1); + destination->z = *((ushort*)src + 2); + } + + [BurstCompile, MonoPInvokeCallback(typeof(GetFloat3Delegate))] + static void GetFloat3UInt32(float3* destination, void* src) + { + destination->x = -*(uint*)src; + destination->y = *((uint*)src + 1); + destination->z = *((uint*)src + 2); + } + + [BurstCompile, MonoPInvokeCallback(typeof(GetFloat3Delegate))] + static void GetFloat3Int8Normalized(float3* destination, void* src) + { + destination->x = -math.max(*(sbyte*)src / 127f, -1); + destination->y = math.max(*((sbyte*)src + 1) / 127f, -1); + destination->z = math.max(*((sbyte*)src + 2) / 127f, -1); + } + + [BurstCompile, MonoPInvokeCallback(typeof(GetFloat3Delegate))] + static void GetFloat3UInt8Normalized(float3* destination, void* src) + { + destination->x = -*(byte*)src / 255f; + destination->y = *((byte*)src + 1) / 255f; + destination->z = *((byte*)src + 2) / 255f; + } + + [BurstCompile, MonoPInvokeCallback(typeof(GetFloat3Delegate))] + static void GetFloat3Int16Normalized(float3* destination, void* src) + { + destination->x = -math.max(*(short*)src / (float)short.MaxValue, -1f); + destination->y = math.max(*((short*)src + 1) / (float)short.MaxValue, -1f); + destination->z = math.max(*((short*)src + 2) / (float)short.MaxValue, -1f); + } + + [BurstCompile, MonoPInvokeCallback(typeof(GetFloat3Delegate))] + static void GetFloat3UInt16Normalized(float3* destination, void* src) + { + destination->x = -*(ushort*)src / (float)ushort.MaxValue; + destination->y = *((ushort*)src + 1) / (float)ushort.MaxValue; + destination->z = *((ushort*)src + 2) / (float)ushort.MaxValue; + } + + [BurstCompile, MonoPInvokeCallback(typeof(GetFloat3Delegate))] + static void GetFloat3UInt32Normalized(float3* destination, void* src) + { + destination->x = -*(uint*)src / (float)uint.MaxValue; + destination->y = *((uint*)src + 1) / (float)uint.MaxValue; + destination->z = *((uint*)src + 2) / (float)uint.MaxValue; + } + +#if UNITY_EDITOR + [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)] + static void ResetStaticsOnLoad() + { + // Reset cached function pointers + s_GetIndexValueInt8Method = default; + s_GetIndexValueUInt8Method = default; + s_GetIndexValueInt16Method = default; + s_GetIndexValueUInt16Method = default; + s_GetIndexValueUInt32Method = default; + s_GetFloat3FloatMethod = default; + s_GetFloat3Int8Method = default; + s_GetFloat3UInt8Method = default; + s_GetFloat3Int16Method = default; + s_GetFloat3UInt16Method = default; + s_GetFloat3UInt32Method = default; + s_GetFloat3Int8NormalizedMethod = default; + s_GetFloat3UInt8NormalizedMethod = default; + s_GetFloat3Int16NormalizedMethod = default; + s_GetFloat3UInt16NormalizedMethod = default; + s_GetFloat3UInt32NormalizedMethod = default; + } +#endif + } +} diff --git a/Runtime/Scripts/CachedFunction.cs.meta b/Runtime/Scripts/CachedFunction.cs.meta new file mode 100644 index 000000000..af4a99f86 --- /dev/null +++ b/Runtime/Scripts/CachedFunction.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 3ba5ea4f4ec04f06bae782fbf1ebea69 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/DataUri.cs b/Runtime/Scripts/DataUri.cs index 5ca7d570d..9d84d2c25 100644 --- a/Runtime/Scripts/DataUri.cs +++ b/Runtime/Scripts/DataUri.cs @@ -14,7 +14,7 @@ namespace GLTFast { - class DataUri + static class DataUri { /// /// Base 64 string to byte array decode speed in bytes per second @@ -28,6 +28,33 @@ class DataUri 150_000_000; #endif + public static bool IsDataUri(ReadOnlySpan dataUri) + { + return dataUri.StartsWith("data:", StringComparison.Ordinal); + } + + public static async ValueTask DecodeDataUriAsync( + string dataUri, + IDeferAgent deferAgent, + CancellationToken cancellationToken + ) + { + if (!TryGetDataUriDescriptor( + dataUri, out _, out var startIndex, out var byteLength)) + { + return null; + } + + var data = await DecodeDataUriAsync( + dataUri, startIndex, byteLength, deferAgent, cancellationToken); + if (!data.IsCreated) + { + return null; + } + + return new ReadOnlyDisposableData(data); + } + public static async ValueTask> DecodeDataUriAsync( string dataUri, int startIndex, @@ -99,30 +126,16 @@ public static async ValueTask DecodeDataUriToManagedArrayAsync( } #endif // !UNITY_6000_0_OR_NEWER - public static bool TryGetImageDataUriDescriptor( + public static bool TryGetDataUriDescriptor( string dataUri, - out ImageFormat imageFormat, + out ReadOnlySpan mimeType, out int startIndex, out int byteLength - ) - { - if (TryGetDataUriDescriptor( - dataUri, out var mimeType, out startIndex, out byteLength)) - { - imageFormat = ImageFormatExtensions.FromMimeType(mimeType); - return true; - } - - imageFormat = ImageFormat.Unknown; - return false; - } - - public static bool TryGetDataUriDescriptor(string dataUri, out ReadOnlySpan mimeType, out int startIndex, out int byteLength) + ) { var mediaTypeEnd = dataUri.IndexOf(';', 5, Math.Min(dataUri.Length - 5, 1000)); if (mediaTypeEnd < 0) { - Profiler.EndSample(); mimeType = null; startIndex = 0; byteLength = -1; @@ -131,7 +144,6 @@ public static bool TryGetDataUriDescriptor(string dataUri, out ReadOnlySpan primitives, string[] morphTargetNames, string meshName, - GltfImportBase gltfImport + IGltfReadable gltf, + IGltfBuffers buffers, + IDeferAgent deferAgent, + ICodeLogger logger ) : base(meshName) { @@ -52,7 +55,7 @@ GltfImportBase gltfImport var primitive = primitives[index]; Assert.IsTrue(primitive.IsDracoCompressed); - var posAccessor = ((IGltfBuffers)gltfImport).GetAccessor(primitive.attributes.POSITION); + var posAccessor = buffers.GetAccessor(primitive.attributes.POSITION); if (m_HasMorphTargets) { @@ -70,7 +73,7 @@ GltfImportBase gltfImport } else { - gltfImport.Logger?.Error(LogCode.MeshBoundsMissing, primitive.attributes.POSITION.ToString()); + logger?.Error(LogCode.MeshBoundsMissing, primitive.attributes.POSITION.ToString()); bounds = null; } } @@ -81,7 +84,7 @@ GltfImportBase gltfImport } else { - var material = gltfImport.GetSourceMaterial(primitive.material); + var material = gltf.GetSourceMaterial(primitive.material); m_NeedsNormals |= material.RequiresNormals; m_NeedsTangents |= material.RequiresTangents; } @@ -96,11 +99,12 @@ GltfImportBase gltfImport vertexIntervals, vertexCount, morphTargets, - gltfImport + buffers, + deferAgent ); } - m_CreationTask = Decode(primitives, gltfImport, bounds); + m_CreationTask = Decode(primitives, buffers, bounds); } void InitializeMorphTargets( @@ -109,7 +113,8 @@ void InitializeMorphTargets( int[] vertexIntervals, int vertexCount, MorphTarget[] morphTargets, - GltfImportBase gltfImport + IGltfBuffers buffers, + IDeferAgent deferAgent ) { m_MorphTargetsGenerator = new MorphTargetsGenerator( @@ -119,7 +124,8 @@ GltfImportBase gltfImport morphTargetNames, morphTargets[0].NORMAL >= 0, morphTargets[0].TANGENT >= 0, - gltfImport + buffers, + deferAgent ); for (var subMesh = 0; subMesh < primitives.Count; subMesh++) { diff --git a/Runtime/Scripts/Export/Constants.cs b/Runtime/Scripts/Export/Constants.cs index 3d0706424..4b706534f 100644 --- a/Runtime/Scripts/Export/Constants.cs +++ b/Runtime/Scripts/Export/Constants.cs @@ -7,7 +7,7 @@ namespace GLTFast.Export { static class Constants { - public const string version = "6.16.1"; + public const string version = "6.17.0"; internal const string mimeTypePNG = "image/png"; internal const string mimeTypeJPG = "image/jpeg"; diff --git a/Runtime/Scripts/Export/GltfWriter.cs b/Runtime/Scripts/Export/GltfWriter.cs index b8b1a6db0..50403affc 100755 --- a/Runtime/Scripts/Export/GltfWriter.cs +++ b/Runtime/Scripts/Export/GltfWriter.cs @@ -179,6 +179,10 @@ uint[] joints { if ((m_Settings.ComponentMask & ComponentType.Mesh) == 0) return; CertifyNotDisposed(); + + if (!ValidateMesh(uMesh)) + return; + var node = m_Nodes[nodeId]; // Always export positions. @@ -2239,25 +2243,6 @@ static Node CreateNode( int AddMesh(UnityEngine.Mesh uMesh, VertexAttributeUsage attributeUsage) { int meshId; - if (!uMesh.isReadable) - { -#if DEBUG && !UNITY_6000_0_OR_NEWER - Debug.LogWarning($"Exporting non-readable meshes is not reliable in builds across platforms and " + - $"graphics APIs! Consider making mesh \"{uMesh.name}\" readable.", uMesh); -#endif - if ((m_Settings.Compression & Compression.Draco) != 0) - { -#if UNITY_EDITOR - // Non-readable meshes are unsupported during playmode or in builds, but work in Editor exports. - if (Application.isPlaying) -#endif - { - m_Logger?.Error(LogCode.MeshNotReadable, uMesh.name); - return -1; - } - } - } - if (m_UnityMeshes != null) { meshId = m_UnityMeshes.IndexOf(uMesh); @@ -2492,5 +2477,45 @@ static VertexAttributeUsage GetVertexAttributeUsage(Shader shader) | VertexAttributeUsage.AllTexCoords | VertexAttributeUsage.Skinning; } + + bool ValidateMesh(UnityEngine.Mesh uMesh) + { + if (uMesh.vertexCount == 0) + { + m_Logger?.Error(LogCode.VertexCountInvalid, uMesh.vertexCount.ToString()); + return false; + } + + // glTF mesh is invalid if any submesh is empty + for (var i = 0; i < uMesh.subMeshCount; i++) + { + if (uMesh.GetIndexCount(i) == 0) + { + m_Logger?.Error(LogCode.IndexCountInvalid, "0"); + return false; + } + } + + if (!uMesh.isReadable) + { +#if DEBUG && !UNITY_6000_0_OR_NEWER + Debug.LogWarning($"Exporting non-readable meshes is not reliable in builds across platforms and " + + $"graphics APIs! Consider making mesh \"{uMesh.name}\" readable.", uMesh); +#endif + if ((m_Settings.Compression & Compression.Draco) != 0) + { +#if UNITY_EDITOR + // Non-readable meshes are unsupported during playmode or in builds, but work in Editor exports. + if (Application.isPlaying) +#endif + { + m_Logger?.Error(LogCode.MeshNotReadable, uMesh.name); + return false; + } + } + } + + return true; + } } } diff --git a/Runtime/Scripts/Export/ImageExport.cs b/Runtime/Scripts/Export/ImageExport.cs index 242c2a242..4658e6cef 100644 --- a/Runtime/Scripts/Export/ImageExport.cs +++ b/Runtime/Scripts/Export/ImageExport.cs @@ -234,6 +234,15 @@ static bool HasAlpha(Texture2D texture) return GraphicsFormatUtility.HasAlphaChannel(GraphicsFormatUtility.GetGraphicsFormat(texture.format, false)); } + static Material GetColorBlitMaterial() + { + if (s_ColorBlitMaterial == null) + { + s_ColorBlitMaterial = LoadBlitMaterial("glTFExportColor"); + } + return s_ColorBlitMaterial; + } + #if UNITY_EDITOR static ImageFormat GetFormatFromExtension(string assetPath) { if (assetPath.EndsWith(".png", StringComparison.OrdinalIgnoreCase)) { @@ -245,15 +254,13 @@ static ImageFormat GetFormatFromExtension(string assetPath) { } return ImageFormat.Unknown; } -#endif - static Material GetColorBlitMaterial() + [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)] + static void ResetStaticsOnLoad() { - if (s_ColorBlitMaterial == null) - { - s_ColorBlitMaterial = LoadBlitMaterial("glTFExportColor"); - } - return s_ColorBlitMaterial; + // Reset static state + s_ColorBlitMaterial = null; } +#endif } } diff --git a/Runtime/Scripts/Export/MaterialExport.cs b/Runtime/Scripts/Export/MaterialExport.cs index 7b4650c5b..313002fd3 100644 --- a/Runtime/Scripts/Export/MaterialExport.cs +++ b/Runtime/Scripts/Export/MaterialExport.cs @@ -85,5 +85,14 @@ internal static bool AddImageExport(IGltfWritable gltf, ImageExportBase imageExp textureId = gltf.AddTexture(imageId, samplerId); return true; } + +#if UNITY_EDITOR + [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)] + static void ResetStaticsOnLoad() + { + // Reset static state + s_MaterialExport = null; + } +#endif } } diff --git a/Runtime/Scripts/Export/MetaMaterialExportBuiltIn.cs b/Runtime/Scripts/Export/MetaMaterialExportBuiltIn.cs index 3ad07b841..7803ef6c3 100644 --- a/Runtime/Scripts/Export/MetaMaterialExportBuiltIn.cs +++ b/Runtime/Scripts/Export/MetaMaterialExportBuiltIn.cs @@ -74,5 +74,16 @@ out IMaterialExport materialExport materialExport = null; return false; } + +#if UNITY_EDITOR + [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)] + static void ResetStaticsOnLoad() + { + // Reset static state + s_LitMaterialExport = null; + s_GltfBuiltInMaterialExport = null; + s_GltfUnlitMaterialExport = null; + } +#endif } } diff --git a/Runtime/Scripts/Export/NormalImageExport.cs b/Runtime/Scripts/Export/NormalImageExport.cs index 5e08e84f0..39b960c8b 100644 --- a/Runtime/Scripts/Export/NormalImageExport.cs +++ b/Runtime/Scripts/Export/NormalImageExport.cs @@ -51,5 +51,14 @@ protected override bool GenerateTexture(out byte[] imageData) imageData = null; return false; } + +#if UNITY_EDITOR + [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)] + static void ResetStaticsOnLoad() + { + // Reset static state + s_NormalBlitMaterial = null; + } +#endif } } diff --git a/Runtime/Scripts/Export/OrmImageExport.cs b/Runtime/Scripts/Export/OrmImageExport.cs index ce1a92da9..3f8f9d6c5 100644 --- a/Runtime/Scripts/Export/OrmImageExport.cs +++ b/Runtime/Scripts/Export/OrmImageExport.cs @@ -335,5 +335,16 @@ bool Equals(OrmImageExport other) && m_OccTexture == other.m_OccTexture && m_SmoothnessTexture == other.m_SmoothnessTexture; } + +#if UNITY_EDITOR + [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)] + static void ResetStaticsOnLoad() + { + // Reset static state + s_MetalGlossBlitMaterial = null; + s_OcclusionBlitMaterial = null; + s_GlossBlitMaterial = null; + } +#endif } } diff --git a/Runtime/Scripts/Extensions.cs b/Runtime/Scripts/Extensions.cs index 18b767200..1d71c869a 100644 --- a/Runtime/Scripts/Extensions.cs +++ b/Runtime/Scripts/Extensions.cs @@ -69,6 +69,10 @@ public enum Extension /// KHR_materials_specular glTF extension /// MaterialsSpecular, + /// + /// EXT_texture_webp glTF extension + /// + TextureWebP, } /// @@ -94,6 +98,8 @@ public static class ExtensionName public const string TextureBasisUniversal = "KHR_texture_basisu"; /// public const string TextureTransform = "KHR_texture_transform"; + /// + public const string TextureWebP = "EXT_texture_webp"; /// public const string LightsPunctual = "KHR_lights_punctual"; /// @@ -134,6 +140,8 @@ public static string GetName(this Extension extension) return TextureBasisUniversal; case Extension.TextureTransform: return TextureTransform; + case Extension.TextureWebP: + return TextureWebP; case Extension.MaterialsClearcoat: return MaterialsClearcoat; case Extension.MaterialsVariants: diff --git a/Runtime/Scripts/GltfImport.cs b/Runtime/Scripts/GltfImport.cs index 9205c7967..431f0201b 100755 --- a/Runtime/Scripts/GltfImport.cs +++ b/Runtime/Scripts/GltfImport.cs @@ -27,44 +27,34 @@ // #define MEASURE_TIMINGS using System.Collections.Generic; -using System.Diagnostics; using System.IO; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; using System.Threading.Tasks; using System.Threading; using System; using System.Text; using GLTFast.Addons; using GLTFast.Jobs; -#if KTX_IS_ENABLED -using KtxUnity; -#endif +using GLTFast.Loading; +using GLTFast.Logging; +using GLTFast.Materials; +using GLTFast.Schema; #if MESHOPT_IS_ENABLED using Meshoptimizer; #endif using Unity.Collections.LowLevel.Unsafe; using Unity.Collections; -using Unity.IO.LowLevel.Unsafe; using Unity.Jobs; using Unity.Mathematics; -#if UNITY_EDITOR -using UnityEditor; -#endif using UnityEngine.Assertions; -using UnityEngine.Experimental.Rendering; using UnityEngine.Profiling; using UnityEngine; +using Buffer = GLTFast.Schema.Buffer; using Debug = UnityEngine.Debug; +using Sampler = GLTFast.Schema.Sampler; +using TextureBase = GLTFast.Schema.TextureBase; namespace GLTFast { - - using Loading; - using Logging; - using Materials; - using Schema; - /// /// Loads a glTF's content, converts it to Unity resources and is able to /// feed it to an for instantiation. @@ -88,6 +78,15 @@ protected override RootBase ParseJson(string json) s_Parser ??= new GltfJsonUtilityParser(); return s_Parser.ParseJson(json); } + +#if UNITY_EDITOR + [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)] + static void ResetStaticsOnLoad() + { + // Reset static state + s_Parser = null; + } +#endif } /// @@ -181,7 +180,7 @@ public abstract class GltfImportBase : IGltfReadable, IGltfBuffers, IDisposable }; static IDeferAgent s_DefaultDeferAgent; - static MeshComparer s_MeshComparer = new MeshComparer(); + static MeshComparer s_MeshComparer = new(); /// Logger used by this glTF import instance. public ICodeLogger Logger => m_Context.Logger; @@ -193,7 +192,7 @@ public abstract class GltfImportBase : IGltfReadable, IGltfBuffers, IDisposable IMaterialGenerator m_MaterialGenerator; - Dictionary m_ImportInstances; + ImportAddonInstanceCollection m_Addons; ImportSettings m_Settings; @@ -202,18 +201,8 @@ public abstract class GltfImportBase : IGltfReadable, IGltfBuffers, IDisposable GlbBinChunk[] m_BinChunks; - Dictionary> m_DownloadTasks; - -#if UNITY_IMAGECONVERSION - Dictionary m_TextureDownloadTasks; -#if !UNITY_6000_0_OR_NEWER - List m_ImageCreateContexts; -#endif // !UNITY_6000_0_OR_NEWER -#endif // UNITY_IMAGECONVERSION -#if KTX_IS_ENABLED - Dictionary> m_KtxDownloadTasks; - List m_KtxLoadContextsBuffer; -#endif // KTX_IS_ENABLED + Dictionary> m_BufferLoadTasks; + Dictionary> m_TextureLoadTasks; IDisposable[] m_AccessorData; AccessorUsage[] m_AccessorUsage; @@ -221,28 +210,20 @@ public abstract class GltfImportBase : IGltfReadable, IGltfBuffers, IDisposable List m_MeshOrders; - /// - /// Loaded glTF images (Raw texture without sampler settings) - /// - /// - Texture2D[] m_Images; - /// /// In glTF a texture is an image with a certain sampler setting applied. /// So any `images` member is also in `textures`, but not necessary the /// other way around. - /// /// /// Texture2D[] m_Textures; -#if KTX_IS_ENABLED + /// Key: texture index; Value: index of original texture to re-use. + Dictionary m_TextureReuseMap; + /// Key: texture index; Value: index of original texture to instantiate off. + Dictionary m_TextureResampleMap; + /// Key: texture index; Value: new image index + Dictionary m_TextureImageOverrides; HashSet m_NonFlippedYTextureIndices; -#endif - ImageFormat[] m_ImageFormats; -#if !UNITY_VISIONOS - bool[] m_ImageReadable; -#endif - bool[] m_ImageGamma; /// optional glTF-binary buffer /// https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#binary-buffer @@ -260,6 +241,11 @@ public abstract class GltfImportBase : IGltfReadable, IGltfBuffers, IDisposable HashSet m_MaterialPointsSupport; bool m_DefaultMaterialPointsSupport; + /// + /// The base URI complements relative URIs of external buffers or images. + /// + Uri BaseUri { get; set; } + /// Main glTF data structure protected abstract RootBase Root { get; set; } UnityEngine.Material[] m_Materials; @@ -372,11 +358,8 @@ public static void UnsetDefaultDeferAgent(IDeferAgent deferAgent) /// Type of the import instance public void AddImportAddonInstance(T importInstance) where T : ImportAddonInstance { - if (m_ImportInstances == null) - { - m_ImportInstances = new Dictionary(); - } - m_ImportInstances[typeof(T)] = importInstance; + m_Addons ??= new ImportAddonInstanceCollection(); + m_Addons.Add(importInstance); } /// @@ -386,15 +369,7 @@ public void AddImportAddonInstance(T importInstance) where T : ImportAddonIns /// The import instance that was previously added. False if there was none. public T GetImportAddonInstance() where T : ImportAddonInstance { - if (m_ImportInstances == null) - return null; - - if (m_ImportInstances.TryGetValue(typeof(T), out var addonInstance)) - { - return (T)addonInstance; - } - - return null; + return m_Addons?.Get(); } /// @@ -670,23 +645,29 @@ public async Task LoadGltfJson( CancellationToken cancellationToken = default ) { - bool success; + var success = false; try { m_Settings = importSettings ?? new ImportSettings(); + BaseUri = UriHelper.GetBaseUri(uri); success = - await LoadGltf(json, uri, cancellationToken) + await LoadGltf(json, cancellationToken) && await LoadContent(cancellationToken) && await Prepare(cancellationToken); } catch (OperationCanceledException e) { Logger?.Info(LogCode.OperationCanceled, e.Message); + await DisposeTextureLoadTasks(); throw; } finally { - await DisposeVolatileData(); + if (!success) + { + await DisposeTextureLoadTasks(); + } + DisposeVolatileData(); } LoadingError = !success; @@ -847,14 +828,7 @@ public void Dispose() { DisposeRequiredForInstantiationData(); - if (m_ImportInstances != null) - { - foreach (var importInstance in m_ImportInstances) - { - importInstance.Value.Dispose(); - } - m_ImportInstances = null; - } + m_Addons?.Dispose(); m_NodeNames = null; @@ -894,7 +868,7 @@ void DisposeArray(IEnumerable objects) /// [Obsolete("Use TextureCount and GetTexture instead. This property will be removed in future releases.")] - public int ImageCount => m_Images?.Length ?? 0; + public int ImageCount => Root?.Images?.Count ?? 0; /// public int TextureCount => m_Textures?.Length ?? 0; @@ -975,10 +949,19 @@ public UnityEngine.Material GetDefaultMaterial() [Obsolete("Use GetTexture instead. This method will be removed in future releases.")] public Texture2D GetImage(int index = 0) { - if (m_Images != null && index >= 0 && index < m_Images.Length) + if (Root is { Textures: { Count: > 0 }, Images: { Count: > 0 } } + && index >= 0 && index < Root.Images.Count) { - return m_Images[index]; + for (var textureIndex = 0; textureIndex < Root.Textures.Count; textureIndex++) + { + var texture = Root.Textures[textureIndex]; + if (index == texture.GetImageIndex()) + { + return GetTexture(textureIndex); + } + } } + return null; } @@ -995,11 +978,7 @@ public Texture2D GetTexture(int index = 0) /// public bool IsTextureYFlipped(int index = 0) { -#if KTX_IS_ENABLED - return (m_NonFlippedYTextureIndices == null || !m_NonFlippedYTextureIndices.Contains(index)) && GetSourceTexture(index).IsKtx; -#else - return false; -#endif + return m_NonFlippedYTextureIndices == null || !m_NonFlippedYTextureIndices.Contains(index); } #if UNITY_ANIMATION @@ -1222,6 +1201,45 @@ public NativeSlice GetAccessorData(int accessorIndex) ).ToSlice(); } + /// + /// Loads an image's data, regardless of source type (URI, bufferView, data URI). + /// + /// glTF image + /// Can be used to abort the loading procedure. + /// Image's data (needs to be disposed after consumption) + async Task GetImageDataAsync(Image image, CancellationToken cancellationToken) + { + if (image.bufferView >= 0) + { + var bufferView = Root.BufferViews[image.bufferView]; + return new ReadOnlyData( + await GetBufferViewAsync(bufferView), + null + ); + } + + if (!string.IsNullOrEmpty(image.uri)) + { + if (DataUri.IsDataUri(image.uri)) + { + Logger?.Warning(LogCode.EmbedSlow); + var data = await DataUri.DecodeDataUriAsync(image.uri, DeferAgent, cancellationToken); + if (data is null) + { + Logger?.Error(LogCode.EmbedImageLoadFailed); + } + + return data; + } + + var uri = UriHelper.GetUriString(image.uri, BaseUri); + return await ImageImport.LoadDataAsync(m_Context, uri, cancellationToken); + } + + Logger?.Error(LogCode.MissingImageURL); + return null; + } + /// public int MaterialsVariantsCount => Root.MaterialsVariantsCount; @@ -1280,7 +1298,8 @@ int StreamReadToMemory(int length) async Task LoadFromUri(Uri url, CancellationToken cancellationToken) { - bool success; + BaseUri = UriHelper.GetBaseUri(url); + var success = true; IDownload download = null; try { @@ -1311,14 +1330,14 @@ async Task LoadFromUri(Uri url, CancellationToken cancellationToken) } m_VolatileDisposables.Add(download); - success = await LoadGltfBinaryBuffer(data, url, cancellationToken); + success = await LoadGltfBinaryBuffer(data, cancellationToken); } else { var text = download.Text; download.Dispose(); download = null; - success = await LoadGltf(text, url, cancellationToken); + success = await LoadGltf(text, cancellationToken); } success = success @@ -1335,11 +1354,16 @@ async Task LoadFromUri(Uri url, CancellationToken cancellationToken) Logger?.Info(LogCode.OperationCanceled, e.Message); if (m_VolatileDisposables?.Contains(download) is false) download?.Dispose(); + await DisposeTextureLoadTasks(); throw; } finally { - await DisposeVolatileData(); + if (!success) + { + await DisposeTextureLoadTasks(); + } + DisposeVolatileData(); } LoadingError = !success; @@ -1353,11 +1377,12 @@ async Task LoadGltfBinaryInternal( CancellationToken cancellationToken ) { - bool success; + var success = true; + BaseUri = UriHelper.GetBaseUri(uri); try { m_Settings = importSettings ?? new ImportSettings(); - success = await LoadGltfBinaryBuffer(bytes, uri, cancellationToken); + success = await LoadGltfBinaryBuffer(bytes, cancellationToken); success = success && await LoadContent(cancellationToken) && await Prepare(cancellationToken); @@ -1365,11 +1390,16 @@ CancellationToken cancellationToken catch (OperationCanceledException e) { Logger?.Info(LogCode.OperationCanceled, e.Message); + await DisposeTextureLoadTasks(); throw; } finally { - await DisposeVolatileData(); + if (!success) + { + await DisposeTextureLoadTasks(); + } + DisposeVolatileData(); } LoadingError = !success; @@ -1389,23 +1419,6 @@ async Task LoadContent(CancellationToken cancellationToken) MeshoptDecode(); } #endif - -#if UNITY_IMAGECONVERSION - if (m_TextureDownloadTasks != null) - { - if(success) - await WaitForTextureDownloads(cancellationToken); - m_TextureDownloadTasks.Clear(); - } -#endif // UNITY_IMAGECONVERSION -#if KTX_IS_ENABLED - if (m_KtxDownloadTasks != null) { - if(success) - await WaitForKtxDownloads(cancellationToken); - m_KtxDownloadTasks.Clear(); - } -#endif // KTX_IS_ENABLED - return success; } @@ -1416,7 +1429,7 @@ async Task LoadContent(CancellationToken cancellationToken) /// De-serialized glTF root object. protected abstract RootBase ParseJson(string json); - async Task ParseJsonAndLoadBuffers(string json, Uri baseUri, CancellationToken cancellationToken) + async Task ParseJsonAndLoadBuffers(string json, CancellationToken cancellationToken) { cancellationToken.ThrowIfCancellationRequestedWithTracking(); @@ -1473,15 +1486,16 @@ async Task ParseJsonAndLoadBuffers(string json, Uri baseUri, CancellationT var buffer = Root.Buffers[i]; if (!string.IsNullOrEmpty(buffer.uri)) { - if (buffer.uri.StartsWith("data:")) + m_BufferLoadTasks ??= new Dictionary>(); + if (DataUri.IsDataUri(buffer.uri)) { Logger?.Warning(LogCode.EmbedSlow); - if (!await LoadBufferFromDataUri(i, buffer, cancellationToken)) - return false; + m_BufferLoadTasks[i] = LoadBufferFromDataUri(i, buffer, cancellationToken); } else { - LoadBuffer(i, UriHelper.GetUriString(buffer.uri, baseUri)); + m_BufferLoadTasks[i] = LoadBufferFromUriAsync( + i, UriHelper.GetUriString(buffer.uri, BaseUri)); } } } @@ -1516,6 +1530,10 @@ async Task LoadBufferFromDataUri(int bufferIndex, Buffer buffer, Cancellat m_VolatileDisposables ??= new List(); m_VolatileDisposables.Add(data); m_Buffers[bufferIndex] = new ReadOnlyNativeArray(data); + if (bufferIndex != 0 || !m_GlbBinChunk.HasValue) + { + m_BinChunks[bufferIndex] = new GlbBinChunk(0, (uint)m_Buffers[bufferIndex].Length); + } return true; } @@ -1540,18 +1558,9 @@ bool CheckExtensionSupport(IEnumerable extensions, bool required = true) var allExtensionsSupported = true; foreach (var ext in extensions) { - var supported = k_SupportedExtensions.Contains(ext); - if (!supported && m_ImportInstances != null) - { - foreach (var extension in m_ImportInstances) - { - if (extension.Value.SupportsGltfExtension(ext)) - { - supported = true; - break; - } - } - } + var supported = k_SupportedExtensions.Contains(ext) + || (m_Addons != null && m_Addons.AnySupportsGltfExtension(ext)); + if (!supported) { #if !DRACO_IS_ENABLED @@ -1605,515 +1614,332 @@ bool CheckExtensionSupport(IEnumerable extensions, bool required = true) return allExtensionsSupported; } - async Task LoadGltf(string json, Uri url, CancellationToken cancellationToken) + async Task LoadGltf(string json, CancellationToken cancellationToken) { - var baseUri = UriHelper.GetBaseUri(url); - var success = await ParseJsonAndLoadBuffers(json, baseUri, cancellationToken); + var success = await ParseJsonAndLoadBuffers(json, cancellationToken); if (success) - await LoadImages(baseUri, cancellationToken); + LoadImages(cancellationToken); return success; } - async Task LoadImages(Uri baseUri, CancellationToken cancellationToken) + void LoadImages(CancellationToken cancellationToken) { cancellationToken.ThrowIfCancellationRequestedWithTracking(); - if (Root.Textures != null && Root.Images != null) + if (Root.Textures is { Count: > 0 }) { - Profiler.BeginSample("LoadImages.Prepare"); + Dictionary textureImageLoaderMap = null; + bool OverridesImage(ITextureImageLoader loader, TextureBase texture, out int imageIndex) + { + return loader.IsAbleToLoad(texture, out imageIndex); + } - m_Images = new Texture2D[Root.Images.Count]; - m_ImageFormats = new ImageFormat[Root.Images.Count]; + m_Addons?.ForEachTryGet( + Root.Textures, + OverridesImage, + (addon, textureIndex, imageIndex) => + { + m_TextureImageOverrides ??= new Dictionary(); + m_TextureImageOverrides[textureIndex] = imageIndex; + textureImageLoaderMap ??= new Dictionary(); + textureImageLoaderMap[textureIndex] = addon; + } + ); + + bool[] textureGamma = null; if (QualitySettings.activeColorSpace == ColorSpace.Linear) { + textureGamma = new bool[Root.Textures.Count]; - m_ImageGamma = new bool[Root.Images.Count]; - - void SetImageGamma(TextureInfoBase txtInfo) + void SetTextureGamma(TextureInfoBase textureInfo) { if ( - txtInfo != null && - txtInfo.index >= 0 && - txtInfo.index < Root.Textures.Count + textureInfo is { index: >= 0 } && + textureInfo.index < Root.Textures.Count ) { - var imageIndex = Root.Textures[txtInfo.index].GetImageIndex(); - m_ImageGamma[imageIndex] = true; + textureGamma[textureInfo.index] = true; } } if (Root.Materials != null) { - for (int i = 0; i < Root.Materials.Count; i++) + foreach (var material in Root.Materials) { - var mat = Root.Materials[i]; - if (mat.PbrMetallicRoughness != null) + if (material.PbrMetallicRoughness != null) { - SetImageGamma(mat.PbrMetallicRoughness.BaseColorTexture); + SetTextureGamma(material.PbrMetallicRoughness.BaseColorTexture); } - SetImageGamma(mat.EmissiveTexture); - if (mat.Extensions?.KHR_materials_pbrSpecularGlossiness != null) + SetTextureGamma(material.EmissiveTexture); + if (material.Extensions?.KHR_materials_pbrSpecularGlossiness != null) { - SetImageGamma(mat.Extensions.KHR_materials_pbrSpecularGlossiness.diffuseTexture); - SetImageGamma(mat.Extensions.KHR_materials_pbrSpecularGlossiness.specularGlossinessTexture); + SetTextureGamma( + material.Extensions.KHR_materials_pbrSpecularGlossiness.diffuseTexture); + SetTextureGamma( + material.Extensions.KHR_materials_pbrSpecularGlossiness.specularGlossinessTexture); } } } } -#if KTX_IS_ENABLED - // Derive image type from texture extension - for (int i = 0; i < Root.Textures.Count; i++) { - var texture = Root.Textures[i]; - if(texture.IsKtx) { - var imgIndex = texture.GetImageIndex(); - m_ImageFormats[imgIndex] = ImageFormat.Ktx; - } - } -#endif // KTX_IS_ENABLED - - // Determine which images need to be readable, because they - // are applied using different samplers. - var imageVariants = new HashSet[m_Images.Length]; - foreach (var txt in Root.Textures) - { - var imageIndex = txt.GetImageIndex(); - if (imageIndex < 0 || imageIndex >= Root.Images.Count) continue; - if (imageVariants[imageIndex] == null) - { - imageVariants[imageIndex] = new HashSet(); - } - imageVariants[imageIndex].Add(txt.sampler); - } - #if !UNITY_VISIONOS - if (!m_Settings.TexturesReadable) - { - m_ImageReadable = new bool[m_Images.Length]; - for (var i = 0; i < m_Images.Length; i++) - { - m_ImageReadable[i] = imageVariants[i] != null && imageVariants[i].Count > 1; - } - } + HashSet readableTextureIndices = null; #endif - Profiler.EndSample(); - - List> imageTasks = null; - for (int imageIndex = 0; imageIndex < Root.Images.Count; imageIndex++) + if (Root.Images is { Count: > 0 }) { cancellationToken.ThrowIfCancellationRequestedWithTracking(); + Profiler.BeginSample("LoadImages.Prepare"); - var img = Root.Images[imageIndex]; - - if (!string.IsNullOrEmpty(img.uri) && img.uri.StartsWith("data:")) + var defaultKey = new SamplerKey(new Sampler()); + var imageVariants = new Dictionary[Root.Images.Count]; + for (var textureIndex = 0; textureIndex < Root.Textures.Count; textureIndex++) { - Logger?.Warning(LogCode.EmbedSlow); - var imageTask = LoadImageFromDataUri(imageIndex, img, cancellationToken); - imageTasks ??= new List>(); - imageTasks.Add(imageTask); - } - else - { - ImageFormat imgFormat; - if (m_ImageFormats[imageIndex] == ImageFormat.Unknown) + var txt = Root.Textures[textureIndex]; + + // Determine which images need to be readable, because they + // are applied using different samplers. + SamplerKey key; + if (txt.sampler >= 0) { - imgFormat = string.IsNullOrEmpty(img.mimeType) - ? UriHelper.GetImageFormatFromUri(img.uri) - : ImageFormatExtensions.FromMimeType(img.mimeType); - m_ImageFormats[imageIndex] = imgFormat; + var sampler = Root.Samplers[txt.sampler]; + key = new SamplerKey(sampler); } else { - imgFormat = m_ImageFormats[imageIndex]; + key = defaultKey; } - if (imgFormat != ImageFormat.Unknown) + var imageIndex = GetImageIndexFromTexture(txt, textureIndex); + if (imageIndex >= 0 && imageIndex < Root.Images.Count) { - if (img.bufferView < 0) + if (imageVariants[imageIndex] == null) { - // Not Inside buffer - if (!string.IsNullOrEmpty(img.uri)) + imageVariants[imageIndex] = + new Dictionary { [key] = textureIndex }; + } + else + { + if (imageVariants[imageIndex].TryGetValue(key, out var existingTextureIndex)) { - LoadImage( - imageIndex, - UriHelper.GetUriString(img.uri, baseUri), - !LoadImageReadable(imageIndex), - imgFormat == ImageFormat.Ktx - ); + // Same sampler already used for this image, so reuse the texture. + m_TextureReuseMap ??= new Dictionary(); + m_TextureReuseMap[textureIndex] = existingTextureIndex; } else { - Logger?.Error(LogCode.MissingImageURL); + // Get an existing texture for this image to clone from later. + using (var enumerator = imageVariants[imageIndex].Values.GetEnumerator()) + { + if (enumerator.MoveNext()) + { + existingTextureIndex = enumerator.Current; + } + } + m_TextureResampleMap ??= new Dictionary(); + m_TextureResampleMap[textureIndex] = existingTextureIndex; + imageVariants[imageIndex][key] = textureIndex; +#if !UNITY_VISIONOS + if (!m_Settings.TexturesReadable) + { + // Mark texture readable + // to allow instantiation/cloning for different sampling later. + readableTextureIndices ??= new HashSet(); + readableTextureIndices.Add(existingTextureIndex); + } +#endif } } } - else - { - Logger?.Error(LogCode.ImageFormatUnknown, imageIndex.ToString(), img.uri); - } } - } - - if (imageTasks != null) - { - await Task.WhenAll(imageTasks); - } - } - } - // TODO: If no suitable image loader is found, this method won't use the await operator, thus causing a warning. - // For now we'll ignore that warning. In the future, we'll encapsulate this in a better way. -#pragma warning disable CS1998 // Async method lacks 'await' operators and will run synchronously - async Task LoadImageFromDataUri(int imageIndex, Image img, CancellationToken cancellationToken) -#pragma warning restore CS1998 // Async method lacks 'await' operators and will run synchronously - { - cancellationToken.ThrowIfCancellationRequestedWithTracking(); + Profiler.EndSample(); - if (!DataUri.TryGetImageDataUriDescriptor( - img.uri, out var imageFormat, out var startIndex, out var byteLength)) - { - Logger?.Error(LogCode.EmbedImageLoadFailed); - return false; - } - m_ImageFormats[imageIndex] = imageFormat; + m_TextureLoadTasks = new Dictionary>(); - switch (imageFormat) - { - case ImageFormat.Unknown: - Logger?.Error(LogCode.EmbedImageLoadFailed); - return false; - case ImageFormat.Jpeg: - case ImageFormat.PNG: -#if UNITY_IMAGECONVERSION - { - var texture = await LoadImageJpegOrPngFromDataUri(imageIndex, img, startIndex, byteLength, cancellationToken); - if (texture is not null) - { - m_Images[imageIndex] = texture; - return true; - } - return false; } -#else - Logger?.Warning(LogCode.ImageConversionNotEnabled); - return true; -#endif - case ImageFormat.Ktx: -#if KTX_IS_ENABLED + + for (var textureIndex = 0; textureIndex < Root.Textures.Count; textureIndex++) { - var texture = await LoadImageKtxFromDataUri(imageIndex, img, startIndex, byteLength, cancellationToken); - if (texture is not null) + var texture = Root.Textures[textureIndex]; + if ((m_TextureReuseMap != null && m_TextureReuseMap.ContainsKey(textureIndex)) + || (m_TextureResampleMap != null && m_TextureResampleMap.ContainsKey(textureIndex))) { - m_Images[imageIndex] = texture; - return true; + continue; } + var forceSampleLinear = textureGamma != null && !textureGamma[textureIndex]; - return false; - } -#endif - default: - Logger?.Error(LogCode.EmbedImageUnsupportedType, m_ImageFormats[imageIndex].ToString()); - return false; - } - } - -#if UNITY_IMAGECONVERSION - async Task LoadImageJpegOrPngFromDataUri( - int imageIndex, - Image img, - int startIndex, - int byteLength, - CancellationToken cancellationToken - ) - { -#if UNITY_6000_0_OR_NEWER - var data = await DataUri.DecodeDataUriAsync(img.uri, startIndex, byteLength, DeferAgent, cancellationToken); - if (!data.IsCreated) - { - Logger?.Error(LogCode.EmbedImageLoadFailed); - return null; - } -#else - var data = await DataUri.DecodeDataUriToManagedArrayAsync( - img.uri, startIndex, byteLength, DeferAgent, cancellationToken); - if (data == null) - { - Logger?.Error(LogCode.EmbedImageLoadFailed); - return null; - } -#endif - await DeferAgent.BreakPoint(); - - cancellationToken.ThrowIfCancellationRequestedWithTracking(); - - Profiler.BeginSample("LoadImageJpegOrPngFromDataUri"); - // TODO: Investigate alternative: native texture creation in worker thread - var forceSampleLinear = m_ImageGamma != null && !m_ImageGamma[imageIndex]; - var texture = CreateEmptyTexture(img, imageIndex, forceSampleLinear); - texture.LoadImage( -#if UNITY_6000_0_OR_NEWER - data.AsReadOnlySpan(), +#if UNITY_VISIONOS + // PolySpatial visionOS needs to be able to access raw texture data in order to + // do the material/texture conversion. + const bool readable = true; #else - data, + var readable = m_Settings.TexturesReadable + || (readableTextureIndices != null && readableTextureIndices.Contains(textureIndex)); #endif - !LoadImageReadable(imageIndex) - ); - Profiler.EndSample(); - return texture; - } -#endif // UNITY_IMAGECONVERSION - -#if KTX_IS_ENABLED - async Task LoadImageKtxFromDataUri( - int imageIndex, - Image img, - int startIndex, - int byteLength, - CancellationToken cancellationToken - ) - { - var data = await DataUri.DecodeDataUriAsync(img.uri, startIndex, byteLength, DeferAgent, cancellationToken); - if (!data.IsCreated) - { - Logger?.Error(LogCode.EmbedImageLoadFailed); - return null; - } - await DeferAgent.BreakPoint(); - var texture = await LoadImageKtx(imageIndex, img, data.AsReadOnly(), cancellationToken); - data.Dispose(); - return texture; - } - - async Task LoadImageKtx( - int imageIndex, - Image img, - NativeArray.ReadOnly data, - CancellationToken cancellationToken) - { - Profiler.BeginSample("LoadImageKtx"); - - var forceSampleLinear = m_ImageGamma != null && !m_ImageGamma[imageIndex]; - var readable = LoadImageReadable(imageIndex); - Texture2D texture = null; - - var ktxTexture = new KtxTexture(); - var errorCode = ktxTexture.Open(data); - if (errorCode != ErrorCode.Success) { - Logger?.Error(LogCode.EmbedImageLoadFailed); - return null; - } - - cancellationToken.ThrowIfCancellationRequestedWithTracking(); - - // TODO implement cancellation in KTX package - var result = await ktxTexture.LoadTexture2D(forceSampleLinear, readable); - ktxTexture.Dispose(); - if (result.errorCode == ErrorCode.Success) { - texture = result.texture; - texture.name = GetImageName(img, imageIndex); - } - else { - Logger?.Error(LogCode.EmbedImageLoadFailed); - } - - Profiler.EndSample(); - return texture; - } -#endif - - async Task WaitForBufferDownloads(CancellationToken cancellationToken) - { - if (m_DownloadTasks != null) - { - foreach (var downloadPair in m_DownloadTasks) - { - cancellationToken.ThrowIfCancellationRequestedWithTracking(); - - var download = await downloadPair.Value; - if (download.Success) - { - Profiler.BeginSample("GetData"); - - m_VolatileDisposables ??= new List(); - if (download is INativeDownload nativeDownload) - { - var wrapper = new ReadOnlyNativeArrayFromNativeArray(nativeDownload.NativeData); - m_Buffers[downloadPair.Key] = wrapper.Array; - } - else - { - var wrapper = new ReadOnlyNativeArrayFromManagedArray(download.Data); - m_Buffers[downloadPair.Key] = wrapper.Array; - m_VolatileDisposables.Add(wrapper); - } - - m_VolatileDisposables.Add(download); - - Profiler.EndSample(); - } - else + var imageIndex = GetImageIndexFromTexture(texture, textureIndex); + if (imageIndex < 0 || imageIndex >= Root.Images.Count) { - Logger?.Error(LogCode.BufferLoadFailed, download.Error, downloadPair.Key.ToString()); - return false; + continue; } - } - } + var img = Root.Images[imageIndex]; - if (m_Buffers != null) - { - Profiler.BeginSample("CreateGlbBinChunks"); - for (int i = 0; i < m_Buffers.Length; i++) - { - if (i == 0 && m_GlbBinChunk.HasValue) + if (textureImageLoaderMap != null && textureImageLoaderMap.TryGetValue(textureIndex, out var loader)) { - // Already assigned in LoadGltfBinary + m_TextureLoadTasks[textureIndex] = ImageImport.LoadImageAsync( + GetImageDataAsync(img, cancellationToken), + forceSampleLinear, + readable, + m_Settings.GenerateMipMaps, + cancellationToken, + loader, + DeferAgent + ); continue; } - var b = m_Buffers[i]; - if (b.IsCreated) - { - m_BinChunks[i] = new GlbBinChunk(0, (uint)b.Length); - } - } - Profiler.EndSample(); - } - return true; - } - -#if UNITY_IMAGECONVERSION - async Task WaitForTextureDownloads(CancellationToken cancellationToken) - { - foreach (var dl in m_TextureDownloadTasks) - { - cancellationToken.ThrowIfCancellationRequestedWithTracking(); - await dl.Value.Load(); - using var www = dl.Value.Download; - - if (www == null) - { - Logger?.Error(LogCode.TextureDownloadFailed, "?", dl.Key.ToString()); - return false; - } - - if (www.Success) - { - cancellationToken.ThrowIfCancellationRequestedWithTracking(); - - var imageIndex = dl.Key; - Texture2D txt; - // TODO: Loading Jpeg/PNG textures like this creates major frame stalls. Main thread is waiting - // on Render thread, which is occupied by Gfx.UploadTextureData for 19 ms for a 2k by 2k texture - if (LoadImageFromBytes(imageIndex)) + if (!string.IsNullOrEmpty(img.uri) && !DataUri.IsDataUri(img.uri)) { - Profiler.BeginSample("Texture2D.LoadImage"); - var forceSampleLinear = m_ImageGamma!=null && !m_ImageGamma[imageIndex]; - txt = CreateEmptyTexture(Root.Images[imageIndex], imageIndex, forceSampleLinear); - var markNonReadable = !LoadImageReadable(imageIndex); -#if UNITY_6000_0_OR_NEWER - if(www is INativeDownload nativeDownload) + // Load from URI + // Detect format based on mimeType or URI file extension. + var imgFormat = string.IsNullOrEmpty(img.mimeType) + ? UriHelper.GetImageFormatFromUri(img.uri) + : ImageFormatExtensions.FromMimeType(img.mimeType); + + if (imgFormat is ImageFormat.Jpeg or ImageFormat.Png) { - txt.LoadImage( - nativeDownload.NativeData.AsReadOnlySpan(), - markNonReadable - ); + if (m_Addons?.TryGet( + imgFormat, + (IDefaultImageFormatLoader defaultLoader, ImageFormat format, out Task task) => + { + if (defaultLoader.IsAbleToLoad(format)) + { + task = ImageImport.LoadImageAsync( + GetImageDataAsync(img, cancellationToken), + forceSampleLinear, + readable, + m_Settings.GenerateMipMaps, + cancellationToken, + defaultLoader, + DeferAgent + ); + return true; + } + task = null; + return false; + }, + out var defaultTask) ?? false) + { + m_TextureLoadTasks[textureIndex] = defaultTask; + continue; + } + + // Jpeg and PNG are a special case. If feasible, they're loaded via UnityWebRequestTexture, + // which decodes them in a worker thread. +#if UNITY_IMAGECONVERSION + var loadFromBytes = ImageConversionImageLoader.LoadImageFromBytes( + forceSampleLinear, + m_Settings.GenerateMipMaps + ); + if (!loadFromBytes) + { + var uri = UriHelper.GetUriString(img.uri, BaseUri); + m_TextureLoadTasks[textureIndex] = ImageConversionImageLoader.LoadAsync( + m_Context, uri, readable, cancellationToken); + continue; + } +#else + Logger?.Error(LogCode.ImageConversionNotEnabled); + continue; +#endif } - else + + // Abort for formats known to be not supported to avoid pointless downloads. + if ( + imgFormat == ImageFormat.WebP +#if !KTX_IS_ENABLED + || imgFormat == ImageFormat.Ktx #endif + ) { - txt.LoadImage( - www.Data, - markNonReadable - ); - } - Profiler.EndSample(); - } - else - { - Assert.IsTrue(www is ITextureDownload); - Profiler.BeginSample("ITextureDownload.Texture"); - txt = ((ITextureDownload)www).Texture; - Profiler.EndSample(); - txt.name = GetImageName(Root.Images[imageIndex], imageIndex); - } - m_Images[imageIndex] = txt; - await DeferAgent.BreakPoint(); - } - else - { - Logger?.Error(LogCode.TextureDownloadFailed, www.Error, dl.Key.ToString()); - return false; + Logger?.Error( + LogCode.ImageFormatUnsupported, + imageIndex.ToString(), + imgFormat.ToString() + ); + continue; + } + } + + m_TextureLoadTasks[textureIndex] = ImageImport.LoadImageAsync( + m_Context, + m_Settings, + imageIndex, + forceSampleLinear, + readable, + m_Settings.GenerateMipMaps, + GetImageDataAsync(img, cancellationToken), + m_Addons, + cancellationToken + ); } } - return true; } -#endif // UNITY_IMAGECONVERSION -#if KTX_IS_ENABLED - async Task WaitForKtxDownloads(CancellationToken cancellationToken) + async Task WaitForBufferDownloads(CancellationToken cancellationToken) { - var tasks = new Task[m_KtxDownloadTasks.Count]; - var i = 0; - foreach( var dl in m_KtxDownloadTasks ) { - tasks[i] = ProcessKtxDownload(dl.Key, dl.Value, cancellationToken); - i++; - } - await Task.WhenAll(tasks); - foreach (var task in tasks) { - if (!task.Result) return false; + if (m_BufferLoadTasks != null) + { + foreach (var loadTaskPair in m_BufferLoadTasks) + { + cancellationToken.ThrowIfCancellationRequestedWithTracking(); + if (!await loadTaskPair.Value) + { + return false; + } + } } + return true; } - async Task ProcessKtxDownload(int imageIndex, Task downloadTask, CancellationToken cancellationToken) + async Task LoadBufferFromUriAsync(int index, Uri uri) { - using var www = await downloadTask; - if (www.Success) + var request = m_Context.DownloadProvider.Request(uri); + var download = await request; + if (download.Success) { - NativeArray.ReadOnly data; - if (www is INativeDownload nativeDownload) + Profiler.BeginSample("GetData"); + + m_VolatileDisposables ??= new List(); + if (download is INativeDownload nativeDownload) { - data = nativeDownload.NativeData; + var wrapper = new ReadOnlyNativeArrayFromNativeArray(nativeDownload.NativeData); + m_Buffers[index] = wrapper.Array; } else { - var managedNativeArray = new ReadOnlyNativeArrayFromManagedArray(www.Data); - m_VolatileDisposables ??= new List(); - m_VolatileDisposables.Add(managedNativeArray); - data = managedNativeArray.Array.AsNativeArrayReadOnly(); + var wrapper = new ReadOnlyNativeArrayFromManagedArray(download.Data); + m_Buffers[index] = wrapper.Array; + m_VolatileDisposables.Add(wrapper); } - var ktxContext = new KtxLoadContext(imageIndex,data); - var forceSampleLinear = m_ImageGamma!=null && !m_ImageGamma[imageIndex]; - var readable = LoadImageReadable(imageIndex); - var result = await ktxContext.LoadTexture2D(forceSampleLinear, readable, cancellationToken); - if (result.errorCode == ErrorCode.Success) { - m_Images[imageIndex] = result.texture; - if (!result.orientation.IsYFlipped()) - { - m_NonFlippedYTextureIndices ??= new HashSet(); - m_NonFlippedYTextureIndices.Add(imageIndex); - } - return true; + + m_VolatileDisposables.Add(download); + + Profiler.EndSample(); + + if (index != 0 || !m_GlbBinChunk.HasValue) + { + m_BinChunks[index] = new GlbBinChunk(0, (uint)m_Buffers[index].Length); } - } else { - Logger?.Error(LogCode.TextureDownloadFailed,www.Error,imageIndex.ToString()); - } - return false; - } -#endif // KTX_IS_ENABLED - void LoadBuffer(int index, Uri url) - { - Profiler.BeginSample("LoadBuffer"); - if (m_DownloadTasks == null) - { - m_DownloadTasks = new Dictionary>(); + return true; } - m_DownloadTasks.Add(index, m_Context.DownloadProvider.Request(url)); - Profiler.EndSample(); + + Logger?.Error(LogCode.BufferLoadFailed, download.Error, index.ToString()); + return false; } bool TryGetBufferDataUriDescriptor( @@ -2160,68 +1986,10 @@ out int byteLength return false; } - void LoadImage(int imageIndex, Uri url, bool nonReadable, bool isKtx) - { - - Profiler.BeginSample("LoadTexture"); - - if (isKtx) - { -#if KTX_IS_ENABLED - var downloadTask = m_Context.DownloadProvider.Request(url); - if(m_KtxDownloadTasks==null) { - m_KtxDownloadTasks = new Dictionary>(); - } - m_KtxDownloadTasks.Add(imageIndex, downloadTask); -#else - Logger?.Error(LogCode.PackageMissing, "KTX for Unity", ExtensionName.TextureBasisUniversal); - Profiler.EndSample(); - return; -#endif // KTX_IS_ENABLED - } - else - { -#if UNITY_IMAGECONVERSION - var downloadTask = LoadImageFromBytes(imageIndex) - ? (TextureDownloadBase) new TextureDownload(m_Context.DownloadProvider.Request(url)) - : new TextureDownload(m_Context.DownloadProvider.RequestTexture(url,nonReadable)); - if(m_TextureDownloadTasks==null) { - m_TextureDownloadTasks = new Dictionary(); - } - m_TextureDownloadTasks.Add(imageIndex, downloadTask); -#else - Logger?.Warning(LogCode.ImageConversionNotEnabled); -#endif - } - Profiler.EndSample(); - } - - /// - /// UnityWebRequestTexture always loads Jpegs/PNGs in sRGB color space - /// without mipmaps. This method figures if this is not desired and the - /// texture data needs to be loaded from raw bytes. - /// - /// glTF image index - /// True if image texture had to be loaded manually from bytes, false otherwise. - bool LoadImageFromBytes(int imageIndex) - { - -#if UNITY_EDITOR - if (IsEditorImport) { - // Use the original texture at Editor (asset database) import - return false; - } -#endif -#if UNITY_WEBREQUEST_TEXTURE - var forceSampleLinear = m_ImageGamma != null && !m_ImageGamma[imageIndex]; - return forceSampleLinear || m_Settings.GenerateMipMaps; -#else - Logger?.Warning(LogCode.UnityWebRequestTextureNotEnabled); - return true; -#endif - } - - async Task LoadGltfBinaryBuffer(NativeArray.ReadOnly bytes, Uri uri, CancellationToken cancellationToken) + async Task LoadGltfBinaryBuffer( + NativeArray.ReadOnly bytes, + CancellationToken cancellationToken + ) { Profiler.BeginSample("LoadGltfBinary.Phase1"); @@ -2251,8 +2019,6 @@ async Task LoadGltfBinaryBuffer(NativeArray.ReadOnly bytes, Uri uri, int index = 12; // first chunk header - var baseUri = UriHelper.GetBaseUri(uri); - Profiler.EndSample(); while (index < totalLength) @@ -2290,7 +2056,7 @@ async Task LoadGltfBinaryBuffer(NativeArray.ReadOnly bytes, Uri uri, var json = await reader.ReadToEndAsync(); Profiler.EndSample(); - var success = await ParseJsonAndLoadBuffers(json, baseUri, cancellationToken); + var success = await ParseJsonAndLoadBuffers(json, cancellationToken); if (!success) { @@ -2318,7 +2084,7 @@ async Task LoadGltfBinaryBuffer(NativeArray.ReadOnly bytes, Uri uri, var wrapper = new ReadOnlyNativeArrayFromNativeArray(bytes); m_Buffers[0] = wrapper.Array; } - await LoadImages(baseUri, cancellationToken); + LoadImages(cancellationToken); return true; } @@ -2438,6 +2204,27 @@ ReadOnlyNativeStridedArray GetStridedAccessorData( return m_Buffers[bufferIndex].ToStrided(totalOffset, count, byteStride); } + async Task.ReadOnly> GetBufferViewAsync( + IBufferView bufferView, + int offset = 0, + int length = 0 + ) + { + var bufferIndex = bufferView.Buffer; + if (!m_Buffers[bufferIndex].IsCreated) + { + var download = m_BufferLoadTasks?[bufferIndex]; + if (download != null) + { + return await download + ? GetBufferView(bufferView, offset, length).AsNativeArrayReadOnly() + : default; + } + } + + return GetBufferView(bufferView, offset, length).AsNativeArrayReadOnly(); + } + ReadOnlyNativeArray GetBufferView( IBufferView bufferView, int offset = 0, @@ -2526,20 +2313,6 @@ async Task Prepare(CancellationToken cancellationToken) { m_Resources = new List(); - if (Root.Images != null && Root.Textures != null && Root.Materials != null) - { - if (m_Images == null) - { - m_Images = new Texture2D[Root.Images.Count]; - } - else - { - Assert.AreEqual(m_Images.Length, Root.Images.Count); - } - await CreateTexturesFromBuffers(Root.Images, Root.BufferViews, cancellationToken); - } - await DeferAgent.BreakPoint(); - // RedundantAssignment potentially becomes necessary when MESHOPT_IS_ENABLED is not defined // ReSharper disable once RedundantAssignment var success = true; @@ -2562,22 +2335,30 @@ async Task Prepare(CancellationToken cancellationToken) } if (!success) return success; -#if KTX_IS_ENABLED - if(m_KtxLoadContextsBuffer!=null) { - await ProcessKtxLoadContexts(cancellationToken); - } -#endif // KTX_IS_ENABLED - -#if UNITY_IMAGECONVERSION && !UNITY_6000_0_OR_NEWER - if (m_ImageCreateContexts != null) + if (m_TextureLoadTasks != null) { - await WaitForImageCreateContexts(cancellationToken); + m_Textures = new Texture2D[Root.Textures.Count]; + foreach (var textureLoadTask in m_TextureLoadTasks) + { + var result = await textureLoadTask.Value; + if (result.Texture is not null) + { + if (!result.IsYFlipped) + { + m_NonFlippedYTextureIndices ??= new HashSet(m_TextureLoadTasks.Count); + m_NonFlippedYTextureIndices.Add(textureLoadTask.Key); + } + result.Texture.name = GetObjectName(Root.Textures[textureLoadTask.Key], textureLoadTask.Key); + result.Texture.anisoLevel = m_Settings.AnisotropicFilterLevel; + m_Textures[textureLoadTask.Key] = result.Texture; + m_Resources.Add(result.Texture); + } + } } -#endif // UNITY_IMAGECONVERSION && !UNITY_6000_0_OR_NEWER - if (m_Images != null && Root.Textures != null) + if (Root.Textures != null) { - PopulateTexturesAndImageVariants(cancellationToken); + PopulateTextureVariants(cancellationToken); } if (Root.Materials != null) @@ -2862,118 +2643,71 @@ async Task GenerateMaterials(CancellationToken cancellationToken) } } - void PopulateTexturesAndImageVariants(CancellationToken cancellationToken) + void PopulateTextureVariants(CancellationToken cancellationToken) { - var defaultKey = new SamplerKey(new Sampler()); - m_Textures = new Texture2D[Root.Textures.Count]; - var imageVariants = new Dictionary[m_Images.Length]; - for (var textureIndex = 0; textureIndex < Root.Textures.Count; textureIndex++) + if (m_TextureResampleMap != null) { // TODO fix resource disposal when calling DisposeVolatileData() while jobs are queued/running // cancellationToken.ThrowIfCancellationRequestedWithTracking(); - - var txt = Root.Textures[textureIndex]; - SamplerKey key; - Sampler sampler = null; - if (txt.sampler >= 0) + foreach (var (textureIndex, originalTextureIndex) in m_TextureResampleMap) { - sampler = Root.Samplers[txt.sampler]; - key = new SamplerKey(sampler); - } - else - { - key = defaultKey; - } + var txt = Root.Textures[textureIndex]; + var originalTexture = m_Textures[originalTextureIndex]; - var imageIndex = txt.GetImageIndex(); - if (imageIndex < 0 || imageIndex >= Root.Images.Count) continue; - var img = m_Images[imageIndex]; - if (imageVariants[imageIndex] == null) - { - sampler?.Apply(img, m_Settings.DefaultMinFilterMode, m_Settings.DefaultMagFilterMode); - imageVariants[imageIndex] = new Dictionary - { - [key] = img - }; - m_Textures[textureIndex] = img; - } - else - { - if (imageVariants[imageIndex].TryGetValue(key, out var imgVariant)) + if (originalTexture is null) { - m_Textures[textureIndex] = imgVariant; + continue; } - else + if (originalTexture.isReadable) { - Texture2D newImg; - if (img.isReadable) + Sampler sampler = null; + if (Root.Samplers != null && txt.sampler >= 0 && txt.sampler < Root.Samplers.Count) { + sampler = Root.Samplers[txt.sampler]; + } + + sampler ??= new Sampler(); - newImg = UnityEngine.Object.Instantiate(img); - m_Resources.Add(newImg); + var texture = UnityEngine.Object.Instantiate(originalTexture); #if DEBUG - newImg.name = $"{img.name}_sampler{txt.sampler}"; - Logger?.Warning(LogCode.ImageMultipleSamplers,imageIndex.ToString()); + texture.name = $"{originalTexture.name}_sampler{txt.sampler}"; + Logger?.Warning(LogCode.ImageMultipleSamplers, GetImageIndexFromTexture(txt, textureIndex).ToString()); #endif - sampler?.Apply(newImg, m_Settings.DefaultMinFilterMode, m_Settings.DefaultMagFilterMode); - } - else - { - Logger?.Warning( - LogCode.TextureSamplerNotApplied, - txt.sampler >= 0 ? $"#{txt.sampler}" : "default", - textureIndex.ToString(), - imageIndex.ToString() - ); - newImg = img; - } - imageVariants[imageIndex][key] = newImg; - m_Textures[textureIndex] = newImg; + sampler.Apply(texture, m_Settings.DefaultMinFilterMode, m_Settings.DefaultMagFilterMode); + m_Resources.Add(texture); + m_Textures[textureIndex] = texture; } - } - } - } - -#if UNITY_IMAGECONVERSION && !UNITY_6000_0_OR_NEWER - async Task WaitForImageCreateContexts(CancellationToken cancellationToken) - { - var imageCreateContextsLeft = true; - while (imageCreateContextsLeft) - { - // TODO fix resource disposal when calling DisposeVolatileData() while jobs are queued/running - // cancellationToken.ThrowIfCancellationRequestedWithTracking(); - - var loadedAny = false; - for (var i = m_ImageCreateContexts.Count - 1; i >= 0; i--) - { - // TODO fix resource disposal when calling DisposeVolatileData() while jobs are queued/running - // cancellationToken.ThrowIfCancellationRequestedWithTracking(); - - var jh = m_ImageCreateContexts[i]; - if (jh.jobHandle.IsCompleted) + else { - jh.jobHandle.Complete(); - Profiler.BeginSample("Texture2D.LoadImage"); - m_Images[jh.imageIndex].LoadImage( - jh.buffer, - !LoadImageReadable(jh.imageIndex) + Logger?.Warning( + LogCode.TextureSamplerNotApplied, + txt.sampler >= 0 ? $"#{txt.sampler}" : "default", + textureIndex.ToString(), + txt.GetImageIndex().ToString() ); - Profiler.EndSample(); - jh.gcHandle.Free(); - m_ImageCreateContexts.RemoveAt(i); - loadedAny = true; - await DeferAgent.BreakPoint(); + m_Textures[textureIndex] = originalTexture; } } - imageCreateContextsLeft = m_ImageCreateContexts.Count > 0; - if (!loadedAny && imageCreateContextsLeft) + } + + if (m_TextureReuseMap != null) + { + foreach (var (textureIndex, existingTextureIndex) in m_TextureReuseMap) { - await Task.Yield(); + var originalTexture = m_Textures[existingTextureIndex]; + m_Textures[textureIndex] = originalTexture; } } - m_ImageCreateContexts = null; } -#endif // UNITY_IMAGECONVERSION && !UNITY_6000_0_OR_NEWER + + int GetImageIndexFromTexture(TextureBase txt, int textureIndex) + { + if (m_TextureImageOverrides != null && m_TextureImageOverrides.TryGetValue(textureIndex, out var mappedImageIndex)) + { + return mappedImageIndex; + } + return txt.GetImageIndex(); + } void SetMaterialPointsSupport(int materialIndex) { @@ -3086,10 +2820,27 @@ static string GetUniqueNodeName(RootBase gltf, uint index, ICollection e return name; } + async Task DisposeTextureLoadTasks() + { + if (m_TextureLoadTasks != null) + { + foreach (var textureLoadTask in m_TextureLoadTasks) + { + var result = await textureLoadTask.Value; + if (result.Texture is not null) + { + SafeDestroy(result.Texture); + } + } + + m_TextureLoadTasks = null; + } + } + /// /// Free up volatile loading resources /// - async Task DisposeVolatileData() + void DisposeVolatileData() { m_Buffers = null; m_BinChunks = null; @@ -3103,34 +2854,13 @@ async Task DisposeVolatileData() m_VolatileDisposables = null; } - if (m_DownloadTasks != null) - { - foreach (var download in m_DownloadTasks.Values) - { - if (download is not null) - { - await download; - download.Dispose(); - } - } - m_DownloadTasks = null; - } + m_BufferLoadTasks = null; m_AccessorUsage = null; -#if UNITY_IMAGECONVERSION - m_TextureDownloadTasks = null; -#if !UNITY_6000_0_OR_NEWER - m_ImageCreateContexts = null; -#endif -#endif + m_TextureLoadTasks = null; + m_TextureImageOverrides = null; - m_Images = null; - m_ImageFormats = null; -#if !UNITY_VISIONOS - m_ImageReadable = null; -#endif - m_ImageGamma = null; m_GlbBinChunk = null; m_MaterialPointsSupport = null; @@ -3149,13 +2879,7 @@ async Task DisposeVolatileData() async Task InstantiateSceneInternal(IInstantiator instantiator, int sceneId, CancellationToken cancellationToken) { - if (m_ImportInstances != null) - { - foreach (var extension in m_ImportInstances) - { - extension.Value.Inject(instantiator); - } - } + m_Addons?.ForEach(addon => addon.Inject(instantiator)); async Task IterateNodes(uint nodeIndex, uint? parentIndex, Action callback) { @@ -3460,155 +3184,11 @@ int[] GetMaterialIndices(int meshIndex, IReadOnlyList primitiveIndices) return result; } - async Task CreateTexturesFromBuffers( - IReadOnlyList srcImages, - IReadOnlyList bufferViews, - CancellationToken cancellationToken - ) - { -#if UNITY_IMAGECONVERSION && !UNITY_6000_0_OR_NEWER - m_ImageCreateContexts = new List(); -#endif - for (int i = 0; i < m_Images.Length; i++) - { - cancellationToken.ThrowIfCancellationRequestedWithTracking(); - - Profiler.BeginSample("CreateTexturesFromBuffers.ImageFormat"); - if (m_Images[i] != null) - { - m_Resources.Add(m_Images[i]); - } - var img = srcImages[i]; - ImageFormat imgFormat = m_ImageFormats[i]; - if (imgFormat == ImageFormat.Unknown) - { - imgFormat = string.IsNullOrEmpty(img.mimeType) - // Image is missing mime type - // try to determine type by file extension - ? UriHelper.GetImageFormatFromUri(img.uri) - : ImageFormatExtensions.FromMimeType(img.mimeType); - } - Profiler.EndSample(); - - if (imgFormat != ImageFormat.Unknown && img.bufferView >= 0) - { - if (imgFormat == ImageFormat.Ktx) - { -#if KTX_IS_ENABLED - Profiler.BeginSample("CreateTexturesFromBuffers.KtxLoadNativeContext"); - if(m_KtxLoadContextsBuffer==null) { - m_KtxLoadContextsBuffer = new List(); - } - var ktxContext = new KtxLoadContext( - i, ((IGltfBuffers)this).GetBufferView(img.bufferView, out _).AsNativeArrayReadOnly()); - m_KtxLoadContextsBuffer.Add(ktxContext); - Profiler.EndSample(); - await DeferAgent.BreakPoint(); -#else - Logger?.Error(LogCode.PackageMissing, "KTX for Unity", ExtensionName.TextureBasisUniversal); -#endif // KTX_IS_ENABLED - } - else - { -#if UNITY_IMAGECONVERSION - - var forceSampleLinear = m_ImageGamma != null && !m_ImageGamma[i]; - var txt = CreateEmptyTexture(img, i, forceSampleLinear); -#if UNITY_6000_0_OR_NEWER - Profiler.BeginSample("Texture2D.LoadImage"); - var data = ((IGltfBuffers)this).GetBufferView(img.bufferView, out _); - txt.LoadImage(data.AsNativeArrayReadOnly().AsReadOnlySpan(), !LoadImageReadable(i)); - Profiler.EndSample(); - await DeferAgent.BreakPoint(); -#else // UNITY_6000_0_OR_NEWER - Profiler.BeginSample("CreateTexturesFromBuffers.ExtractBuffer"); - var bufferView = bufferViews[img.bufferView]; - var buffer = GetBuffer(bufferView.buffer); - var chunk = m_BinChunks[bufferView.buffer]; - - var icc = new ImageCreateContext(); - icc.imageIndex = i; - icc.buffer = new byte[bufferView.byteLength]; - icc.gcHandle = GCHandle.Alloc(icc.buffer, GCHandleType.Pinned); - - var job = CreateMemCopyJob(bufferView, buffer, chunk, icc); - icc.jobHandle = job.Schedule(); - - m_ImageCreateContexts.Add(icc); - Profiler.EndSample(); -#endif // UNITY_6000_0_OR_NEWER - m_Images[i] = txt; - m_Resources.Add(txt); -#else // UNITY_IMAGECONVERSION - Logger?.Warning(LogCode.ImageConversionNotEnabled); -#endif // UNITY_IMAGECONVERSION - } - } - } -#if !(UNITY_IMAGECONVERSION && !UNITY_6000_0_OR_NEWER) && !KTX_IS_ENABLED - await DeferAgent.BreakPoint(); -#endif - } - -#if UNITY_IMAGECONVERSION && !UNITY_6000_0_OR_NEWER - static unsafe MemCopyJob CreateMemCopyJob( - BufferViewBase bufferView, - ReadOnlyNativeArray nativeArray, - GlbBinChunk chunk, - ImageCreateContext icc - ) - { - var job = new MemCopyJob - { - bufferSize = bufferView.byteLength, - input = (byte*)nativeArray.GetUnsafeReadOnlyPtr() + (bufferView.byteOffset + chunk.Start) - }; - fixed (void* dst = &(icc.buffer[0])) - { - job.result = dst; - } - - return job; - } -#endif // UNITY_IMAGECONVERSION && !UNITY_6000_0_OR_NEWER - - Texture2D CreateEmptyTexture(Image img, int index, bool forceSampleLinear) - { - var textureCreationFlags = TextureCreationFlags.DontUploadUponCreate | TextureCreationFlags.DontInitializePixels; - if (m_Settings.GenerateMipMaps) - { - textureCreationFlags |= TextureCreationFlags.MipChain; - } - var txt = new Texture2D( - 4, 4, - forceSampleLinear - ? GraphicsFormat.R8G8B8A8_UNorm - : GraphicsFormat.R8G8B8A8_SRGB, - textureCreationFlags - ) - { - anisoLevel = m_Settings.AnisotropicFilterLevel, - name = GetImageName(img, index) - }; - return txt; - } - - static string GetImageName(Image img, int index) + static string GetObjectName(NamedObject img, int index) { return string.IsNullOrEmpty(img.name) ? $"image_{index}" : img.name; } - bool LoadImageReadable(int imageIndex) - { -#if UNITY_VISIONOS - // PolySpatial visionOS needs to be able to access raw texture data in order to - // do the material/texture conversion. - return true; -#else - return m_Settings.TexturesReadable || m_ImageReadable[imageIndex]; -#endif - } - static void SafeDestroy(UnityEngine.Object obj) { #if UNITY_EDITOR @@ -3976,12 +3556,14 @@ out MeshPrimitiveBase[] primitives #if DRACO_IS_ENABLED if (primitives[0].IsDracoCompressed) { - generator = new DracoMeshGenerator(primitives, morphTargetNames, mesh.name, this); + generator = new DracoMeshGenerator( + primitives, morphTargetNames, mesh.name, this, this, DeferAgent, Logger); } else #endif { - generator = new MeshGenerator(primitives, subMeshes, morphTargetNames, mesh.name, this); + generator = new MeshGenerator( + primitives, subMeshes, morphTargetNames, mesh.name, this, this, DeferAgent, Logger); } var meshOrder = new MeshOrder(generator); @@ -4366,73 +3948,15 @@ public unsafe void GetAccessorSparseValues(AccessorSparseValues sparseValues, ou } } -#if KTX_IS_ENABLED - struct KtxTranscodeTaskWrapper { - public int index; - public TextureResult result; - } - - static async Task KtxLoadAndTranscode( - int index, - KtxLoadContextBase ktx, - bool linear, - bool readable, - CancellationToken cancellationToken - ) - { - return new KtxTranscodeTaskWrapper { - index = index, - result = await ktx.LoadTexture2D(linear, readable, cancellationToken) - }; - } - async Task ProcessKtxLoadContexts(CancellationToken cancellationToken) +#if UNITY_EDITOR + [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)] + static void ResetStaticsOnLoad() { - // TODO fix resource disposal when calling DisposeVolatileData() while jobs are queued/running - - var maxCount = SystemInfo.processorCount+1; - - var totalCount = m_KtxLoadContextsBuffer.Count; - var startedCount = 0; - var ktxTasks = new List>(maxCount); - - while (startedCount < totalCount || ktxTasks.Count > 0) - { - while (ktxTasks.Count < maxCount && startedCount < totalCount) - { - var ktx = m_KtxLoadContextsBuffer[startedCount]; - var forceSampleLinear = m_ImageGamma != null && !m_ImageGamma[ktx.imageIndex]; - var readable = LoadImageReadable(ktx.imageIndex); - ktxTasks.Add(KtxLoadAndTranscode(startedCount, ktx, forceSampleLinear, readable, cancellationToken)); - startedCount++; - await DeferAgent.BreakPoint(); - } - - var kTask = await Task.WhenAny(ktxTasks); - var i = kTask.Result.index; - if (kTask.Result.result.errorCode == ErrorCode.Success) { - var ktx = m_KtxLoadContextsBuffer[i]; - m_Images[ktx.imageIndex] = kTask.Result.result.texture; - if (!kTask.Result.result.orientation.IsYFlipped()) - { - m_NonFlippedYTextureIndices ??= new HashSet(); - m_NonFlippedYTextureIndices.Add(ktx.imageIndex); - } - await DeferAgent.BreakPoint(); - } - ktxTasks.Remove(kTask); - } - - m_KtxLoadContextsBuffer.Clear(); + // Reset static state + s_DefaultDeferAgent = null; + s_MeshComparer = new (); } -#endif // KTX_IS_ENABLED - -#if UNITY_EDITOR - /// - /// Returns true if this import is for an asset, in contrast to - /// runtime loading. - /// - static bool IsEditorImport => !EditorApplication.isPlaying; #endif // UNITY_EDITOR } } diff --git a/Runtime/Scripts/IDefaultImageFormatLoader.cs b/Runtime/Scripts/IDefaultImageFormatLoader.cs new file mode 100644 index 000000000..b26e7e7ea --- /dev/null +++ b/Runtime/Scripts/IDefaultImageFormatLoader.cs @@ -0,0 +1,42 @@ +// SPDX-FileCopyrightText: 2026 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +using GLTFast.Schema; + +namespace GLTFast +{ + /// + /// Texture image loader that is able to load glTF core specification image formats (PNG and/or JPEG). + /// Can be used to override the default loading (performed by the ImageConversion module). + /// To add support for texture extensions that add support for an image format that's not in the glTF specification + /// (i.e. that override the image source) use instead. + /// + public interface IDefaultImageFormatLoader : ITextureImageLoader + { + /// + /// Determines if this loader can load the image format + /// detected from glTF JSON clues (mimeType and URI file extension). + /// + /// Source image format. + /// True if the implementation is able to load the given format, false otherwise. + bool IsAbleToLoad(ImageFormat format); + + /// + /// Determines if this loader can load the given texture, and if so, return the corresponding image index. + /// In context of this *SHOULD* always return false, + /// otherwise it might block other implementations from loading textures + /// unknown to this one. Use directly if you want to implement support for + /// a glTF texture extension. + /// + /// glTF texture. + /// Corresponding, potentially updated glTF image index. + /// True if the texture image loader supports loading that texture, false otherwise. + /// + bool ITextureImageLoader.IsAbleToLoad(TextureBase texture, out int imageIndex) + { + imageIndex = -1; + return false; + } + } +} diff --git a/Runtime/Scripts/IDefaultImageFormatLoader.cs.meta b/Runtime/Scripts/IDefaultImageFormatLoader.cs.meta new file mode 100644 index 000000000..ef84c9bbb --- /dev/null +++ b/Runtime/Scripts/IDefaultImageFormatLoader.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ff9526918ad44d09bf31bf28991e0a64 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/ITextureImageLoader.cs b/Runtime/Scripts/ITextureImageLoader.cs new file mode 100644 index 000000000..8aac30990 --- /dev/null +++ b/Runtime/Scripts/ITextureImageLoader.cs @@ -0,0 +1,56 @@ +// SPDX-FileCopyrightText: 2026 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +using System.Threading; +using System.Threading.Tasks; +using GLTFast.Schema; +using Unity.Collections; +using UnityEngine; + +namespace GLTFast +{ + /// + /// Creates a from raw, usually compressed image data. + /// + public interface ITextureImageLoader + { + /// + /// Creates an image from the input data. + /// + /// Raw, compressed image data. + /// If true, the texture being created is in linear space. If false, it is in sRGB space. + /// If true, the resulting texture should remain readable (). + /// If true, mipmap levels should get generated. + /// Token to submit cancellation requests. The default value is None. + /// An image texture result + Task LoadImage( + NativeArray.ReadOnly data, + bool linear, + bool readable, + bool generateMipMaps, + CancellationToken cancellationToken + ); + + /// + /// Determines if this loader can load the given texture, and if so, returns the corresponding image index. + /// The typical use-case is a glTF texture extension that adds support for a new image format, + /// e.g. EXT_texture_webp. + /// The loader may also update the image index to point to a different image, e.g. if the extension adds support + /// for a new image format that is stored in a different image than the one referenced by the texture. + /// + /// glTF texture. + /// Corresponding, potentially updated glTF image index. + /// True if the texture image loader supports loading that texture, false otherwise. + bool IsAbleToLoad(TextureBase texture, out int imageIndex); + + /// + /// Implement this to support content-based image format detection. + /// This is optional, but fixes loading of glTF images + /// where the type could not be derived from the mime type or file extension. + /// + /// Image data. + /// True if the image loader supports loading that data, false otherwise. + bool IsAbleToLoad(ReadOnlySpan data) => false; + } +} diff --git a/Runtime/Scripts/ITextureImageLoader.cs.meta b/Runtime/Scripts/ITextureImageLoader.cs.meta new file mode 100644 index 000000000..5bd77d671 --- /dev/null +++ b/Runtime/Scripts/ITextureImageLoader.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 268f33ff6c85b4918a334de4b754d9c3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/ImageConversionImageLoader.cs b/Runtime/Scripts/ImageConversionImageLoader.cs new file mode 100644 index 000000000..1b93c1951 --- /dev/null +++ b/Runtime/Scripts/ImageConversionImageLoader.cs @@ -0,0 +1,185 @@ +// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +#if UNITY_IMAGECONVERSION + +using System; +using System.Threading; +using System.Threading.Tasks; +using GLTFast.Logging; +using Unity.Collections; +using UnityEditor; +using UnityEngine; +using UnityEngine.Experimental.Rendering; +using UnityEngine.Profiling; + +#if UNITY_6000_0_OR_NEWER +using GLTFast.Loading; +#else +using System.Runtime.InteropServices; +using GLTFast.Jobs; +using GLTFast.Loading; +using Unity.Collections.LowLevel.Unsafe; +using Unity.Jobs; +#endif + +namespace GLTFast { + static class ImageConversionImageLoader { + + public static async Task LoadAsync( + ImportContext context, + Uri uri, + bool readable, + CancellationToken cancellationToken + ) + { + using var download = await context.DownloadProvider.RequestTexture(uri,!readable); + if (download == null) + { + context.Logger?.Error(LogCode.TextureDownloadFailed, "?", uri.ToString()); + return ImageResult.Null; + } + + if(cancellationToken.IsCancellationRequested) + return ImageResult.Null; + + if (download.Success) + { + while (context.DeferAgent.ShouldDefer()) + await Task.Yield(); + Profiler.BeginSample("ITextureDownload.Texture"); + var texture = download.Texture; + Profiler.EndSample(); + return new ImageResult(texture); + } + + context.Logger?.Error(LogCode.TextureDownloadFailed, download.Error, uri.ToString()); + return ImageResult.Null; + } + + public static async Task LoadAsync( + ImportContext context, + ImportSettings settings, + NativeArray.ReadOnly data, + bool linear, + bool readable, + CancellationToken cancellationToken + ) + { +#if !UNITY_6000_0_OR_NEWER + var managedData = new byte[data.Length]; + var gcHandle = GCHandle.Alloc(managedData, GCHandleType.Pinned); + var job = CreateMemCopyJob(data, gcHandle); + var jobHandle = job.Schedule(); + while(!jobHandle.IsCompleted) + { + await Task.Yield(); + } + jobHandle.Complete(); + gcHandle.Free(); + if(cancellationToken.IsCancellationRequested) + return ImageResult.Null; +#endif + while (context.DeferAgent.ShouldDefer()) + { + if(cancellationToken.IsCancellationRequested) + return ImageResult.Null; + await Task.Yield(); + } + + Profiler.BeginSample("ImageConversionLoadContext.LoadTexture2D"); + // TODO: Investigate alternative: native texture creation in worker thread + var texture = CreateEmptyTexture( + linear, + settings.GenerateMipMaps, + settings.AnisotropicFilterLevel + ); + texture.LoadImage( +#if UNITY_6000_0_OR_NEWER + data.AsReadOnlySpan(), +#else + managedData, +#endif + !readable + ); + Profiler.EndSample(); + return new ImageResult(texture); + } + + static Texture2D CreateEmptyTexture( + bool forceSampleLinear, + bool generateMipMaps, + int anisotropicFilterLevel + ) + { + var textureCreationFlags = TextureCreationFlags.DontUploadUponCreate | TextureCreationFlags.DontInitializePixels; + if (generateMipMaps) + { + textureCreationFlags |= TextureCreationFlags.MipChain; + } + var txt = new Texture2D( + 4, 4, + forceSampleLinear + ? GraphicsFormat.R8G8B8A8_UNorm + : GraphicsFormat.R8G8B8A8_SRGB, + textureCreationFlags + ) + { + anisoLevel = anisotropicFilterLevel + }; + return txt; + } + +#if !UNITY_6000_0_OR_NEWER + static unsafe MemCopyJob CreateMemCopyJob( + NativeArray.ReadOnly data, + GCHandle gcHandle + ) + { + var job = new MemCopyJob + { + bufferSize = data.Length, + input = (byte*)data.GetUnsafeReadOnlyPtr(), + result = (void*)gcHandle.AddrOfPinnedObject() + }; + + return job; + } +#endif // !UNITY_6000_0_OR_NEWER + + /// + /// UnityWebRequestTexture always loads Jpegs/PNGs in sRGB color space + /// without mipmaps. This method figures if this is not desired and the + /// texture data needs to be loaded from raw bytes. + /// + /// True if image texture had to be loaded manually from bytes, false otherwise. + internal static bool LoadImageFromBytes( + bool forceSampleLinear, + bool generateMipMaps + ) + { + +#if UNITY_EDITOR + if (IsEditorImport) { + // Use the original texture at Editor (asset database) import + return false; + } +#endif +#if UNITY_WEBREQUEST_TEXTURE + return forceSampleLinear || generateMipMaps; +#else + return true; +#endif + } + +#if UNITY_EDITOR + /// + /// Returns true if this import is for an asset, in contrast to + /// runtime loading. + /// + static bool IsEditorImport => !EditorApplication.isPlaying; +#endif // UNITY_EDITOR + } +} + +#endif // UNITY_IMAGECONVERSION diff --git a/Runtime/Scripts/ImageConversionImageLoader.cs.meta b/Runtime/Scripts/ImageConversionImageLoader.cs.meta new file mode 100644 index 000000000..397fd713d --- /dev/null +++ b/Runtime/Scripts/ImageConversionImageLoader.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 9c1c94d4f1a844e94acc63fffcf517dc +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/ImageCreateContext.cs b/Runtime/Scripts/ImageCreateContext.cs deleted file mode 100644 index 772b9a560..000000000 --- a/Runtime/Scripts/ImageCreateContext.cs +++ /dev/null @@ -1,21 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -#if UNITY_IMAGECONVERSION && !UNITY_6000_0_OR_NEWER - -using System.Runtime.InteropServices; -using Unity.Jobs; - -namespace GLTFast -{ - - struct ImageCreateContext - { - public int imageIndex; - public byte[] buffer; - public GCHandle gcHandle; - public JobHandle jobHandle; - } -} - -#endif diff --git a/Runtime/Scripts/ImageFormat.cs b/Runtime/Scripts/ImageFormat.cs index 61820f646..0894037e8 100644 --- a/Runtime/Scripts/ImageFormat.cs +++ b/Runtime/Scripts/ImageFormat.cs @@ -5,12 +5,21 @@ namespace GLTFast { - enum ImageFormat + /// + /// Image format. + /// + public enum ImageFormat { + /// Unknown image format Unknown, - PNG, + /// Portable Network Graphics + Png, + /// JPEG File Interchange Format Jpeg, + /// KTX 2.0 GPU Texture Container Format Ktx, + /// WebP + /// WebP } } diff --git a/Runtime/Scripts/ImageFormatDetection.cs b/Runtime/Scripts/ImageFormatDetection.cs new file mode 100644 index 000000000..53064c354 --- /dev/null +++ b/Runtime/Scripts/ImageFormatDetection.cs @@ -0,0 +1,79 @@ +// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +using UnityEngine; + +namespace GLTFast +{ + /// + /// Methods for detecting image formats from byte data. + /// + public static class ImageFormatDetection + { + static readonly byte[] k_PNGHeader = { 0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A }; + static readonly byte[] k_JpegHeader = { 0xff, 0xd8, 0xff }; + static readonly byte[] k_KtxHeaderPart1 = { 0xAB, 0x4B, 0x54, 0x58, 0x20 }; + static readonly byte[] k_KtxHeaderPart2 = { 0xBB, 0x0D, 0x0A, 0x1A, 0x0A }; + static readonly byte[] k_WebPHeaderPart1 = { 0x52, 0x49, 0x46, 0x46 }; + static readonly byte[] k_WebPHeaderPart2 = { 0x57, 0x45, 0x42, 0x50 }; + + /// + /// Determines if the data is in PNG or Jpeg format. + /// + /// Image data. Can be the first 8 bytes only. + /// True if the data is PNG or Jpeg, false otherwise. + public static bool IsPngOrJpeg(ReadOnlySpan data) + { + return IsPng(data) || IsJpeg(data); + } + + /// + /// Determines if the data is in PNG format. + /// + /// Image data. Can be the first 8 bytes only. + /// True if the data is PNG, false otherwise. + public static bool IsPng(ReadOnlySpan data) + { + return data.StartsWith(k_PNGHeader); + } + + /// + /// Determines if the data is in Jpeg format. + /// + /// Image data. Can be the first 3 bytes only. + /// True if the data is Jpeg, false otherwise. + public static bool IsJpeg(ReadOnlySpan data) + { + return data.StartsWith(k_JpegHeader); + } + + /// + /// Determines if the data is in KTX format. + /// + /// Image data. Can be the first 12 bytes only. + /// True if the data is KTX, false otherwise. + public static bool IsKtx(ReadOnlySpan data) + { + // Header is + // "«KTX XX»\r\n\x1A\n" + // where XX is the version number, e.g., "20" for KTX2 + return data.Length >= 12 + && data[..5].SequenceEqual(k_KtxHeaderPart1) + && data.Slice(7, 5).SequenceEqual(k_KtxHeaderPart2); + } + + /// + /// Determines if the data is in WebP format. + /// + /// Image data. Can be the first 12 bytes only. + /// True if the data is WebP, false otherwise. + public static bool IsWebP(ReadOnlySpan data) + { + // Header is "RIFF????WEBP" where ? is the file size. + return data.Length >= 12 + && data[..4].SequenceEqual(k_WebPHeaderPart1) + && data.Slice(8, 4).SequenceEqual(k_WebPHeaderPart2); + } + } +} diff --git a/Runtime/Scripts/ImageFormatDetection.cs.meta b/Runtime/Scripts/ImageFormatDetection.cs.meta new file mode 100644 index 000000000..ff398eedf --- /dev/null +++ b/Runtime/Scripts/ImageFormatDetection.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: e07adbd466fd2475aa432ccd167a9919 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/ImageFormatExtensions.cs b/Runtime/Scripts/ImageFormatExtensions.cs index 1f409f7d0..289129594 100644 --- a/Runtime/Scripts/ImageFormatExtensions.cs +++ b/Runtime/Scripts/ImageFormatExtensions.cs @@ -16,7 +16,7 @@ public static ImageFormat FromMimeType(ReadOnlySpan mimeType) if (subType.SequenceEqual("jpeg")) return ImageFormat.Jpeg; if (subType.SequenceEqual("png")) - return ImageFormat.PNG; + return ImageFormat.Png; if (subType.SequenceEqual("ktx") || subType.SequenceEqual("ktx2")) return ImageFormat.Ktx; if (subType.SequenceEqual("webp")) diff --git a/Runtime/Scripts/ImageImport.cs b/Runtime/Scripts/ImageImport.cs new file mode 100644 index 000000000..5f236ff6b --- /dev/null +++ b/Runtime/Scripts/ImageImport.cs @@ -0,0 +1,148 @@ +// SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +using System.Collections.Generic; +using System.IO; +using System.Threading; +using System.Threading.Tasks; +using GLTFast.Addons; +using GLTFast.Loading; +using GLTFast.Logging; +using UnityEngine; + +namespace GLTFast +{ + static class ImageImport + { + internal static async Task LoadImageAsync( + ImportContext context, + ImportSettings settings, + int imageIndex, + bool linear, + bool readable, + bool generateMipMaps, + Task dataTask, + ImportAddonInstanceCollection addons, + CancellationToken cancellationToken + ) + { + using var data = await dataTask; + if (data == null) + { + return ImageResult.Null; + } + + while (context.DeferAgent.ShouldDefer()) + { + cancellationToken.ThrowIfCancellationRequestedWithTracking(); + await Task.Yield(); + } + + var task = addons + ?.First(addon => addon.IsAbleToLoad(data.Data.AsReadOnlySpan())) + ?.LoadImage( + data.Data, + linear, + readable, + generateMipMaps, + cancellationToken); + if (task != null) + { + return await task; + } + + if (ImageFormatDetection.IsPngOrJpeg(data.Data.AsReadOnlySpan())) + { +#if UNITY_IMAGECONVERSION + return await ImageConversionImageLoader.LoadAsync( + context, settings, data.Data, linear, readable, cancellationToken); +#else + context.Logger?.Error(LogCode.ImageConversionNotEnabled); + return ImageResult.Null; +#endif + } + + if (ImageFormatDetection.IsKtx(data.Data.AsReadOnlySpan())) + { +#if KTX_IS_RECENT + var result = await KtxImageLoader.LoadAsync( + context, settings, data.Data, linear, readable, cancellationToken); + return result; +#else + context.Logger?.Error( + LogCode.PackageMissing, "KTX for Unity", ExtensionName.TextureBasisUniversal); + return ImageResult.Null; +#endif // KTX_IS_RECENT + } + + if (ImageFormatDetection.IsWebP(data.Data.AsReadOnlySpan())) + { + context.Logger?.Error( + LogCode.ImageFormatUnsupported, + imageIndex.ToString(), + nameof(ImageFormat.WebP) + ); + return ImageResult.Null; + } + + context.Logger?.Error( + LogCode.ImageFormatUnknown, + imageIndex.ToString()); + return ImageResult.Null; + } + + internal static async Task LoadImageAsync( + Task dataTask, + bool linear, + bool readable, + bool generateMipMaps, + CancellationToken cancellationToken, + ITextureImageLoader loader, + IDeferAgent deferAgent + ) + { + using var data = await dataTask; + if (data == null || !data.Data.IsCreated || data.Data.Length == 0) + { + return ImageResult.Null; + } + while (deferAgent.ShouldDefer()) + { + cancellationToken.ThrowIfCancellationRequestedWithTracking(); + await Task.Yield(); + } + return await loader.LoadImage(data.Data, linear, readable, generateMipMaps, cancellationToken); + } + + internal static async Task LoadDataAsync( + ImportContext context, + Uri uri, + CancellationToken cancellationToken + ) + { + var download = await context.DownloadProvider.Request(uri); + if (download == null) + { + context.Logger?.Error(LogCode.TextureDownloadFailed, "?", uri.ToString()); + return null; + } + + if (cancellationToken.IsCancellationRequested) + return null; + + if (download.Success) + { + if (download is INativeDownload nativeDownload) + { + return new ReadOnlyData(nativeDownload.NativeData, download); + } + var data = new ReadOnlyNativeArrayFromManagedArray(download.Data); + return new ReadOnlyData(data.Array.AsNativeArrayReadOnly(), data); + } + + context.Logger?.Error(LogCode.TextureDownloadFailed, download.Error, uri.ToString()); + return null; + } + } +} diff --git a/Runtime/Scripts/KtxLoadContextBase.cs.meta b/Runtime/Scripts/ImageImport.cs.meta similarity index 100% rename from Runtime/Scripts/KtxLoadContextBase.cs.meta rename to Runtime/Scripts/ImageImport.cs.meta diff --git a/Runtime/Scripts/ImageResult.cs b/Runtime/Scripts/ImageResult.cs new file mode 100644 index 000000000..45c2ad48d --- /dev/null +++ b/Runtime/Scripts/ImageResult.cs @@ -0,0 +1,40 @@ +// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +using UnityEngine; + +namespace GLTFast +{ + /// + /// Imported glTF image containing a and metadata. + /// + public struct ImageResult + { + /// + /// Imported texture. + /// + public Texture2D Texture { get; } + + /// + /// If true, the image is flipped vertically. + /// + public bool IsYFlipped { get; } + + /// + /// Empty image. Indicates a failed load. + /// + public static ImageResult Null => new(null); + + /// + /// Default Image constructor. + /// + /// Imported texture. + /// Must be true if texture is flipped vertically. + public ImageResult(Texture2D texture, bool isYFlipped = false) + { + Texture = texture; + IsYFlipped = isYFlipped; + } + } +} diff --git a/Runtime/Scripts/ImageResult.cs.meta b/Runtime/Scripts/ImageResult.cs.meta new file mode 100644 index 000000000..9314f9a51 --- /dev/null +++ b/Runtime/Scripts/ImageResult.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 42b7f109da0748c18419f9e732d519e3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/ImportAddons/ImportAddonInstanceCollection.cs b/Runtime/Scripts/ImportAddons/ImportAddonInstanceCollection.cs new file mode 100644 index 000000000..c968d01f9 --- /dev/null +++ b/Runtime/Scripts/ImportAddons/ImportAddonInstanceCollection.cs @@ -0,0 +1,128 @@ +// SPDX-FileCopyrightText: 2026 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +using System.Collections.Generic; + +namespace GLTFast.Addons +{ + sealed class ImportAddonInstanceCollection : IDisposable + { + public delegate bool TryCreateResult + (TAddon addon, TInput input, out TResult result); + + readonly List m_Addons = new(); + + public void Add(T importInstance) where T : ImportAddonInstance + { + m_Addons.Add(importInstance); + } + + public T Get() where T : ImportAddonInstance + { + foreach (var addon in m_Addons) + { + if (addon is T typedAddon) + { + return typedAddon; + } + } + + return null; + } + + public T First(Func predicate) + { + foreach (var instance in m_Addons) + { + if (instance is T target && predicate(target)) + { + return target; + } + } + + return default; + } + + public void ForEach(Action action) + { + foreach (var instance in m_Addons) + { + action(instance); + } + } + + public bool TryGet( + TInput input, + TryCreateResult action, + out TResult result + ) + { + foreach (var instance in m_Addons) + { + if (instance is TAddon typedInstance && action(typedInstance, input, out result)) + { + return true; + } + } + + result = default; + return false; + } + + public void ForEachTryGet( + IReadOnlyList list, + TryCreateResult predicate, + Action resultAction + ) + { + List addons = null; + foreach (var instance in m_Addons) + { + if (instance is TAddon addon) + { + addons ??= new List(); + addons.Add(addon); + } + } + + if (addons != null) + { + for (var i = 0; i < list.Count; i++) + { + var element = list[i]; + foreach (var addon in addons) + { + if (predicate(addon, element, out var result)) + { + resultAction(addon, i, result); + break; + } + } + } + } + } + + public bool AnySupportsGltfExtension(string extensionName) + { + foreach (var instance in m_Addons) + { + if (instance.SupportsGltfExtension(extensionName)) + { + return true; + } + } + + return false; + } + + public void Dispose() + { + foreach (var importInstance in m_Addons) + { + importInstance.Dispose(); + } + m_Addons.Clear(); + } + } +} diff --git a/Runtime/Scripts/ImportAddons/ImportAddonInstanceCollection.cs.meta b/Runtime/Scripts/ImportAddons/ImportAddonInstanceCollection.cs.meta new file mode 100644 index 000000000..a8437d1a3 --- /dev/null +++ b/Runtime/Scripts/ImportAddons/ImportAddonInstanceCollection.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 753ee089bb994440a8f934ecfc46e238 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/ImportAddons/ImportAddonRegistry.cs b/Runtime/Scripts/ImportAddons/ImportAddonRegistry.cs index 76f2718bb..1f7a919da 100644 --- a/Runtime/Scripts/ImportAddons/ImportAddonRegistry.cs +++ b/Runtime/Scripts/ImportAddons/ImportAddonRegistry.cs @@ -2,6 +2,7 @@ // SPDX-License-Identifier: Apache-2.0 using System.Collections.Generic; +using UnityEngine; namespace GLTFast.Addons { @@ -48,5 +49,14 @@ static void CertifyDefaultAddonsRegistered() // TODO: Investigate if add-ons can be auto-registered via reflection } } + +#if UNITY_EDITOR + [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)] + static void ResetStaticsOnLoad() + { + // Reset static state + s_Addons = null; + } +#endif } } diff --git a/Runtime/Scripts/Jobs.cs b/Runtime/Scripts/Jobs.cs index 792997c4d..b90b2d841 100644 --- a/Runtime/Scripts/Jobs.cs +++ b/Runtime/Scripts/Jobs.cs @@ -2,7 +2,6 @@ // SPDX-License-Identifier: Apache-2.0 using System; -using AOT; using GLTFast.Vertex; using UnityEngine; using Unity.Collections; @@ -14,287 +13,6 @@ namespace GLTFast.Jobs { - - using Schema; - - [BurstCompile] - static unsafe class CachedFunction - { - - public delegate int GetIndexDelegate(void* baseAddress, int index); - public delegate void GetFloat3Delegate(float3* destination, void* src); - - // Cached function pointers - static FunctionPointer s_GetIndexValueInt8Method; - static FunctionPointer s_GetIndexValueUInt8Method; - static FunctionPointer s_GetIndexValueInt16Method; - static FunctionPointer s_GetIndexValueUInt16Method; - static FunctionPointer s_GetIndexValueUInt32Method; - - - static FunctionPointer s_GetFloat3FloatMethod; - static FunctionPointer s_GetFloat3Int8Method; - static FunctionPointer s_GetFloat3UInt8Method; - static FunctionPointer s_GetFloat3Int16Method; - static FunctionPointer s_GetFloat3UInt16Method; - static FunctionPointer s_GetFloat3UInt32Method; - static FunctionPointer s_GetFloat3Int8NormalizedMethod; - static FunctionPointer s_GetFloat3UInt8NormalizedMethod; - static FunctionPointer s_GetFloat3Int16NormalizedMethod; - static FunctionPointer s_GetFloat3UInt16NormalizedMethod; - static FunctionPointer s_GetFloat3UInt32NormalizedMethod; - - /// - /// Returns Burst compatible function that retrieves an index value - /// - /// Data type of index - /// Burst Function Pointer to correct conversion function - /// - public static FunctionPointer GetIndexConverter(GltfComponentType format) - { - switch (format) - { - case GltfComponentType.UnsignedByte: - if (!s_GetIndexValueUInt8Method.IsCreated) - { - s_GetIndexValueUInt8Method = BurstCompiler.CompileFunctionPointer(GetIndexValueUInt8); - } - return s_GetIndexValueUInt8Method; - case GltfComponentType.Byte: - if (!s_GetIndexValueInt8Method.IsCreated) - { - s_GetIndexValueInt8Method = BurstCompiler.CompileFunctionPointer(GetIndexValueInt8); - } - return s_GetIndexValueInt8Method; - case GltfComponentType.UnsignedShort: - if (!s_GetIndexValueUInt16Method.IsCreated) - { - s_GetIndexValueUInt16Method = BurstCompiler.CompileFunctionPointer(GetIndexValueUInt16); - } - return s_GetIndexValueUInt16Method; - case GltfComponentType.Short: - if (!s_GetIndexValueInt16Method.IsCreated) - { - s_GetIndexValueInt16Method = BurstCompiler.CompileFunctionPointer(GetIndexValueInt16); - } - return s_GetIndexValueInt16Method; - case GltfComponentType.UnsignedInt: - if (!s_GetIndexValueUInt32Method.IsCreated) - { - s_GetIndexValueUInt32Method = BurstCompiler.CompileFunctionPointer(GetIndexValueUInt32); - } - return s_GetIndexValueUInt32Method; - default: - throw new ArgumentOutOfRangeException(nameof(format), format, null); - } - } - - public static FunctionPointer GetPositionConverter( - GltfComponentType format, - bool normalized - ) - { - if (normalized) - { - switch (format) - { - case GltfComponentType.Float: - // Floats cannot be normalized. - // Fall back to non-normalized below - break; - case GltfComponentType.Byte: - if (!s_GetFloat3Int8NormalizedMethod.IsCreated) - { - s_GetFloat3Int8NormalizedMethod = BurstCompiler.CompileFunctionPointer(GetFloat3Int8Normalized); - } - return s_GetFloat3Int8NormalizedMethod; - case GltfComponentType.UnsignedByte: - if (!s_GetFloat3UInt8NormalizedMethod.IsCreated) - { - s_GetFloat3UInt8NormalizedMethod = BurstCompiler.CompileFunctionPointer(GetFloat3UInt8Normalized); - } - return s_GetFloat3UInt8NormalizedMethod; - case GltfComponentType.Short: - if (!s_GetFloat3Int16NormalizedMethod.IsCreated) - { - s_GetFloat3Int16NormalizedMethod = BurstCompiler.CompileFunctionPointer(GetFloat3Int16Normalized); - } - return s_GetFloat3Int16NormalizedMethod; - case GltfComponentType.UnsignedShort: - if (!s_GetFloat3UInt16NormalizedMethod.IsCreated) - { - s_GetFloat3UInt16NormalizedMethod = BurstCompiler.CompileFunctionPointer(GetFloat3UInt16Normalized); - } - return s_GetFloat3UInt16NormalizedMethod; - case GltfComponentType.UnsignedInt: - if (!s_GetFloat3UInt32NormalizedMethod.IsCreated) - { - s_GetFloat3UInt32NormalizedMethod = BurstCompiler.CompileFunctionPointer(GetFloat3UInt32Normalized); - } - return s_GetFloat3UInt32NormalizedMethod; - } - } - switch (format) - { - case GltfComponentType.Float: - if (!s_GetFloat3FloatMethod.IsCreated) - { - s_GetFloat3FloatMethod = BurstCompiler.CompileFunctionPointer(GetFloat3Float); - } - return s_GetFloat3FloatMethod; - case GltfComponentType.Byte: - if (!s_GetFloat3Int8Method.IsCreated) - { - s_GetFloat3Int8Method = BurstCompiler.CompileFunctionPointer(GetFloat3Int8); - } - return s_GetFloat3Int8Method; - case GltfComponentType.UnsignedByte: - if (!s_GetFloat3UInt8Method.IsCreated) - { - s_GetFloat3UInt8Method = BurstCompiler.CompileFunctionPointer(GetFloat3UInt8); - } - return s_GetFloat3UInt8Method; - case GltfComponentType.Short: - if (!s_GetFloat3Int16Method.IsCreated) - { - s_GetFloat3Int16Method = BurstCompiler.CompileFunctionPointer(GetFloat3Int16); - } - return s_GetFloat3Int16Method; - case GltfComponentType.UnsignedShort: - if (!s_GetFloat3UInt16Method.IsCreated) - { - s_GetFloat3UInt16Method = BurstCompiler.CompileFunctionPointer(GetFloat3UInt16); - } - return s_GetFloat3UInt16Method; - case GltfComponentType.UnsignedInt: - if (!s_GetFloat3UInt32Method.IsCreated) - { - s_GetFloat3UInt32Method = BurstCompiler.CompileFunctionPointer(GetFloat3UInt32); - } - return s_GetFloat3UInt32Method; - } - throw new ArgumentOutOfRangeException(nameof(format), format, null); - } - - [BurstCompile, MonoPInvokeCallback(typeof(GetIndexDelegate))] - static int GetIndexValueUInt8(void* baseAddress, int index) - { - return *((byte*)baseAddress + index); - } - - [BurstCompile, MonoPInvokeCallback(typeof(GetIndexDelegate))] - static int GetIndexValueInt8(void* baseAddress, int index) - { - return *(((sbyte*)baseAddress) + index); - } - - [BurstCompile, MonoPInvokeCallback(typeof(GetIndexDelegate))] - static int GetIndexValueUInt16(void* baseAddress, int index) - { - return *(((ushort*)baseAddress) + index); - } - - [BurstCompile, MonoPInvokeCallback(typeof(GetIndexDelegate))] - static int GetIndexValueInt16(void* baseAddress, int index) - { - return *(((short*)baseAddress) + index); - } - - [BurstCompile, MonoPInvokeCallback(typeof(GetIndexDelegate))] - static int GetIndexValueUInt32(void* baseAddress, int index) - { - return (int)*(((uint*)baseAddress) + index); - } - - [BurstCompile, MonoPInvokeCallback(typeof(GetFloat3Delegate))] - static void GetFloat3Float(float3* destination, void* src) - { - destination->x = -*(float*)src; - destination->y = *((float*)src + 1); - destination->z = *((float*)src + 2); - } - - [BurstCompile, MonoPInvokeCallback(typeof(GetFloat3Delegate))] - static void GetFloat3Int8(float3* destination, void* src) - { - destination->x = -*(sbyte*)src; - destination->y = *((sbyte*)src + 1); - destination->z = *((sbyte*)src + 2); - } - - [BurstCompile, MonoPInvokeCallback(typeof(GetFloat3Delegate))] - static void GetFloat3UInt8(float3* destination, void* src) - { - destination->x = -*(byte*)src; - destination->y = *((byte*)src + 1); - destination->z = *((byte*)src + 2); - } - - [BurstCompile, MonoPInvokeCallback(typeof(GetFloat3Delegate))] - static void GetFloat3Int16(float3* destination, void* src) - { - destination->x = -*(short*)src; - destination->y = *((short*)src + 1); - destination->z = *((short*)src + 2); - } - - [BurstCompile, MonoPInvokeCallback(typeof(GetFloat3Delegate))] - static void GetFloat3UInt16(float3* destination, void* src) - { - destination->x = -*(ushort*)src; - destination->y = *((ushort*)src + 1); - destination->z = *((ushort*)src + 2); - } - - [BurstCompile, MonoPInvokeCallback(typeof(GetFloat3Delegate))] - static void GetFloat3UInt32(float3* destination, void* src) - { - destination->x = -*(uint*)src; - destination->y = *((uint*)src + 1); - destination->z = *((uint*)src + 2); - } - - [BurstCompile, MonoPInvokeCallback(typeof(GetFloat3Delegate))] - static void GetFloat3Int8Normalized(float3* destination, void* src) - { - destination->x = -max(*(sbyte*)src / 127f, -1); - destination->y = max(*((sbyte*)src + 1) / 127f, -1); - destination->z = max(*((sbyte*)src + 2) / 127f, -1); - } - - [BurstCompile, MonoPInvokeCallback(typeof(GetFloat3Delegate))] - static void GetFloat3UInt8Normalized(float3* destination, void* src) - { - destination->x = -*(byte*)src / 255f; - destination->y = *((byte*)src + 1) / 255f; - destination->z = *((byte*)src + 2) / 255f; - } - - [BurstCompile, MonoPInvokeCallback(typeof(GetFloat3Delegate))] - static void GetFloat3Int16Normalized(float3* destination, void* src) - { - destination->x = -max(*(short*)src / (float)short.MaxValue, -1f); - destination->y = max(*((short*)src + 1) / (float)short.MaxValue, -1f); - destination->z = max(*((short*)src + 2) / (float)short.MaxValue, -1f); - } - - [BurstCompile, MonoPInvokeCallback(typeof(GetFloat3Delegate))] - static void GetFloat3UInt16Normalized(float3* destination, void* src) - { - destination->x = -*(ushort*)src / (float)ushort.MaxValue; - destination->y = *((ushort*)src + 1) / (float)ushort.MaxValue; - destination->z = *((ushort*)src + 2) / (float)ushort.MaxValue; - } - - [BurstCompile, MonoPInvokeCallback(typeof(GetFloat3Delegate))] - static void GetFloat3UInt32Normalized(float3* destination, void* src) - { - destination->x = -*(uint*)src / (float)uint.MaxValue; - destination->y = *((uint*)src + 1) / (float)uint.MaxValue; - destination->z = *((uint*)src + 2) / (float)uint.MaxValue; - } - } - [BurstCompile] struct CreateIndicesUInt16Job : IJobParallelFor { diff --git a/Runtime/Scripts/KtxImageLoader.cs b/Runtime/Scripts/KtxImageLoader.cs new file mode 100644 index 000000000..4c8a8e88d --- /dev/null +++ b/Runtime/Scripts/KtxImageLoader.cs @@ -0,0 +1,53 @@ +// SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +#if KTX_IS_RECENT +#define KTX_IS_ENABLED +#endif + +#if KTX_IS_ENABLED + +using System; +using System.Threading; +using System.Threading.Tasks; +using GLTFast.Logging; +using KtxUnity; +using Unity.Collections; +using UnityEngine; + +namespace GLTFast { + static class KtxImageLoader { + + public static async Task LoadAsync( + ImportContext context, + ImportSettings settings, + NativeArray.ReadOnly data, + bool linear, + bool readable, + CancellationToken cancellationToken + ) + { + var ktx = new KtxTexture(); + var errorCode = ktx.Open(data); + if (errorCode != ErrorCode.Success) { + context.Logger?.Error(LogCode.EmbedImageLoadFailed); + ktx.Dispose(); + return default; + } + + // TODO implement cancellation in KTX package + var result = await ktx.LoadTexture2D(linear, readable); + + if (result.errorCode == ErrorCode.Success) + { + if (settings.GenerateMipMaps && result.texture.mipmapCount <= 1) + { + Debug.LogWarning("KTX texture does not contain mipmaps."); + } + } + ktx.Dispose(); + return new ImageResult(result.texture, result.orientation.IsYFlipped()); + } + } +} +#endif // KTX_IS_ENABLED diff --git a/Runtime/Scripts/KtxLoadContext.cs.meta b/Runtime/Scripts/KtxImageLoader.cs.meta similarity index 100% rename from Runtime/Scripts/KtxLoadContext.cs.meta rename to Runtime/Scripts/KtxImageLoader.cs.meta diff --git a/Runtime/Scripts/KtxLoadContext.cs b/Runtime/Scripts/KtxLoadContext.cs deleted file mode 100644 index 8f8cd6b1d..000000000 --- a/Runtime/Scripts/KtxLoadContext.cs +++ /dev/null @@ -1,40 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -#if KTX_IS_RECENT -#define KTX_IS_ENABLED -#endif - -#if KTX_IS_ENABLED - -using System.Threading; -using System.Threading.Tasks; -using KtxUnity; -using Unity.Collections; - -namespace GLTFast { - class KtxLoadContext : KtxLoadContextBase { - - readonly KtxTexture m_KtxTexture; - - public KtxLoadContext(int imageIndex, NativeArray.ReadOnly data) : base(imageIndex, data) - { - m_KtxTexture = new KtxTexture(); - } - - public override async Task LoadTexture2D(bool linear, bool readable, CancellationToken cancellationToken) - { - var errorCode = m_KtxTexture.Open(m_Data); - if (errorCode != ErrorCode.Success) { - return new TextureResult(errorCode); - } - - // TODO implement cancellation in KTX package - var result = await m_KtxTexture.LoadTexture2D(linear, readable); - - m_KtxTexture.Dispose(); - return result; - } - } -} -#endif // KTX_IS_INSTALLED diff --git a/Runtime/Scripts/KtxLoadContextBase.cs b/Runtime/Scripts/KtxLoadContextBase.cs deleted file mode 100644 index 6991b35fd..000000000 --- a/Runtime/Scripts/KtxLoadContextBase.cs +++ /dev/null @@ -1,31 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -#if KTX_IS_RECENT -#define KTX_IS_ENABLED -#endif - -#if KTX_IS_ENABLED - -using System.Threading; -using System.Threading.Tasks; -using KtxUnity; -using Unity.Collections; -using UnityEngine; - -namespace GLTFast { - abstract class KtxLoadContextBase { - - public readonly int imageIndex; - protected readonly NativeArray.ReadOnly m_Data; - - protected KtxLoadContextBase(int imageIndex, NativeArray.ReadOnly data) - { - this.imageIndex = imageIndex; - m_Data = data; - } - - public abstract Task LoadTexture2D(bool linear, bool readable, CancellationToken cancellationToken); - } -} -#endif // KTX_IS_INSTALLED diff --git a/Runtime/Scripts/Logging/LogMessages.cs b/Runtime/Scripts/Logging/LogMessages.cs index 3f3098de8..1eb48226b 100644 --- a/Runtime/Scripts/Logging/LogMessages.cs +++ b/Runtime/Scripts/Logging/LogMessages.cs @@ -259,8 +259,12 @@ public enum LogCode : uint UnexpectedEndOfContent, /// The operation was canceled. OperationCanceled, - /// Invalid index format + /// Invalid index count IndexCountInvalid, + /// Image format is not supported. + ImageFormatUnsupported, + /// Invalid vertex count + VertexCountInvalid, } /// @@ -301,7 +305,8 @@ This may result in low performance and high memory usage. Try optimizing the glT { LogCode.GltfUnsupportedVersion, "Unsupported glTF version {0}" }, { LogCode.HierarchyInvalid, "Invalid hierarchy" }, { LogCode.ImageConversionNotEnabled, $"Jpeg/PNG textures failed because required built-in packages \"Image Conversion\"/\"Unity Web Request Texture\" are not enabled. {k_LinkProjectSetupTextureSupport}" }, - { LogCode.ImageFormatUnknown, "Unknown image format (image {0};uri:{1})" }, + { LogCode.ImageFormatUnknown, "Image {0}: unknown format" }, + { LogCode.ImageFormatUnsupported, "Image {0}: format {1} not supported" }, { LogCode.ImageMultipleSamplers, "Have to create copy of image {0} due to different samplers. This is harmless, but requires more memory." }, { LogCode.InconsistentVertexColorUsage, "Potential visual discrepancy due to inconsistent vertex colors usage on mesh {0}" }, { LogCode.IndexCountInvalid, "Invalid index count {0}" }, @@ -335,6 +340,7 @@ This may result in low performance and high memory usage. Try optimizing the glT { LogCode.UnityWebRequestTextureNotEnabled, $"PNG/Jpeg textures load slower because built-in package \"Unity Web Request Texture\" is not enabled. {k_LinkProjectSetupTextureSupport}" }, { LogCode.UVLimit, "Only eight UV sets will get imported" }, { LogCode.UVMulti, "UV set index {0} is not supported in current render pipeline" }, + { LogCode.VertexCountInvalid, "Invalid vertex count {0}" }, }; #endif diff --git a/Runtime/Scripts/Material/BuiltInMaterialGenerator.cs b/Runtime/Scripts/Material/BuiltInMaterialGenerator.cs index ec35c380b..8a0576b1d 100644 --- a/Runtime/Scripts/Material/BuiltInMaterialGenerator.cs +++ b/Runtime/Scripts/Material/BuiltInMaterialGenerator.cs @@ -470,6 +470,16 @@ public static void SetOpaqueMode(Material material) material.DisableKeyword(AlphaTestOnKeyword); material.DisableKeyword(k_AlphaPremultiplyOnKeyword); } + +#if UNITY_EDITOR + [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)] + static void ResetStaticsOnLoad() + { + // Reset static state + s_DefaultMaterialGenerated = false; + s_DefaultMaterial = null; + } +#endif } } #endif // GLTFAST_BUILTIN_RP || UNITY_EDITOR diff --git a/Runtime/Scripts/Material/MaterialGenerator.cs b/Runtime/Scripts/Material/MaterialGenerator.cs index 27d776aa5..ee47d5202 100644 --- a/Runtime/Scripts/Material/MaterialGenerator.cs +++ b/Runtime/Scripts/Material/MaterialGenerator.cs @@ -511,5 +511,16 @@ protected static bool TransmissionWorkaroundShaderMode(Transmission transmission return false; } } + +#if UNITY_EDITOR + [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)] + static void ResetStaticsOnLoad() + { + // Reset static state + s_DefaultMaterialGenerator = null; + s_DefaultMaterialGenerated = false; + s_DefaultMaterial = null; + } +#endif } } diff --git a/Runtime/Scripts/Material/ShaderGraphMaterialGenerator.cs b/Runtime/Scripts/Material/ShaderGraphMaterialGenerator.cs index fbde85d9f..9f563dce6 100644 --- a/Runtime/Scripts/Material/ShaderGraphMaterialGenerator.cs +++ b/Runtime/Scripts/Material/ShaderGraphMaterialGenerator.cs @@ -642,6 +642,20 @@ static SpecularShaderFeatures GetSpecularShaderFeatures(MaterialBase gltfMateria } return feature; } + +#if UNITY_EDITOR + [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)] + static void ResetStaticsOnLoad() + { + // Reset static state + s_MetallicShader = null; + s_SpecularShader = null; + s_UnlitShader = null; + s_MetallicShaderQueried = false; + s_SpecularShaderQueried = false; + s_UnlitShaderQueried = false; + } +#endif } } #endif // GLTFAST_SHADER_GRAPH diff --git a/Runtime/Scripts/Material/UniveralRPMaterialGenerator.cs b/Runtime/Scripts/Material/UniveralRPMaterialGenerator.cs index dcde42af5..59c63737a 100644 --- a/Runtime/Scripts/Material/UniveralRPMaterialGenerator.cs +++ b/Runtime/Scripts/Material/UniveralRPMaterialGenerator.cs @@ -22,8 +22,6 @@ public class UniversalRPMaterialGenerator : ShaderGraphMaterialGenerator { // Keywords const string k_TransmissionKeyword = "_TRANSMISSION"; - static bool s_SupportsCameraOpaqueTexture; - #if UNITY_EDITOR /// Guid of the shader graph with clearcoat support const string k_MetallicClearcoatShaderGuid = "c18c97ae1ce021b4980c5d19a54f0d3c"; @@ -34,8 +32,10 @@ public class UniversalRPMaterialGenerator : ShaderGraphMaterialGenerator { static bool s_MetallicClearcoatShaderQueried; static Shader s_MetallicClearcoatShader; + bool m_SupportsCameraOpaqueTexture; + public UniversalRPMaterialGenerator(UniversalRenderPipelineAsset renderPipelineAsset) { - s_SupportsCameraOpaqueTexture = renderPipelineAsset.supportsCameraOpaqueTexture; + m_SupportsCameraOpaqueTexture = renderPipelineAsset.supportsCameraOpaqueTexture; } protected override void SetDoubleSided(MaterialBase gltfMaterial, Material material) { @@ -96,7 +96,7 @@ protected override Shader GetMetallicShader(MetallicShaderFeatures features) } protected override ShaderMode? ApplyTransmissionShaderFeatures(MaterialBase gltfMaterial) { - if (!s_SupportsCameraOpaqueTexture) { + if (!m_SupportsCameraOpaqueTexture) { // Fall back to makeshift approximation via premultiply or blend return base.ApplyTransmissionShaderFeatures(gltfMaterial); } @@ -118,7 +118,7 @@ protected override Shader GetMetallicShader(MetallicShaderFeatures features) Material material, RenderQueue? renderQueue ) { - if (s_SupportsCameraOpaqueTexture) { + if (m_SupportsCameraOpaqueTexture) { if (transmission.transmissionFactor > 0f) { material.EnableKeyword(k_TransmissionKeyword); material.SetFloat(TransmissionFactorProperty, transmission.transmissionFactor); @@ -144,6 +144,16 @@ protected override Shader GetMetallicShader(MetallicShaderFeatures features) renderQueue ); } + +#if UNITY_EDITOR + [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)] + static void ResetStaticsOnLoad() + { + // Reset static state + s_MetallicClearcoatShader = null; + s_MetallicClearcoatShaderQueried = false; + } +#endif } } #endif // USING_URP diff --git a/Runtime/Scripts/MeshGenerator.cs b/Runtime/Scripts/MeshGenerator.cs index 231e74af1..9e43c5869 100644 --- a/Runtime/Scripts/MeshGenerator.cs +++ b/Runtime/Scripts/MeshGenerator.cs @@ -37,21 +37,26 @@ public MeshGenerator( SubMeshAssignment[] subMeshAssignments, string[] morphTargetNames, string meshName, - GltfImportBase gltfImport + IGltfReadable gltf, + IGltfBuffers buffers, + IDeferAgent deferAgent, + ICodeLogger logger ) : base(meshName) { m_Primitives = primitives; m_SubMeshAssignments = subMeshAssignments; - if (CreateVertexGenerator(gltfImport, out var hasNormals, out var hasTangents)) + if (CreateVertexGenerator(gltf, buffers, logger, out var hasNormals, out var hasTangents)) { - CreateMorphTargetGenerator(morphTargetNames, hasNormals, hasTangents, gltfImport); - m_CreationTask = GenerateMesh(gltfImport); + CreateMorphTargetGenerator(morphTargetNames, hasNormals, hasTangents, buffers, deferAgent, logger); + m_CreationTask = GenerateMesh(buffers, logger); } } bool CreateVertexGenerator( - GltfImportBase gltfImport, + IGltfReadable gltf, + IGltfBuffers buffers, + ICodeLogger logger, out bool hasNormals, out bool hasTangents ) @@ -59,24 +64,24 @@ out bool hasTangents var drawMode = m_Primitives[0].mode; if (!SetTopology(drawMode)) { - gltfImport.Logger?.Error(LogCode.PrimitiveModeUnsupported, drawMode.ToString()); + logger?.Error(LogCode.PrimitiveModeUnsupported, drawMode.ToString()); } - var mainBufferType = GetMainBufferType(gltfImport, out hasNormals, out hasTangents); + var mainBufferType = GetMainBufferType(gltf, out hasNormals, out hasTangents); switch (mainBufferType) { case MainBufferType.Position: - m_VertexData = new VertexBufferGenerator(m_Primitives.Count, gltfImport); + m_VertexData = new VertexBufferGenerator(m_Primitives.Count, buffers, logger); break; case MainBufferType.PosNorm: - m_VertexData = new VertexBufferGenerator(m_Primitives.Count, gltfImport); + m_VertexData = new VertexBufferGenerator(m_Primitives.Count, buffers, logger); break; case MainBufferType.PosNormTan: - m_VertexData = new VertexBufferGenerator(m_Primitives.Count, gltfImport); + m_VertexData = new VertexBufferGenerator(m_Primitives.Count, buffers, logger); break; default: - gltfImport.Logger?.Error(LogCode.BufferMainInvalidType, mainBufferType.ToString()); + logger?.Error(LogCode.BufferMainInvalidType, mainBufferType.ToString()); return false; } m_VertexData.calculateNormals = !hasNormals && (mainBufferType & MainBufferType.Normal) > 0; @@ -92,7 +97,7 @@ out bool hasTangents } MainBufferType GetMainBufferType( - GltfImportBase gltfImport, + IGltfReadable gltf, out bool hasNormals, out bool hasTangents ) @@ -120,7 +125,7 @@ out bool hasTangents } else { - var material = gltfImport.GetSourceMaterial(primitive.material); + var material = gltf.GetSourceMaterial(primitive.material); if (material.RequiresTangents) { mainBufferType |= MainBufferType.Normal | MainBufferType.Tangent; @@ -166,7 +171,9 @@ void CreateMorphTargetGenerator( string[] morphTargetNames, bool hasNormals, bool hasTangents, - GltfImportBase gltfImport + IGltfBuffers buffers, + IDeferAgent deferAgent, + ICodeLogger logger ) { var morphTargets = m_Primitives[0].targets; @@ -179,12 +186,13 @@ GltfImportBase gltfImport morphTargetNames, hasNormals, hasTangents, - gltfImport + buffers, + deferAgent ); } } - async Task GenerateMesh(GltfImportBase gltfImport) + async Task GenerateMesh(IGltfBuffers buffers, ICodeLogger logger) { if (!await m_VertexData.CreateVertexBuffer()) return null; @@ -194,7 +202,7 @@ async Task GenerateMesh(GltfImportBase gltfImport) { if (primitive.indices >= 0) { - var accessor = ((IGltfBuffers)gltfImport).GetAccessor(primitive.indices); + var accessor = buffers.GetAccessor(primitive.indices); if (accessor.componentType == GltfComponentType.UnsignedInt) { indexFormat = IndexFormat.UInt32; @@ -203,7 +211,7 @@ async Task GenerateMesh(GltfImportBase gltfImport) } else { - var vertexCount = ((IGltfBuffers)gltfImport).GetAccessor(primitive.attributes.POSITION).count; + var vertexCount = buffers.GetAccessor(primitive.attributes.POSITION).count; if (vertexCount > ushort.MaxValue) { indexFormat = IndexFormat.UInt32; @@ -220,7 +228,7 @@ async Task GenerateMesh(GltfImportBase gltfImport) if (primitive.indices >= 0) { var flip = primitive.mode == DrawMode.Triangles; - var accessor = ((IGltfBuffers)gltfImport).GetAccessor(primitive.indices); + var accessor = buffers.GetAccessor(primitive.indices); var minIndexCount = 3; var indexCount = accessor.count; @@ -243,7 +251,7 @@ async Task GenerateMesh(GltfImportBase gltfImport) if (accessor.count < minIndexCount) { - gltfImport.Logger?.Error( + logger?.Error( LogCode.IndexCountInvalid, accessor.count.ToString() ); @@ -254,7 +262,7 @@ async Task GenerateMesh(GltfImportBase gltfImport) m_Indices.Allocate(subMeshIndex, indexCount); - var accessorData = ((IGltfBuffers)gltfImport).GetBufferView( + var accessorData = buffers.GetBufferView( accessor.bufferView, out _, accessor.byteOffset, @@ -264,7 +272,7 @@ async Task GenerateMesh(GltfImportBase gltfImport) Assert.AreEqual(accessor.GetAttributeType(), GltfAccessorAttributeType.SCALAR); if (accessor.IsSparse) { - gltfImport.Logger?.Error(LogCode.SparseAccessor, "indices"); + logger?.Error(LogCode.SparseAccessor, "indices"); } switch (indexFormat) @@ -272,13 +280,13 @@ async Task GenerateMesh(GltfImportBase gltfImport) case IndexFormat.UInt16: { var indices = m_Indices.GetIndices16(subMeshIndex); - GetIndicesUInt16Job(gltfImport, accessor, accessorData, indices, out getIndicesJob, flip); + GetIndicesUInt16Job(accessor, accessorData, indices, out getIndicesJob, flip, logger); break; } case IndexFormat.UInt32: { var indices = m_Indices.GetIndices32(subMeshIndex); - GetIndicesUInt32Job(gltfImport, accessor, accessorData, indices, out getIndicesJob, flip); + GetIndicesUInt32Job(accessor, accessorData, indices, out getIndicesJob, flip, logger); break; } } @@ -356,7 +364,7 @@ async Task GenerateMesh(GltfImportBase gltfImport) } else { - var vertexCount = ((IGltfBuffers)gltfImport).GetAccessor(primitive.attributes.POSITION).count; + var vertexCount = buffers.GetAccessor(primitive.attributes.POSITION).count; var indexCount = primitive.mode switch { DrawMode.TriangleStrip or DrawMode.TriangleFan => (vertexCount - 2) * 3, @@ -384,14 +392,14 @@ async Task GenerateMesh(GltfImportBase gltfImport) for (var subMeshIndex = 0; subMeshIndex < m_Primitives.Count; subMeshIndex++) { var primitive = m_Primitives[subMeshIndex]; - AddMorphTargets(subMeshIndex, primitive, gltfImport.Logger); + AddMorphTargets(subMeshIndex, primitive, logger); } tmpList.Add(m_MorphTargetsGenerator.GetJobHandle()); } await AwaitJobs(tmpList); - return await CreateMeshResultAsync(); + return await CreateMeshResultAsync(logger); } void AddMorphTargets(int subMesh, MeshPrimitiveBase primitive, ICodeLogger logger) @@ -415,7 +423,7 @@ void AddMorphTargets(int subMesh, MeshPrimitiveBase primitive, ICodeLogger logge } } - async Task CreateMeshResultAsync() + async Task CreateMeshResultAsync(ICodeLogger logger) { Profiler.BeginSample("CreateMesh"); var msh = new Mesh @@ -455,7 +463,7 @@ async Task CreateMeshResultAsync() Profiler.BeginSample("SetSubMesh"); var vertexBufferIndex = m_SubMeshAssignments != null ? m_SubMeshAssignments[i].VertexBufferIndex : i; m_VertexData.GetVertexRange(vertexBufferIndex, out var baseVertex, out var vertexCount); - var subMeshBoundsValid = m_VertexData.TryGetBounds(vertexBufferIndex, out var subMeshBounds); + var subMeshBoundsValid = m_VertexData.TryGetBounds(vertexBufferIndex, logger, out var subMeshBounds); var subMeshDescriptor = new SubMeshDescriptor { indexStart = indexCount, @@ -573,12 +581,12 @@ protected override void Dispose(bool disposing) static void GetIndicesUInt16Job( - GltfImportBase gltfImport, AccessorBase accessor, ReadOnlyNativeArray accessorData, NativeArray indices, out JobHandle? jobHandle, - bool flip + bool flip, + ICodeLogger logger ) { Profiler.BeginSample("GetIndicesUInt16Job"); @@ -633,7 +641,7 @@ bool flip break; } default: - gltfImport.Logger?.Error(LogCode.IndexFormatInvalid, accessor.componentType.ToString()); + logger?.Error(LogCode.IndexFormatInvalid, accessor.componentType.ToString()); jobHandle = null; break; } @@ -641,12 +649,12 @@ bool flip } static void GetIndicesUInt32Job( - GltfImportBase gltfImport, AccessorBase accessor, ReadOnlyNativeArray accessorData, NativeArray indices, out JobHandle? jobHandle, - bool flip + bool flip, + ICodeLogger logger ) { Profiler.BeginSample("GetIndicesUInt32Job"); @@ -724,7 +732,7 @@ bool flip break; } default: - gltfImport.Logger?.Error(LogCode.IndexFormatInvalid, accessor.componentType.ToString()); + logger?.Error(LogCode.IndexFormatInvalid, accessor.componentType.ToString()); jobHandle = null; break; } diff --git a/Runtime/Scripts/MorphTargetsGenerator.cs b/Runtime/Scripts/MorphTargetsGenerator.cs index 4cd3dd688..836dc084c 100644 --- a/Runtime/Scripts/MorphTargetsGenerator.cs +++ b/Runtime/Scripts/MorphTargetsGenerator.cs @@ -18,7 +18,8 @@ namespace GLTFast class MorphTargetsGenerator { readonly string[] m_MorphTargetNames; - readonly GltfImportBase m_GltfImport; + readonly IGltfBuffers m_Buffers; + readonly IDeferAgent m_DeferAgent; MorphTargetGenerator[] m_Contexts; NativeArray m_Handles; @@ -30,11 +31,13 @@ public MorphTargetsGenerator( string[] morphTargetNames, bool hasNormals, bool hasTangents, - GltfImportBase gltfImport + IGltfBuffers buffers, + IDeferAgent deferAgent ) { m_MorphTargetNames = morphTargetNames; - m_GltfImport = gltfImport; + m_Buffers = buffers; + m_DeferAgent = deferAgent; m_Contexts = new MorphTargetGenerator[morphTargetCount]; for (var i = 0; i < morphTargetCount; i++) @@ -55,7 +58,7 @@ MorphTarget morphTarget var jobHandle = morphTargetGenerator.ScheduleMorphTargetJobs( morphTarget, offset, - m_GltfImport + m_Buffers ); if (jobHandle.HasValue) { @@ -82,7 +85,7 @@ public async Task ApplyOnMeshAndDispose(Mesh mesh) var context = m_Contexts[index]; context.AddToMesh(mesh, m_MorphTargetNames?[index] ?? index.ToString()); context.Dispose(); - await m_GltfImport.DeferAgent.BreakPoint(); + await m_DeferAgent.BreakPoint(); } m_Contexts = null; } diff --git a/Runtime/Scripts/ReadOnlyDisposableData.cs b/Runtime/Scripts/ReadOnlyDisposableData.cs new file mode 100644 index 000000000..f73eb7bc7 --- /dev/null +++ b/Runtime/Scripts/ReadOnlyDisposableData.cs @@ -0,0 +1,53 @@ +// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +using Unity.Collections; + +namespace GLTFast +{ + /// + /// Provides read-only access to byte data and the ability to dispose the underlying resources + /// when not required anymore. + /// + interface IReadOnlyDisposableData : IDisposable + { + /// + /// Read-only byte data. + /// + public NativeArray.ReadOnly Data { get; } + } + + struct ReadOnlyData : IReadOnlyDisposableData + { + public NativeArray.ReadOnly Data { get; } + IDisposable m_Disposable; + + public ReadOnlyData(NativeArray.ReadOnly data, IDisposable disposable) + { + Data = data; + m_Disposable = disposable; + } + + public void Dispose() + { + m_Disposable?.Dispose(); + } + } + + struct ReadOnlyDisposableData : IReadOnlyDisposableData + { + public NativeArray.ReadOnly Data => m_Data.AsReadOnly(); + NativeArray m_Data; + + public ReadOnlyDisposableData(NativeArray data) + { + m_Data = data; + } + + public void Dispose() + { + m_Data.Dispose(); + } + } +} diff --git a/Runtime/Scripts/ReadOnlyDisposableData.cs.meta b/Runtime/Scripts/ReadOnlyDisposableData.cs.meta new file mode 100644 index 000000000..21fd95729 --- /dev/null +++ b/Runtime/Scripts/ReadOnlyDisposableData.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 51b856365a70451faedc9b1c0d4a38a4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/RenderPipelineUtils.cs b/Runtime/Scripts/RenderPipelineUtils.cs index 3347b6b0a..b0e2b489e 100644 --- a/Runtime/Scripts/RenderPipelineUtils.cs +++ b/Runtime/Scripts/RenderPipelineUtils.cs @@ -83,5 +83,14 @@ static RenderPipeline DetectRenderPipeline() #endif return RenderPipeline.BuiltIn; } + +#if UNITY_EDITOR + [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.SubsystemRegistration)] + static void ResetStaticsOnLoad() + { + // Reset static state + s_RenderPipeline = RenderPipeline.Unknown; + } +#endif } } diff --git a/Runtime/Scripts/TextureDownload.cs b/Runtime/Scripts/TextureDownload.cs deleted file mode 100644 index 9d27f7da1..000000000 --- a/Runtime/Scripts/TextureDownload.cs +++ /dev/null @@ -1,42 +0,0 @@ -// SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -using System.Threading.Tasks; -using UnityEngine; - -namespace GLTFast.Loading -{ - - /// - /// Used for wrapping - /// - abstract class TextureDownloadBase - { - public IDownload Download { get; protected set; } - - /// - /// Executes the texture loading process and assigns the result to - /// . - /// - /// - public abstract Task Load(); - } - - /// - /// Used for wrapping - /// - class TextureDownload : TextureDownloadBase where T : IDownload - { - Task m_Task; - - public TextureDownload(Task task) - { - m_Task = task; - } - - public override async Task Load() - { - Download = await m_Task; - } - } -} diff --git a/Runtime/Scripts/UriHelper.cs b/Runtime/Scripts/UriHelper.cs index d46ea1dce..b02902b6f 100644 --- a/Runtime/Scripts/UriHelper.cs +++ b/Runtime/Scripts/UriHelper.cs @@ -166,9 +166,10 @@ internal static ImageFormat GetImageFormatFromUri(string uri) var extStartIndex = uri.LastIndexOf('.', queryStartIndex - 1, Mathf.Min(5, queryStartIndex)); // we assume that the first period before the query string is the file format period. if (extStartIndex < 0) return ImageFormat.Unknown; // if we can't find a period, we don't know the file format. var fileExtension = uri.Substring(extStartIndex + 1, queryStartIndex - extStartIndex - 1); // extract the file ending - if (fileExtension.Equals("png", StringComparison.OrdinalIgnoreCase)) return ImageFormat.PNG; + if (fileExtension.Equals("png", StringComparison.OrdinalIgnoreCase)) return ImageFormat.Png; if (fileExtension.Equals("jpg", StringComparison.OrdinalIgnoreCase) || fileExtension.Equals("jpeg", StringComparison.OrdinalIgnoreCase)) return ImageFormat.Jpeg; if (fileExtension.Equals("ktx", StringComparison.OrdinalIgnoreCase) || fileExtension.Equals("ktx2", StringComparison.OrdinalIgnoreCase)) return ImageFormat.Ktx; + if (fileExtension.Equals("webp", StringComparison.OrdinalIgnoreCase)) return ImageFormat.WebP; return ImageFormat.Unknown; } diff --git a/Runtime/Scripts/VertexBufferGenerator.cs b/Runtime/Scripts/VertexBufferGenerator.cs index db0ac3511..00871f524 100644 --- a/Runtime/Scripts/VertexBufferGenerator.cs +++ b/Runtime/Scripts/VertexBufferGenerator.cs @@ -50,7 +50,7 @@ public override void GetVertexRange(int subMesh, out int baseVertex, out int ver vertexCount = VertexIntervals[subMesh + 1] - baseVertex; } - public override bool TryGetBounds(int subMesh, out Bounds bounds) + public override bool TryGetBounds(int subMesh, ICodeLogger logger, out Bounds bounds) { Assert.IsNotNull(m_PositionAccessors); var boundsOpt = m_PositionAccessors[subMesh].TryGetBounds(); @@ -59,13 +59,13 @@ public override bool TryGetBounds(int subMesh, out Bounds bounds) bounds = boundsOpt.Value; return true; } - m_GltfImport.Logger?.Error(LogCode.MeshBoundsMissing, m_Attributes[subMesh].POSITION.ToString()); + logger?.Error(LogCode.MeshBoundsMissing, m_Attributes[subMesh].POSITION.ToString()); bounds = default; return false; } - public VertexBufferGenerator(int primitiveCount, GltfImportBase gltfImport) - : base(primitiveCount, gltfImport) + public VertexBufferGenerator(int primitiveCount, IGltfBuffers buffers, ICodeLogger logger) + : base(primitiveCount, buffers, logger) { } public override void AddPrimitive(Attributes att) @@ -82,7 +82,7 @@ public override void Initialize() for (var i = 0; i < m_Attributes.Length; i++) { VertexIntervals[i] = vertexCount; - m_PositionAccessors[i] = ((IGltfBuffers)m_GltfImport).GetAccessor(m_Attributes[i].POSITION); + m_PositionAccessors[i] = m_Buffers.GetAccessor(m_Attributes[i].POSITION); vertexCount += m_PositionAccessors[i].count; } VertexIntervals[m_Attributes.Length] = vertexCount; @@ -119,21 +119,21 @@ public override async Task CreateVertexBuffer() if (uvSetCount > maxUvSetCount) { // More than eight UV sets are not supported yet - m_GltfImport.Logger?.Warning(LogCode.UVLimit); + m_Logger?.Warning(LogCode.UVLimit); uvSetCount = maxUvSetCount; } jobCount += uvSetCount * m_Attributes.Length; m_TexCoords = uvSetCount switch { - 1 => new VertexBufferTexCoords(uvSetCount, VertexCount, m_GltfImport.Logger), - 2 => new VertexBufferTexCoords(uvSetCount, VertexCount, m_GltfImport.Logger), - 3 => new VertexBufferTexCoords(uvSetCount, VertexCount, m_GltfImport.Logger), - 4 => new VertexBufferTexCoords(uvSetCount, VertexCount, m_GltfImport.Logger), - 5 => new VertexBufferTexCoords(uvSetCount, VertexCount, m_GltfImport.Logger), - 6 => new VertexBufferTexCoords(uvSetCount, VertexCount, m_GltfImport.Logger), - 7 => new VertexBufferTexCoords(uvSetCount, VertexCount, m_GltfImport.Logger), - _ => new VertexBufferTexCoords(uvSetCount, VertexCount, m_GltfImport.Logger) + 1 => new VertexBufferTexCoords(uvSetCount, VertexCount, m_Logger), + 2 => new VertexBufferTexCoords(uvSetCount, VertexCount, m_Logger), + 3 => new VertexBufferTexCoords(uvSetCount, VertexCount, m_Logger), + 4 => new VertexBufferTexCoords(uvSetCount, VertexCount, m_Logger), + 5 => new VertexBufferTexCoords(uvSetCount, VertexCount, m_Logger), + 6 => new VertexBufferTexCoords(uvSetCount, VertexCount, m_Logger), + 7 => new VertexBufferTexCoords(uvSetCount, VertexCount, m_Logger), + _ => new VertexBufferTexCoords(uvSetCount, VertexCount, m_Logger) }; } @@ -141,14 +141,14 @@ public override async Task CreateVertexBuffer() if (m_HasColors) { jobCount += m_Attributes.Length; - m_Colors = new VertexBufferColors(VertexCount, m_GltfImport.Logger); + m_Colors = new VertexBufferColors(VertexCount, m_Logger); } m_HasBones = firstAttributes.WEIGHTS_0 >= 0 && firstAttributes.JOINTS_0 >= 0; if (m_HasBones) { jobCount++; - m_Bones = new VertexBufferBones(VertexCount, m_GltfImport.Logger); + m_Bones = new VertexBufferBones(VertexCount, m_Logger); } for (var i = 0; i < m_Attributes.Length; i++) @@ -220,7 +220,7 @@ unsafe bool SchedulePositionsJobs(int i, byte* vDataPtr, int outputByteStride, N if (m_PositionAccessors[i].bufferView >= 0) { h = GetVector3Job( - m_GltfImport, + m_Buffers, m_PositionAccessors[i], (float3*)(vDataPtr + outputByteStride * VertexIntervals[i]), outputByteStride, @@ -231,8 +231,8 @@ unsafe bool SchedulePositionsJobs(int i, byte* vDataPtr, int outputByteStride, N if (m_PositionAccessors[i].IsSparse) { - m_GltfImport.GetAccessorSparseIndices(m_PositionAccessors[i].Sparse.Indices, out var posIndexData); - m_GltfImport.GetAccessorSparseValues(m_PositionAccessors[i].Sparse.Values, out var posValueData); + m_Buffers.GetAccessorSparseIndices(m_PositionAccessors[i].Sparse.Indices, out var posIndexData); + m_Buffers.GetAccessorSparseValues(m_PositionAccessors[i].Sparse.Values, out var posValueData); var sparseJobHandle = GetVector3SparseJob( posIndexData, posValueData, @@ -272,7 +272,7 @@ unsafe bool SchedulePositionsJobs(int i, byte* vDataPtr, int outputByteStride, N unsafe bool ScheduleNormalsJobs(Attributes att, byte* vDataPtr, int outputByteStride, int i, NativeArray handles, ref int handleIndex) { - ((IGltfBuffers)m_GltfImport).GetAccessorAndData( + m_Buffers.GetAccessorAndData( att.NORMAL, out var nrmAcc, out var input, @@ -280,11 +280,11 @@ out var inputByteStride ); if (nrmAcc.IsSparse) { - m_GltfImport.Logger?.Error(LogCode.SparseAccessor, "normals"); + m_Logger?.Error(LogCode.SparseAccessor, "normals"); } var h = GetVector3Job( - m_GltfImport, + m_Buffers, nrmAcc, (float3*)(vDataPtr + outputByteStride * VertexIntervals[i] + 12), outputByteStride, @@ -308,7 +308,7 @@ out var inputByteStride unsafe bool ScheduleTangentsJobs(Attributes att, byte* vDataPtr, int outputByteStride, int i, NativeArray handles, ref int handleIndex) { - ((IGltfBuffers)m_GltfImport).GetAccessorAndData( + m_Buffers.GetAccessorAndData( att.TANGENT, out var tanAcc, out var input, @@ -316,7 +316,7 @@ out var inputByteStride ); if (tanAcc.IsSparse) { - m_GltfImport.Logger?.Error(LogCode.SparseAccessor, "tangents"); + m_Logger?.Error(LogCode.SparseAccessor, "tangents"); } var h = GetTangentsJob( @@ -352,7 +352,7 @@ int ScheduleTexCoordJobs(Attributes att, int uvSetCount, int i, NativeArray handles, r att.COLOR_0, VertexIntervals[i], handles.GetSubArray(handleIndex, 1), - m_GltfImport + m_Buffers ); if (!success) { @@ -406,7 +406,7 @@ bool ScheduleVertexBonesJob(int i, out JobHandle handle) att.WEIGHTS_0, att.JOINTS_0, VertexIntervals[i], - m_GltfImport + m_Buffers ); if (!h.HasValue) { diff --git a/Runtime/Scripts/VertexBufferGeneratorBase.cs b/Runtime/Scripts/VertexBufferGeneratorBase.cs index 818f3e62f..8545a7558 100644 --- a/Runtime/Scripts/VertexBufferGeneratorBase.cs +++ b/Runtime/Scripts/VertexBufferGeneratorBase.cs @@ -32,12 +32,14 @@ abstract class VertexBufferGeneratorBase : IDisposable public bool calculateTangents = false; protected VertexAttributeDescriptor[] m_Descriptors; - protected GltfImportBase m_GltfImport; + protected IGltfBuffers m_Buffers; + protected ICodeLogger m_Logger; - protected VertexBufferGeneratorBase(int primitiveCount, GltfImportBase gltfImport) + protected VertexBufferGeneratorBase(int primitiveCount, IGltfBuffers buffers, ICodeLogger logger) { m_Attributes = new Attributes[primitiveCount]; - m_GltfImport = gltfImport; + m_Buffers = buffers; + m_Logger = logger; } public abstract void AddPrimitive(Attributes att); @@ -48,7 +50,7 @@ protected VertexBufferGeneratorBase(int primitiveCount, GltfImportBase gltfImpor public abstract int VertexCount { get; } public abstract int[] VertexIntervals { get; protected set; } public abstract void GetVertexRange(int subMesh, out int baseVertex, out int vertexCount); - public abstract bool TryGetBounds(int subMesh, out Bounds bounds); + public abstract bool TryGetBounds(int subMesh, ICodeLogger logger, out Bounds bounds); public void Dispose() { @@ -358,7 +360,7 @@ public void Dispose() break; } default: - m_GltfImport.Logger?.Error(LogCode.TypeUnsupported, "Tangent", inputType.ToString()); + m_Logger?.Error(LogCode.TypeUnsupported, "Tangent", inputType.ToString()); jobHandle = null; break; } diff --git a/package.json b/package.json index 8b3f5e371..8be5a3653 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "com.atteneder.gltfast", - "version": "6.16.1", + "version": "6.17.0", "displayName": "glTFast", "description": "Use glTFast to import and export glTF 3D files efficiently at runtime or in the Editor", "unity": "2022.3", From 237148ce0f9180ee8fc389ac5debfe4a89b49704 Mon Sep 17 00:00:00 2001 From: Andreas Atteneder Date: Fri, 10 Apr 2026 16:24:44 +0200 Subject: [PATCH 22/27] chore: Removed files not required for OpenUPM branch. --- .github/codecov.yml | 36 ----- .github/renovate.json | 6 - .github/workflows/dotnet-format.yml | 169 ---------------------- .github/workflows/release-start.yml | 71 --------- .github/workflows/renovate-validation.yml | 40 ----- .github/workflows/renovate.yml | 37 ----- 6 files changed, 359 deletions(-) delete mode 100644 .github/codecov.yml delete mode 100644 .github/renovate.json delete mode 100644 .github/workflows/dotnet-format.yml delete mode 100644 .github/workflows/release-start.yml delete mode 100644 .github/workflows/renovate-validation.yml delete mode 100644 .github/workflows/renovate.yml diff --git a/.github/codecov.yml b/.github/codecov.yml deleted file mode 100644 index d5b9c0064..000000000 --- a/.github/codecov.yml +++ /dev/null @@ -1,36 +0,0 @@ -codecov: - require_ci_to_pass: false - notify: - wait_for_ci: true - -coverage: - precision: 2 - round: down - range: "50...70" - status: - patch: true - default_rules: - flag_coverage_not_uploaded_behavior: exclude - project: - default: - target: auto - # Threshold used for the PR Check - threshold: 0.5% - base: auto - if_ci_failed: success - informational: false - only_pulls: true - -# PR Comment configuration -comment: - layout: "reach,diff,flags,files" - behavior: default - require_changes: false - require_base: false - require_head: false - # Set this to the number of coverage jobs run in the PR - after_n_builds: 5 - -flag_management: - default_rules: - carryforward: true \ No newline at end of file diff --git a/.github/renovate.json b/.github/renovate.json deleted file mode 100644 index 5689b264c..000000000 --- a/.github/renovate.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "$schema": "https://docs.renovatebot.com/renovate-schema.json", - "extends": [ - "local>unity/renovate-config" - ] -} diff --git a/.github/workflows/dotnet-format.yml b/.github/workflows/dotnet-format.yml deleted file mode 100644 index 05b792e70..000000000 --- a/.github/workflows/dotnet-format.yml +++ /dev/null @@ -1,169 +0,0 @@ -name: Code Format (dotnet) - -on: - workflow_dispatch: - inputs: - # NOTICE: run-name seems like it might not be needed but it's necessary in order to leverage - # Yamato's `action_run_name_source` feature which ensures the right jobs gets connected when multiple - # ones are run in parallel. - run-name: - description: "Name of the job run to be presented in the UI." - default: "Code Format (dotnet)" - required: true - type: string - GIT_BRANCH: - description: "Current branch. Normally the value of the GIT_BRANCH environment variable from Yamato." - required: true - type: string - commit: - description: "Commit changes to the branch" - default: "false" - type: choice - options: - - "true" - - "false" - filter: - description: "List of glob pattern to filter files to format separated by new line." - default: "**/*.cs" - type: string - - workflow_call: - inputs: - GIT_BRANCH: - description: "Current branch. Normally the value of the GIT_BRANCH environment variable from Yamato." - required: true - type: string - commit: - description: "Commit changes to the branch" - default: "false" - type: string - filter: - description: "List of glob pattern to filter files to format separated by new line." - default: "**/*.cs" - type: string - -run-name: ${{ inputs.run-name }} - -env: - COMMIT_CHANGES: ${{ inputs.commit }} - CURRENT_BRANCH: ${{ inputs.GIT_BRANCH }} - FILTER: ${{ inputs.filter }} - - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - GH_ENTERPRISE_TOKEN: ${{ secrets.GITHUB_TOKEN }} - GH_HOST: "github.cds.internal.unity3d.com" - -jobs: - format: - name: Format (http://go/format) - runs-on: unity-linux-runner - container: - image: europe-docker.pkg.dev/unity-cds-services-prd/ds-docker/unity-ci-format:latest@sha256:73b38fb713c2b95a142ffe870c6e130edda9d3aad61adadfda24fe985973f6b1 - steps: - - name: Checkout - uses: actions/checkout@v6 - with: - ref: ${{ inputs.GIT_BRANCH }} - filter: blob:none - fetch-depth: 1 - sparse-checkout-cone-mode: false - sparse-checkout: | - /.github/workflows/**/* - **/.editorconfig - ${{ inputs.filter }} - - # A reusable workflow consumed from a different repository won't be able to access other files than the workflow itself, therefore we keep configuration embedded - - name: Create and add problem matcher - shell: bash - env: - PROBLEM_MATCHER_CONTENT: | - { - "problemMatcher": [ - { - "owner": "dotnet-format", - "pattern": [ - { - "regexp": "^(.*)\\((\\d+),(\\d+)\\):\\s(.*)\\[\\.\\]$", - "file": 1, - "line": 2, - "column": 3, - "message": 4 - } - ] - } - ] - } - run: | - echo "$PROBLEM_MATCHER_CONTENT" > "$RUNNER_TEMP/problem-matcher.json" - echo "Temp file: $RUNNER_TEMP/problem-matcher.json" - cat "$RUNNER_TEMP/problem-matcher.json" - echo "::add-matcher::$RUNNER_TEMP/problem-matcher.json" - - - name: Log versions - shell: bash - run: | - DOTNET_VERSION=$(dotnet --version) - echo "Read more about code formatting: [http://go/format](http://go/format)" >> $GITHUB_STEP_SUMMARY - echo "dotnet: $DOTNET_VERSION" >> $GITHUB_STEP_SUMMARY - - # Create a rsp file to overcome potential issues with the command line length with a large number of files - - name: Build RSP file - shell: bash - run: | - { - echo "format " - echo "whitespace " - echo ". " - echo "--folder " - echo "--verbosity " - echo "detailed " - } >> args.rsp - - if [[ "$COMMIT_CHANGES" != "true" ]]; - then - echo "--verify-no-changes " >> args.rsp - fi - - PR_FILES=$(gh pr view $CURRENT_BRANCH --json files --jq '.files.[].path') - printf "PR files:\n$PR_FILES\n\n" - - if [[ "$PR_FILES" == "" ]]; - then - echo "No files to format." - echo "No files to format." >> $GITHUB_STEP_SUMMARY - # Add a marker to the args.rsp file to avoid passing an empty list of files - PR_FILES="NOTHING_TO_FORMAT_MARKER" - fi - - echo "--include " >> args.rsp - echo "$PR_FILES" >> args.rsp - - echo "rsp file:" - cat args.rsp - - - name: Run Format - id: format - shell: bash - run: > - DOTNET_NOLOGO=1 - dotnet @args.rsp - - - name: Clean-up RSP file - shell: bash - run: | - rm args.rsp - - - name: Commit changes - if: | - inputs.commit == 'true' - shell: bash - env: - ACTOR: ${{ github.actor }} - ACTOR_ID: ${{ github.actor_id }} - run: | - git config user.name "$ACTOR (via GitHub Actions)" - git config user.email "$ACTOR_ID+$ACTOR@users.noreply.github.com" - git add . - git diff-index --quiet HEAD || git commit -m "[skip ci] Code format" - git push - diff --git a/.github/workflows/release-start.yml b/.github/workflows/release-start.yml deleted file mode 100644 index 92e9b3b34..000000000 --- a/.github/workflows/release-start.yml +++ /dev/null @@ -1,71 +0,0 @@ -name: Start Release -on: - workflow_dispatch: - inputs: - release-number: - description: 'Semantic version with format major.minor.patch (for example 4.2.0)' - type: string - required: true - start-point: - description: 'Starting point of the release. Can be a SHA, a branch or a tag. Default is origin/develop' - type: string - default: 'develop' - -jobs: - release: - runs-on: [unity-linux-runner] - permissions: - contents: write - pull-requests: write - steps: - - name: Display inputs - run: | - echo ${{ inputs.release-number }} - echo ${{ inputs.start-point }} - - - name: Setup .NET - uses: actions/setup-dotnet@v4 - with: - dotnet-version: '10.0.x' - - - name: Checkout - uses: actions/checkout@v6 - id: checkout - with: - fetch-depth: 0 - fetch-tags: true - ref: '${{ inputs.start-point }}' - - - name: Release branch creation - env: - RELEASE_SEMVER: ${{ inputs.release-number }} - run: | - release_branch="release/$RELEASE_SEMVER" - git branch "$release_branch" - git push -u origin "$release_branch" - - - name: Working branch creation - env: - RELEASE_SEMVER: ${{ inputs.release-number }} - run: | - working_branch="release/${RELEASE_SEMVER}-working" - git branch "$working_branch" - dotnet run --file Tools/scripts/changelog.cs -- release $RELEASE_SEMVER -i "$(pwd)/Packages/com.unity.cloud.gltfast/CHANGELOG.md" - Tools/scripts/release-start.sh $RELEASE_SEMVER - dotnet run --file Tools/scripts/changelog.cs -- info -i "$(pwd)/Packages/com.unity.cloud.gltfast/CHANGELOG.md" > .tmp-git-pull-request-body.md - - - name: Create Pr - id: cpr - uses: peter-evans/create-pull-request@v8 - with: - title: "[Automated] Release ${{inputs.release-number}}" - branch: "release/${{ inputs.release-number }}-working" - base: "release/${{inputs.release-number}}" - commit-message: "Release ${{inputs.release-number}}" - body-path: .tmp-git-pull-request-body.md - reviewers: | - andreas-atteneder - labels: | - automated pr - release - delete-branch: true diff --git a/.github/workflows/renovate-validation.yml b/.github/workflows/renovate-validation.yml deleted file mode 100644 index d35ae8f67..000000000 --- a/.github/workflows/renovate-validation.yml +++ /dev/null @@ -1,40 +0,0 @@ -# Refer to https://internaldocs.unity.com/renovate/ for more documentation - -# This workflow is for validating the Renovate configuration and docker image -# updates for it. -name: Renovate Validation -on: - workflow_dispatch: - inputs: - log-level: - type: choice - description: Select log level for Renovate - options: - - trace - - debug - - info - - warn - - error - default: info - required: false - pull_request: - paths: - # we trigger validation on any changes to the renovate workflow files - - .github/workflows/renovate*.yml - # as well as for any possible location for the renovate config file - - .github/renovate.json? - - -jobs: - renovate-validation: - # The reusable workflow will be updated by renovate if there's a new version - uses: unity/renovate-workflows/.github/workflows/run.yml@v4.1.0 - with: - # This is the image that contains our custom renovate and will be auto - # updated by Renovate itself. - image: europe-docker.pkg.dev/unity-cds-services-prd/ds-docker/renovate:11.0.2@sha256:5763c5480cd516edcac86211601f7650cb01a4a5de296b2a09c9267072e16f52 - dry-run: full - log-level: ${{ github.event.inputs.log-level }} - secrets: - renovate-auth-secret: ${{ secrets.RENOVATE_AUTH_SECRET }} - github-com-token: ${{ secrets.GH_COM_TOKEN }} diff --git a/.github/workflows/renovate.yml b/.github/workflows/renovate.yml deleted file mode 100644 index f80f82ab7..000000000 --- a/.github/workflows/renovate.yml +++ /dev/null @@ -1,37 +0,0 @@ -# Refer to https://internaldocs.unity.com/renovate/ for more documentation - -# This workflow runs Renovate against the current repo and will create PRs with outdated dependencies. -name: Renovate - -on: - workflow_dispatch: - inputs: - log-level: - type: choice - description: Select log level for Renovate - options: - - trace - - debug - - info - - warn - - error - default: info - required: false - schedule: - # Default daily scheduled run. Feel free to change this to run when you want it to. - - cron: '25 7 * * 1-5' - -jobs: - renovate: - # The reusable workflow will be updated by renovate if there's a new version - uses: unity/renovate-workflows/.github/workflows/run.yml@v4.1.0 - with: - # This is the image that contains our custom renovate and will be auto - # updated by Renovate itself. - image: europe-docker.pkg.dev/unity-cds-services-prd/ds-docker/renovate:11.0.2@sha256:5763c5480cd516edcac86211601f7650cb01a4a5de296b2a09c9267072e16f52 - log-level: ${{ github.event.inputs.log-level }} - secrets: - renovate-auth-secret: ${{ secrets.RENOVATE_AUTH_SECRET }} - github-com-token: ${{ secrets.GH_COM_TOKEN }} - - From 9ef142ca27d0072f59a48e97e095db0668514e3c Mon Sep 17 00:00:00 2001 From: Andreas Atteneder Date: Fri, 10 Apr 2026 16:20:37 +0200 Subject: [PATCH 23/27] com.atteneder.gltfast Release 6.18.0 --- CHANGELOG.md | 11 + Runtime/Scripts/Export/Constants.cs | 2 +- Runtime/Scripts/Export/GltfWriter.cs | 9 +- Runtime/Scripts/GltfImport.cs | 37 +- .../ImportAddons/IPostJsonDeserialization.cs | 23 + .../IPostJsonDeserialization.cs.meta | 11 + .../ImportAddonInstanceCollection.cs | 13 + Runtime/Scripts/MeshGenerator.cs | 1 + Runtime/Shader/Includes/Normal.cginc | 5 +- .../Shader/SubGraphs/Normal.shadersubgraph | 111 +++- .../glTF-pbrMetallicRoughness.shadergraph | 621 ++++++++++++++---- package.json | 2 +- 12 files changed, 684 insertions(+), 162 deletions(-) create mode 100644 Runtime/Scripts/ImportAddons/IPostJsonDeserialization.cs create mode 100644 Runtime/Scripts/ImportAddons/IPostJsonDeserialization.cs.meta diff --git a/CHANGELOG.md b/CHANGELOG.md index 4c1b6c685..faadf8915 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,17 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [6.18.0] - 2026-04-01 + +### Added +- (Add-Ons) [IPostJsonDeserialization](xref:GLTFast.Addons.IPostJsonDeserialization) for intercepting the loading process right after glTF JSON deserialization. +- (Test) Model *SubMeshIncompatible*, which features animated morph targets and primitives of incompatible vertex buffer structures. + +### Fixed +- (Shader) Back-face normals are now correctly flipped in URP (fixes [#38](https://github.com/Unity-Technologies/com.unity.cloud.gltfast/issues/38)). +- (Import) Textures are named after the corresponding glTF image again to ensure consistency with previous imports (reverts a change introduced in 6.17.0). +- (Import) Log error instead of throwing exception when failing to download a texture with a relative URI when a base URI is not provided. + ## [6.17.0] - 2026-03-17 ### Added diff --git a/Runtime/Scripts/Export/Constants.cs b/Runtime/Scripts/Export/Constants.cs index 4b706534f..4756417e1 100644 --- a/Runtime/Scripts/Export/Constants.cs +++ b/Runtime/Scripts/Export/Constants.cs @@ -7,7 +7,7 @@ namespace GLTFast.Export { static class Constants { - public const string version = "6.17.0"; + public const string version = "6.18.0"; internal const string mimeTypePNG = "image/png"; internal const string mimeTypeJPG = "image/jpeg"; diff --git a/Runtime/Scripts/Export/GltfWriter.cs b/Runtime/Scripts/Export/GltfWriter.cs index 50403affc..606cc849c 100755 --- a/Runtime/Scripts/Export/GltfWriter.cs +++ b/Runtime/Scripts/Export/GltfWriter.cs @@ -919,8 +919,6 @@ int DuplicateMesh(int meshId) async Task BakeMeshes(bool sync) { - Profiler.BeginSample("AcquireReadOnlyMeshData"); - if ((m_Settings.Compression & Compression.Draco) != 0) { #if DRACO_IS_INSTALLED @@ -949,7 +947,6 @@ async Task BakeMeshes(bool sync) var meshData = CollectMeshData(out var meshDataArray); - Profiler.EndSample(); for (var meshId = 0; meshId < m_Meshes.Count; meshId++) { Task task; @@ -1067,8 +1064,6 @@ IMeshData[] CollectMeshData(out UnityEngine.Mesh.MeshDataArray? meshDataArray) async Task BakeMesh(int meshId, IMeshData meshData, bool sync) { - Profiler.BeginSample("BakeMesh 1"); - var mesh = m_Meshes[meshId]; var uMesh = m_UnityMeshes[meshId]; var vertexAttributeUsage = m_Settings.PreservedVertexAttributes | m_MeshVertexAttributeUsage[meshId]; @@ -1242,7 +1237,7 @@ async Task BakeMesh(int meshId, IMeshData meshData, bool sync) indices = indexAccessorId, }; } - Profiler.EndSample(); // "BakeMesh 1" + if (!topology.HasValue) { m_Logger?.Error(LogCode.TopologyUnsupported, "unknown"); @@ -1331,7 +1326,6 @@ await ConvertSkinWeightsAttribute( ); break; case VertexAttribute.BlendIndices: - Profiler.BeginSample("ConvertSkinningAttributesJob"); // indices are uint*4 in Unity, and ushort*4 in glTF await ConvertSkinIndicesAttributes( attrData, @@ -1342,7 +1336,6 @@ await ConvertSkinIndicesAttributes( outputStreams[attrData.descriptor.stream], sync ); - Profiler.EndSample(); break; default: await ConvertGenericAttribute( diff --git a/Runtime/Scripts/GltfImport.cs b/Runtime/Scripts/GltfImport.cs index 431f0201b..99ff0319c 100755 --- a/Runtime/Scripts/GltfImport.cs +++ b/Runtime/Scripts/GltfImport.cs @@ -1233,6 +1233,15 @@ await GetBufferViewAsync(bufferView), } var uri = UriHelper.GetUriString(image.uri, BaseUri); + if (!uri.IsAbsoluteUri && BaseUri == null) + { + Logger?.Error( + LogCode.TextureDownloadFailed, + $"Couldn't resolve relative URI. Please provide a base URI.", + uri.ToString()); + return null; + } + return await ImageImport.LoadDataAsync(m_Context, uri, cancellationToken); } @@ -1465,6 +1474,13 @@ async Task ParseJsonAndLoadBuffers(string json, CancellationToken cancella return false; } + if (m_Addons? + .Any(addon => !addon.PostJsonDeserialization()) + ?? false) + { + return false; + } + if (!CheckExtensionSupport()) { return false; @@ -2348,9 +2364,11 @@ async Task Prepare(CancellationToken cancellationToken) m_NonFlippedYTextureIndices ??= new HashSet(m_TextureLoadTasks.Count); m_NonFlippedYTextureIndices.Add(textureLoadTask.Key); } - result.Texture.name = GetObjectName(Root.Textures[textureLoadTask.Key], textureLoadTask.Key); + + var textureIndex = textureLoadTask.Key; + result.Texture.name = GetTextureName(textureIndex); result.Texture.anisoLevel = m_Settings.AnisotropicFilterLevel; - m_Textures[textureLoadTask.Key] = result.Texture; + m_Textures[textureIndex] = result.Texture; m_Resources.Add(result.Texture); } } @@ -3184,9 +3202,20 @@ int[] GetMaterialIndices(int meshIndex, IReadOnlyList primitiveIndices) return result; } - static string GetObjectName(NamedObject img, int index) + string GetTextureName(int textureIndex) { - return string.IsNullOrEmpty(img.name) ? $"image_{index}" : img.name; + var texture = Root.Textures[textureIndex]; + + // For compatibility reasons textures are named after their glTF image. + // TODO: Change name to glTF texture name in the next major release. + var imageIndex = GetImageIndexFromTexture(texture, textureIndex); + var image = GetSourceImage(imageIndex); + if (image != null) + { + return string.IsNullOrEmpty(image.name) ? $"image_{imageIndex}" : image.name; + } + + return string.IsNullOrEmpty(texture.name) ? $"texture_{textureIndex}" : texture.name; } static void SafeDestroy(UnityEngine.Object obj) diff --git a/Runtime/Scripts/ImportAddons/IPostJsonDeserialization.cs b/Runtime/Scripts/ImportAddons/IPostJsonDeserialization.cs new file mode 100644 index 000000000..f08ee0b6c --- /dev/null +++ b/Runtime/Scripts/ImportAddons/IPostJsonDeserialization.cs @@ -0,0 +1,23 @@ +// SPDX-FileCopyrightText: 2026 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using UnityEngine; + +namespace GLTFast.Addons +{ + /// + /// Useful for analysis, verification and manipulation of the deserialized glTF JSON data + /// before any further loading of resources (buffers, images) has started. + /// To use this, implement the interface in an and inject that instance. + /// + /// + /// + public interface IPostJsonDeserialization + { + /// + /// Called right after JSON deserialization is complete, but before any loading of resources has started. + /// + /// False if the loading process has to be aborted due to a critical error. True otherwise. + bool PostJsonDeserialization(); + } +} diff --git a/Runtime/Scripts/ImportAddons/IPostJsonDeserialization.cs.meta b/Runtime/Scripts/ImportAddons/IPostJsonDeserialization.cs.meta new file mode 100644 index 000000000..ee3c027bc --- /dev/null +++ b/Runtime/Scripts/ImportAddons/IPostJsonDeserialization.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 1653afa55250c448cb912143f412fb1a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/ImportAddons/ImportAddonInstanceCollection.cs b/Runtime/Scripts/ImportAddons/ImportAddonInstanceCollection.cs index c968d01f9..908974d5b 100644 --- a/Runtime/Scripts/ImportAddons/ImportAddonInstanceCollection.cs +++ b/Runtime/Scripts/ImportAddons/ImportAddonInstanceCollection.cs @@ -31,6 +31,19 @@ public T Get() where T : ImportAddonInstance return null; } + public bool Any(Func predicate) + { + foreach (var instance in m_Addons) + { + if (instance is T target && predicate(target)) + { + return true; + } + } + + return false; + } + public T First(Func predicate) { foreach (var instance in m_Addons) diff --git a/Runtime/Scripts/MeshGenerator.cs b/Runtime/Scripts/MeshGenerator.cs index 9e43c5869..9e8ef9315 100644 --- a/Runtime/Scripts/MeshGenerator.cs +++ b/Runtime/Scripts/MeshGenerator.cs @@ -137,6 +137,7 @@ out bool hasTangents } } } + Profiler.EndSample(); return mainBufferType; } diff --git a/Runtime/Shader/Includes/Normal.cginc b/Runtime/Shader/Includes/Normal.cginc index 44632e347..c71a4f6c9 100644 --- a/Runtime/Shader/Includes/Normal.cginc +++ b/Runtime/Shader/Includes/Normal.cginc @@ -3,12 +3,15 @@ #define GLTF_HLSL_INCLUDE_NORMAL /// This is a replacement for UnityStandardUtils UnpackScaleNormalRGorAG to use XYZ normals even with DXT5nm enabled -void NormalInTangentSpace_float(UnityTexture2D normal_texture, float2 uv, float normal_scale, out float3 normal) +void NormalInTangentSpace_float(UnityTexture2D normal_texture, float2 uv, float normal_scale, bool front_face, out float3 normal) { float4 packed_normal = tex2D(normal_texture, uv); normal.xy = packed_normal.xy * 2 - 1; normal.xy *= normal_scale; normal.z = sqrt(1.0 - saturate(dot(normal.xy, normal.xy))); +#if defined(UNIVERSAL_PIPELINE_CORE_INCLUDED) + normal *= lerp(-1, 1, front_face); +#endif } #endif diff --git a/Runtime/Shader/SubGraphs/Normal.shadersubgraph b/Runtime/Shader/SubGraphs/Normal.shadersubgraph index 2293ea6e7..ddbce14cf 100644 --- a/Runtime/Shader/SubGraphs/Normal.shadersubgraph +++ b/Runtime/Shader/SubGraphs/Normal.shadersubgraph @@ -35,6 +35,9 @@ }, { "m_Id": "78b78d3380e64bbfb13e1fc5482ae5db" + }, + { + "m_Id": "7e1c59d8acde4eef86552aaa2860494b" } ], "m_GroupDatas": [ @@ -86,6 +89,20 @@ "m_SlotId": 1 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "7e1c59d8acde4eef86552aaa2860494b" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "78b78d3380e64bbfb13e1fc5482ae5db" + }, + "m_SlotId": 5 + } + }, { "m_OutputSlot": { "m_Node": { @@ -165,7 +182,7 @@ "m_SlotType": 0, "m_Hidden": false, "m_ShaderOutputName": "normal", - "m_StageCapability": 3, + "m_StageCapability": 2, "m_Value": { "x": 0.0, "y": 0.0, @@ -223,10 +240,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": -237.0000457763672, - "y": 3.0000147819519045, + "x": -363.0, + "y": 3.0000133514404299, "width": 93.0, - "height": 33.99996566772461 + "height": 34.00000762939453 } }, "m_Slots": [ @@ -247,6 +264,20 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BooleanMaterialSlot", + "m_ObjectId": "65d95c35422d48989fba2ae2700b4e49", + "m_Id": 0, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 2, + "m_Value": true, + "m_DefaultValue": true +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Texture2DMaterialSlot", @@ -306,10 +337,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": -237.0000457763672, - "y": 42.9999885559082, - "width": 139.0000457763672, - "height": 34.00002670288086 + "x": -363.0, + "y": 43.00000762939453, + "width": 139.00001525878907, + "height": 34.00000762939453 } }, "m_Slots": [ @@ -358,6 +389,9 @@ { "m_Id": "be7829f9a7ce47bfbe579dc864d8f48b" }, + { + "m_Id": "d717dafee0a448eca095df7ca7d50c66" + }, { "m_Id": "c35c7faea3ff4e60a387ce086243fd2b" } @@ -376,6 +410,7 @@ "m_SourceType": 0, "m_FunctionName": "NormalInTangentSpace", "m_FunctionSource": "30d0f0e3f526585408342f8854723a88", + "m_FunctionSourceUsePragmas": true, "m_FunctionBody": "#if defined(UNITY_ASTC_NORMALMAP_ENCODING)\r\n return UnpackScaleNormalDXT5nm(tex2D (normalTexture, texcoords), normalTexture_scale);\r\n#else\r\n return UnpackScaleNormal(tex2D (normalTexture, texcoords), normalTexture_scale);\r\n#endif" } @@ -409,13 +444,49 @@ "m_DefaultType": 0 } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.IsFrontFaceNode", + "m_ObjectId": "7e1c59d8acde4eef86552aaa2860494b", + "m_Group": { + "m_Id": "896afbc0d6b949ba95ce219f5bbc36ba" + }, + "m_Name": "Is Front Face", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -158.0, + "y": 90.99999237060547, + "width": 120.00003051757813, + "height": 77.00000762939453 + } + }, + "m_Slots": [ + { + "m_Id": "65d95c35422d48989fba2ae2700b4e49" + } + ], + "synonyms": [ + "face", + "side" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.GroupData", "m_ObjectId": "896afbc0d6b949ba95ce219f5bbc36ba", "m_Title": "Normal", "m_Position": { - "x": -52.0, + "x": -183.0, "y": -120.0 } } @@ -499,10 +570,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": -237.0000457763672, - "y": -36.99995803833008, - "width": 159.00003051757813, - "height": 33.99996566772461 + "x": -363.0, + "y": -37.00001907348633, + "width": 159.00001525878907, + "height": 34.00000762939453 } }, "m_Slots": [ @@ -561,6 +632,20 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BooleanMaterialSlot", + "m_ObjectId": "d717dafee0a448eca095df7ca7d50c66", + "m_Id": 5, + "m_DisplayName": "front_face", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "front_face", + "m_StageCapability": 3, + "m_Value": false, + "m_DefaultValue": false +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", diff --git a/Runtime/Shader/glTF-pbrMetallicRoughness.shadergraph b/Runtime/Shader/glTF-pbrMetallicRoughness.shadergraph index bbbaa260f..54af92911 100644 --- a/Runtime/Shader/glTF-pbrMetallicRoughness.shadergraph +++ b/Runtime/Shader/glTF-pbrMetallicRoughness.shadergraph @@ -255,9 +255,6 @@ }, { "m_Id": "2d82b8f2c2ed4d4ca637330d4d181e38" - }, - { - "m_Id": "ed7eae01c1594798a04d01ba4f4373c1" } ], "m_GroupDatas": [], @@ -915,9 +912,6 @@ }, { "m_Id": "d98d754098554e8fb1642b279ef92668" - }, - { - "m_Id": "ed7eae01c1594798a04d01ba4f4373c1" } ] }, @@ -934,6 +928,7 @@ "m_OutputNode": { "m_Id": "" }, + "m_SubDatas": [], "m_ActiveTargets": [ { "m_Id": "1d3860d54a0c4892a64722ccb66fd7f2" @@ -973,6 +968,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -992,7 +988,7 @@ "m_StageCapability": 2, "m_BareResource": false, "m_Texture": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "m_DefaultType": 0 @@ -1024,6 +1020,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1045,7 +1042,8 @@ "m_DefaultValue": 0.0, "m_Labels": [ "X" - ] + ], + "m_LiteralMode": false } { @@ -1161,7 +1159,8 @@ } ], "m_CustomEditorGUI": "", - "m_SupportVFX": false + "m_SupportVFX": false, + "m_SupportLineRendering": false } { @@ -1176,7 +1175,8 @@ "m_StageCapability": 2, "m_Value": 0.0, "m_DefaultValue": 0.0, - "m_Labels": [] + "m_Labels": [], + "m_LiteralMode": false } { @@ -1205,6 +1205,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1240,6 +1241,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1284,42 +1286,12 @@ "m_StageCapability": 2, "m_BareResource": false, "m_Texture": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "m_DefaultType": 0 } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", - "m_ObjectId": "1222d9f519f040ceb1cbcfd5163bb4a1", - "m_Id": 0, - "m_DisplayName": "Specular Color", - "m_SlotType": 0, - "m_Hidden": false, - "m_ShaderOutputName": "Specular", - "m_StageCapability": 2, - "m_Value": { - "x": 0.5, - "y": 0.5, - "z": 0.5 - }, - "m_DefaultValue": { - "x": 0.0, - "y": 0.0, - "z": 0.0 - }, - "m_Labels": [], - "m_ColorMode": 0, - "m_DefaultColor": { - "r": 0.5, - "g": 0.5, - "b": 0.5, - "a": 1.0 - } -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", @@ -1371,6 +1343,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1408,6 +1381,7 @@ "m_SGVersion": 2, "m_Type": "UnityEditor.Rendering.BuiltIn.ShaderGraph.BuiltInTarget", "m_ObjectId": "1d3860d54a0c4892a64722ccb66fd7f2", + "m_Datas": [], "m_ActiveSubTarget": { "m_Id": "f5095ff01c8a4a0abb752af0b8fe6968" }, @@ -1452,6 +1426,9 @@ "m_Guid": { "m_GuidSerialized": "01a86c44-4c21-442a-8ee1-a7eb77704c4f" }, + "promotedFromAssetID": "", + "promotedFromCategoryName": "", + "promotedOrdering": -1, "m_Name": "Base Color Tex UV", "m_DefaultRefNameVersion": 0, "m_RefNameGeneratedByDisplayName": "", @@ -1460,16 +1437,30 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, + "m_PerRendererData": false, + "m_customAttributes": [], "m_Value": 0.0, "m_FloatType": 2, + "m_LiteralFloatMode": false, "m_RangeValues": { "x": 0.0, "y": 1.0 - } + }, + "m_SliderType": 0, + "m_SliderPower": 3.0, + "m_EnumType": 0, + "m_CSharpEnumString": "", + "m_EnumNames": [ + "Default" + ], + "m_EnumValues": [ + 0 + ] } { @@ -1479,6 +1470,9 @@ "m_Guid": { "m_GuidSerialized": "0f8451d3-f402-45f1-80a0-90c8cfc3c5a1" }, + "promotedFromAssetID": "", + "promotedFromCategoryName": "", + "promotedOrdering": -1, "m_Name": "Normal Scale", "m_DefaultRefNameVersion": 0, "m_RefNameGeneratedByDisplayName": "", @@ -1487,16 +1481,30 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, + "m_PerRendererData": false, + "m_customAttributes": [], "m_Value": 1.0, "m_FloatType": 1, + "m_LiteralFloatMode": false, "m_RangeValues": { "x": 0.0, "y": 1.0 - } + }, + "m_SliderType": 0, + "m_SliderPower": 3.0, + "m_EnumType": 0, + "m_CSharpEnumString": "", + "m_EnumNames": [ + "Default" + ], + "m_EnumValues": [ + 0 + ] } { @@ -1506,6 +1514,9 @@ "m_Guid": { "m_GuidSerialized": "974a34fd-0dc8-4d00-9979-0519802e7a73" }, + "promotedFromAssetID": "", + "promotedFromCategoryName": "", + "promotedOrdering": -1, "m_Name": "Metallic-Roughness Tex ST", "m_DefaultRefNameVersion": 0, "m_RefNameGeneratedByDisplayName": "", @@ -1514,10 +1525,13 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, + "m_PerRendererData": false, + "m_customAttributes": [], "m_Value": { "x": 1.0, "y": 1.0, @@ -1552,6 +1566,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1581,6 +1596,9 @@ "m_Guid": { "m_GuidSerialized": "7b92f262-febd-4fdf-89f4-2f0dbbe3c19e" }, + "promotedFromAssetID": "", + "promotedFromCategoryName": "", + "promotedOrdering": -1, "m_Name": "Alpha Cutoff", "m_DefaultRefNameVersion": 0, "m_RefNameGeneratedByDisplayName": "", @@ -1589,16 +1607,30 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, + "m_PerRendererData": false, + "m_customAttributes": [], "m_Value": 0.5, "m_FloatType": 1, + "m_LiteralFloatMode": false, "m_RangeValues": { "x": 0.0, "y": 1.0 - } + }, + "m_SliderType": 0, + "m_SliderPower": 3.0, + "m_EnumType": 0, + "m_CSharpEnumString": "", + "m_EnumNames": [ + "Default" + ], + "m_EnumValues": [ + 0 + ] } { @@ -1652,6 +1684,7 @@ "synonyms": [], "m_Precision": 2, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1687,6 +1720,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1748,7 +1782,8 @@ "m_DefaultValue": 0.0, "m_Labels": [ "X" - ] + ], + "m_LiteralMode": false } { @@ -1765,7 +1800,8 @@ "m_DefaultValue": 0.0, "m_Labels": [ "X" - ] + ], + "m_LiteralMode": false } { @@ -1775,7 +1811,7 @@ "m_Group": { "m_Id": "" }, - "m_Name": "ScreenGrab", + "m_Name": "Screen Grab", "m_DrawState": { "m_Expanded": true, "m_Position": { @@ -1806,6 +1842,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -1834,6 +1871,9 @@ "m_Guid": { "m_GuidSerialized": "415b99f8-047a-4116-a162-7a2c1dee6d2c" }, + "promotedFromAssetID": "", + "promotedFromCategoryName": "", + "promotedOrdering": -1, "m_Name": "Occlusion Tex Rotation", "m_DefaultRefNameVersion": 0, "m_RefNameGeneratedByDisplayName": "", @@ -1842,10 +1882,13 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, + "m_PerRendererData": false, + "m_customAttributes": [], "m_Value": { "x": 0.0, "y": 0.0, @@ -1866,7 +1909,7 @@ "m_StageCapability": 2, "m_BareResource": false, "m_Texture": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "m_DefaultType": 0 @@ -1881,7 +1924,6 @@ "m_DistortionDepthTest": true, "m_AddPrecomputedVelocity": false, "m_TransparentWritesMotionVec": false, - "m_AlphaToMask": false, "m_DepthOffset": false, "m_ConservativeDepthOffset": false, "m_TransparencyFog": true, @@ -1889,6 +1931,7 @@ "m_BackThenFrontRendering": false, "m_TransparentDepthPrepass": false, "m_TransparentDepthPostpass": false, + "m_TransparentPerPixelSorting": false, "m_SupportLodCrossFade": false } @@ -1918,6 +1961,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2059,6 +2103,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2144,7 +2189,8 @@ "m_StageCapability": 2, "m_Value": 0.5, "m_DefaultValue": 0.5, - "m_Labels": [] + "m_Labels": [], + "m_LiteralMode": false } { @@ -2154,6 +2200,9 @@ "m_Guid": { "m_GuidSerialized": "b1be9b39-b105-4087-985e-f6eb003f06d1" }, + "promotedFromAssetID": "", + "promotedFromCategoryName": "", + "promotedOrdering": -1, "m_Name": "Emissive Tex ST", "m_DefaultRefNameVersion": 0, "m_RefNameGeneratedByDisplayName": "", @@ -2162,10 +2211,13 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, + "m_PerRendererData": false, + "m_customAttributes": [], "m_Value": { "x": 1.0, "y": 1.0, @@ -2181,6 +2233,9 @@ "m_Guid": { "m_GuidSerialized": "06d6e0d3-a210-4065-af02-38a543a20066" }, + "promotedFromAssetID": "", + "promotedFromCategoryName": "", + "promotedOrdering": -1, "m_Name": "Base Color Tex", "m_DefaultRefNameVersion": 0, "m_RefNameGeneratedByDisplayName": "", @@ -2189,16 +2244,20 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 2, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, + "m_PerRendererData": false, + "m_customAttributes": [], "m_Value": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "isMainTexture": true, "useTilingAndOffset": false, + "useTexelSize": true, "m_Modifiable": true, "m_DefaultType": 0 } @@ -2229,6 +2288,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2264,6 +2324,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2280,6 +2341,9 @@ "m_Guid": { "m_GuidSerialized": "7f4f45f2-b62a-4732-893b-0d7ab9ce6986" }, + "promotedFromAssetID": "", + "promotedFromCategoryName": "", + "promotedOrdering": -1, "m_Name": "Base Color", "m_DefaultRefNameVersion": 0, "m_RefNameGeneratedByDisplayName": "", @@ -2288,10 +2352,13 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 2, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, + "m_PerRendererData": false, + "m_customAttributes": [], "m_Value": { "r": 1.0, "g": 1.0, @@ -2363,7 +2430,8 @@ "m_StageCapability": 2, "m_Value": 0.0, "m_DefaultValue": 0.0, - "m_Labels": [] + "m_Labels": [], + "m_LiteralMode": false } { @@ -2373,6 +2441,9 @@ "m_Guid": { "m_GuidSerialized": "81ffbc91-537c-4248-9442-5b1679781096" }, + "promotedFromAssetID": "", + "promotedFromCategoryName": "", + "promotedOrdering": -1, "m_Name": "Occlusion Tex ST", "m_DefaultRefNameVersion": 0, "m_RefNameGeneratedByDisplayName": "", @@ -2381,10 +2452,13 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, + "m_PerRendererData": false, + "m_customAttributes": [], "m_Value": { "x": 1.0, "y": 1.0, @@ -2446,6 +2520,9 @@ "m_Guid": { "m_GuidSerialized": "d1e9d72e-fd9f-444e-9d70-c1504e8fe681" }, + "promotedFromAssetID": "", + "promotedFromCategoryName": "", + "promotedOrdering": -1, "m_Name": "Normal Tex ST", "m_DefaultRefNameVersion": 0, "m_RefNameGeneratedByDisplayName": "", @@ -2454,10 +2531,13 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, + "m_PerRendererData": false, + "m_customAttributes": [], "m_Value": { "x": 1.0, "y": 1.0, @@ -2473,6 +2553,9 @@ "m_Guid": { "m_GuidSerialized": "a7d905c3-7492-4341-bcc1-99dd0b856891" }, + "promotedFromAssetID": "", + "promotedFromCategoryName": "", + "promotedOrdering": -1, "m_Name": "EMISSIVE", "m_DefaultRefNameVersion": 0, "m_RefNameGeneratedByDisplayName": "", @@ -2481,6 +2564,7 @@ "m_GeneratePropertyBlock": false, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_KeywordType": 0, "m_KeywordDefinition": 0, "m_KeywordScope": 0, @@ -2497,6 +2581,9 @@ "m_Guid": { "m_GuidSerialized": "2d4a6c6e-9ba5-40d0-aedf-0a2df1d543dd" }, + "promotedFromAssetID": "", + "promotedFromCategoryName": "", + "promotedOrdering": -1, "m_Name": "TRANSMISSION", "m_DefaultRefNameVersion": 0, "m_RefNameGeneratedByDisplayName": "", @@ -2505,6 +2592,7 @@ "m_GeneratePropertyBlock": false, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_KeywordType": 0, "m_KeywordDefinition": 0, "m_KeywordScope": 0, @@ -2528,7 +2616,8 @@ "m_DefaultValue": 0.0, "m_Labels": [ "X" - ] + ], + "m_LiteralMode": false } { @@ -2538,6 +2627,9 @@ "m_Guid": { "m_GuidSerialized": "602ab477-8f72-4df8-9191-288cd6c5e4d5" }, + "promotedFromAssetID": "", + "promotedFromCategoryName": "", + "promotedOrdering": -1, "m_Name": "Normal Tex Rotation", "m_DefaultRefNameVersion": 0, "m_RefNameGeneratedByDisplayName": "", @@ -2546,10 +2638,13 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, + "m_PerRendererData": false, + "m_customAttributes": [], "m_Value": { "x": 0.0, "y": 0.0, @@ -2590,7 +2685,8 @@ "m_StageCapability": 2, "m_Value": 0.0, "m_DefaultValue": 0.0, - "m_Labels": [] + "m_Labels": [], + "m_LiteralMode": false } { @@ -2607,7 +2703,8 @@ "m_DefaultValue": 0.0, "m_Labels": [ "X" - ] + ], + "m_LiteralMode": false } { @@ -2636,6 +2733,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2671,6 +2769,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2704,6 +2803,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2719,6 +2819,7 @@ "m_ObjectId": "4e0047ba5a304844a07f3f89099e8808", "m_RayTracing": false, "m_MaterialType": 0, + "m_MaterialTypeMask": 2, "m_RefractionModel": 0, "m_SSSTransmission": true, "m_EnergyConservingSpecular": true, @@ -2732,6 +2833,9 @@ "m_Guid": { "m_GuidSerialized": "2793be4b-b042-47ee-aee8-4ad548f3e6a8" }, + "promotedFromAssetID": "", + "promotedFromCategoryName": "", + "promotedOrdering": -1, "m_Name": "Transmission", "m_DefaultRefNameVersion": 0, "m_RefNameGeneratedByDisplayName": "", @@ -2740,16 +2844,30 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, + "m_PerRendererData": false, + "m_customAttributes": [], "m_Value": 0.0, "m_FloatType": 1, + "m_LiteralFloatMode": false, "m_RangeValues": { "x": 0.0, "y": 1.0 - } + }, + "m_SliderType": 0, + "m_SliderPower": 3.0, + "m_EnumType": 0, + "m_CSharpEnumString": "", + "m_EnumNames": [ + "Default" + ], + "m_EnumValues": [ + 0 + ] } { @@ -2777,7 +2895,7 @@ "m_StageCapability": 2, "m_BareResource": false, "m_Texture": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "m_DefaultType": 0 @@ -2853,6 +2971,9 @@ "m_Guid": { "m_GuidSerialized": "8c960e31-f89f-41e6-958a-5a8561a5d8c4" }, + "promotedFromAssetID": "", + "promotedFromCategoryName": "", + "promotedOrdering": -1, "m_Name": "Base Color Tex Rotation", "m_DefaultRefNameVersion": 0, "m_RefNameGeneratedByDisplayName": "", @@ -2861,10 +2982,13 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, + "m_PerRendererData": false, + "m_customAttributes": [], "m_Value": { "x": 0.0, "y": 0.0, @@ -2887,7 +3011,8 @@ "m_DefaultValue": 0.0, "m_Labels": [ "X" - ] + ], + "m_LiteralMode": false } { @@ -2902,7 +3027,8 @@ "m_StageCapability": 2, "m_Value": 0.0, "m_DefaultValue": 0.5, - "m_Labels": [] + "m_Labels": [], + "m_LiteralMode": false } { @@ -2931,6 +3057,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2947,6 +3074,9 @@ "m_Guid": { "m_GuidSerialized": "aa0c7a44-774f-4810-b9c3-cf7ac3b7e153" }, + "promotedFromAssetID": "", + "promotedFromCategoryName": "", + "promotedOrdering": -1, "m_Name": "Occlusion Tex UV", "m_DefaultRefNameVersion": 0, "m_RefNameGeneratedByDisplayName": "", @@ -2955,16 +3085,30 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, + "m_PerRendererData": false, + "m_customAttributes": [], "m_Value": 0.0, "m_FloatType": 0, + "m_LiteralFloatMode": false, "m_RangeValues": { "x": 0.0, "y": 1.0 - } + }, + "m_SliderType": 0, + "m_SliderPower": 3.0, + "m_EnumType": 0, + "m_CSharpEnumString": "", + "m_EnumNames": [ + "Default" + ], + "m_EnumValues": [ + 0 + ] } { @@ -3018,6 +3162,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3032,6 +3177,9 @@ "m_Guid": { "m_GuidSerialized": "9dba0444-5255-46c6-b45b-d7758fb87c92" }, + "promotedFromAssetID": "", + "promotedFromCategoryName": "", + "promotedOrdering": -1, "m_Name": "Roughness", "m_DefaultRefNameVersion": 0, "m_RefNameGeneratedByDisplayName": "", @@ -3040,16 +3188,30 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, + "m_PerRendererData": false, + "m_customAttributes": [], "m_Value": 1.0, "m_FloatType": 1, + "m_LiteralFloatMode": false, "m_RangeValues": { "x": 0.0, "y": 1.0 - } + }, + "m_SliderType": 0, + "m_SliderPower": 3.0, + "m_EnumType": 0, + "m_CSharpEnumString": "", + "m_EnumNames": [ + "Default" + ], + "m_EnumValues": [ + 0 + ] } { @@ -3132,7 +3294,8 @@ "m_StageCapability": 3, "m_Value": 0.0, "m_DefaultValue": 0.0, - "m_Labels": [] + "m_Labels": [], + "m_LiteralMode": false } { @@ -3161,6 +3324,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3245,6 +3409,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3280,6 +3445,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3296,6 +3462,9 @@ "m_Guid": { "m_GuidSerialized": "10d76b91-eaaf-4eb7-8331-d7e8f7615734" }, + "promotedFromAssetID": "", + "promotedFromCategoryName": "", + "promotedOrdering": -1, "m_Name": "Occlusion Strength", "m_DefaultRefNameVersion": 0, "m_RefNameGeneratedByDisplayName": "", @@ -3304,16 +3473,30 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, + "m_PerRendererData": false, + "m_customAttributes": [], "m_Value": 1.0, "m_FloatType": 1, + "m_LiteralFloatMode": false, "m_RangeValues": { "x": 0.0, "y": 1.0 - } + }, + "m_SliderType": 0, + "m_SliderPower": 3.0, + "m_EnumType": 0, + "m_CSharpEnumString": "", + "m_EnumNames": [ + "Default" + ], + "m_EnumValues": [ + 0 + ] } { @@ -3328,7 +3511,8 @@ "m_StageCapability": 2, "m_Value": 0.0, "m_DefaultValue": 0.0, - "m_Labels": [] + "m_Labels": [], + "m_LiteralMode": false } { @@ -3343,7 +3527,8 @@ "m_StageCapability": 2, "m_Value": 0.0, "m_DefaultValue": 0.0, - "m_Labels": [] + "m_Labels": [], + "m_LiteralMode": false } { @@ -3358,7 +3543,8 @@ "m_StageCapability": 2, "m_Value": 1.0, "m_DefaultValue": 1.0, - "m_Labels": [] + "m_Labels": [], + "m_LiteralMode": false } { @@ -3368,6 +3554,9 @@ "m_Guid": { "m_GuidSerialized": "4bdd5ce6-07d2-407c-8a17-dc0d8fa64973" }, + "promotedFromAssetID": "", + "promotedFromCategoryName": "", + "promotedOrdering": -1, "m_Name": "OCCLUSION", "m_DefaultRefNameVersion": 0, "m_RefNameGeneratedByDisplayName": "", @@ -3376,6 +3565,7 @@ "m_GeneratePropertyBlock": false, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_KeywordType": 0, "m_KeywordDefinition": 0, "m_KeywordScope": 0, @@ -3411,6 +3601,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3434,7 +3625,8 @@ "m_DefaultValue": 0.0, "m_Labels": [ "X" - ] + ], + "m_LiteralMode": false } { @@ -3488,6 +3680,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3502,6 +3695,9 @@ "m_Guid": { "m_GuidSerialized": "fb975e48-ec42-4639-a2cf-f59e9e19e088" }, + "promotedFromAssetID": "", + "promotedFromCategoryName": "", + "promotedOrdering": -1, "m_Name": "Emissive Exposure Weight", "m_DefaultRefNameVersion": 0, "m_RefNameGeneratedByDisplayName": "", @@ -3510,16 +3706,30 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, + "m_PerRendererData": false, + "m_customAttributes": [], "m_Value": 0.0, "m_FloatType": 1, + "m_LiteralFloatMode": false, "m_RangeValues": { "x": 0.0, "y": 1.0 - } + }, + "m_SliderType": 0, + "m_SliderPower": 3.0, + "m_EnumType": 0, + "m_CSharpEnumString": "", + "m_EnumNames": [ + "Default" + ], + "m_EnumValues": [ + 0 + ] } { @@ -3534,7 +3744,8 @@ "m_StageCapability": 2, "m_Value": 0.0, "m_DefaultValue": 0.0, - "m_Labels": [] + "m_Labels": [], + "m_LiteralMode": false } { @@ -3580,7 +3791,7 @@ "m_StageCapability": 2, "m_BareResource": false, "m_Texture": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "m_DefaultType": 0 @@ -3600,7 +3811,8 @@ "m_DefaultValue": 0.0, "m_Labels": [ "X" - ] + ], + "m_LiteralMode": false } { @@ -3635,6 +3847,9 @@ "m_Guid": { "m_GuidSerialized": "e29fdde6-03d7-4303-a706-e86a76dc3344" }, + "promotedFromAssetID": "", + "promotedFromCategoryName": "", + "promotedOrdering": -1, "m_Name": "Emissive Tex UV", "m_DefaultRefNameVersion": 0, "m_RefNameGeneratedByDisplayName": "", @@ -3643,16 +3858,30 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, + "m_PerRendererData": false, + "m_customAttributes": [], "m_Value": 0.0, "m_FloatType": 2, + "m_LiteralFloatMode": false, "m_RangeValues": { "x": 0.0, "y": 1.0 - } + }, + "m_SliderType": 0, + "m_SliderPower": 3.0, + "m_EnumType": 0, + "m_CSharpEnumString": "", + "m_EnumNames": [ + "Default" + ], + "m_EnumValues": [ + 0 + ] } { @@ -3681,6 +3910,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3711,7 +3941,8 @@ "y": 0.0, "z": 0.0, "w": 0.0 - } + }, + "m_LiteralMode": true } { @@ -3721,6 +3952,9 @@ "m_Guid": { "m_GuidSerialized": "1f801b95-1898-44f4-a056-0e179cd2290f" }, + "promotedFromAssetID": "", + "promotedFromCategoryName": "", + "promotedOrdering": -1, "m_Name": "Emissive", "m_DefaultRefNameVersion": 0, "m_RefNameGeneratedByDisplayName": "", @@ -3729,10 +3963,13 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, + "m_PerRendererData": false, + "m_customAttributes": [], "m_Value": { "r": 0.0, "g": 0.0, @@ -3769,6 +4006,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3804,6 +4042,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3820,6 +4059,9 @@ "m_Guid": { "m_GuidSerialized": "2447befe-815a-42fa-a48c-0ecec203118c" }, + "promotedFromAssetID": "", + "promotedFromCategoryName": "", + "promotedOrdering": -1, "m_Name": "Metallic", "m_DefaultRefNameVersion": 0, "m_RefNameGeneratedByDisplayName": "", @@ -3828,16 +4070,30 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, + "m_PerRendererData": false, + "m_customAttributes": [], "m_Value": 1.0, "m_FloatType": 1, + "m_LiteralFloatMode": false, "m_RangeValues": { "x": 0.0, "y": 1.0 - } + }, + "m_SliderType": 0, + "m_SliderPower": 3.0, + "m_EnumType": 0, + "m_CSharpEnumString": "", + "m_EnumNames": [ + "Default" + ], + "m_EnumValues": [ + 0 + ] } { @@ -3877,6 +4133,9 @@ "m_Guid": { "m_GuidSerialized": "108fbca7-4236-4cd0-91b0-91284d981583" }, + "promotedFromAssetID": "", + "promotedFromCategoryName": "", + "promotedOrdering": -1, "m_Name": "TEXTURE_TRANSFORM", "m_DefaultRefNameVersion": 0, "m_RefNameGeneratedByDisplayName": "", @@ -3885,6 +4144,7 @@ "m_GeneratePropertyBlock": false, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_KeywordType": 0, "m_KeywordDefinition": 0, "m_KeywordScope": 0, @@ -3901,6 +4161,9 @@ "m_Guid": { "m_GuidSerialized": "069f0a9f-bab9-4025-81ea-0b6976eec3c5" }, + "promotedFromAssetID": "", + "promotedFromCategoryName": "", + "promotedOrdering": -1, "m_Name": "Base Color Tex ST", "m_DefaultRefNameVersion": 0, "m_RefNameGeneratedByDisplayName": "", @@ -3909,10 +4172,13 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, + "m_PerRendererData": false, + "m_customAttributes": [], "m_Value": { "x": 1.0, "y": 1.0, @@ -3933,7 +4199,8 @@ "m_StageCapability": 2, "m_Value": 1.0, "m_DefaultValue": 1.0, - "m_Labels": [] + "m_Labels": [], + "m_LiteralMode": false } { @@ -3985,6 +4252,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4006,7 +4274,8 @@ "m_StageCapability": 2, "m_Value": 0.0, "m_DefaultValue": 0.0, - "m_Labels": [] + "m_Labels": [], + "m_LiteralMode": false } { @@ -4048,6 +4317,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4067,7 +4337,8 @@ "m_StageCapability": 2, "m_Value": 0.0, "m_DefaultValue": 0.0, - "m_Labels": [] + "m_Labels": [], + "m_LiteralMode": false } { @@ -4096,6 +4367,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4129,6 +4401,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4168,6 +4441,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4201,6 +4475,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4236,6 +4511,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4275,6 +4551,9 @@ "m_Guid": { "m_GuidSerialized": "743c7b72-9601-4582-92b7-a9e09e4eeabb" }, + "promotedFromAssetID": "", + "promotedFromCategoryName": "", + "promotedOrdering": -1, "m_Name": "Metallic-Roughness Tex UV", "m_DefaultRefNameVersion": 0, "m_RefNameGeneratedByDisplayName": "", @@ -4283,16 +4562,30 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, + "m_PerRendererData": false, + "m_customAttributes": [], "m_Value": 0.0, "m_FloatType": 0, + "m_LiteralFloatMode": false, "m_RangeValues": { "x": 0.0, "y": 1.0 - } + }, + "m_SliderType": 0, + "m_SliderPower": 3.0, + "m_EnumType": 0, + "m_CSharpEnumString": "", + "m_EnumNames": [ + "Default" + ], + "m_EnumValues": [ + 0 + ] } { @@ -4332,7 +4625,8 @@ "m_DefaultValue": 0.0, "m_Labels": [ "X" - ] + ], + "m_LiteralMode": false } { @@ -4363,6 +4657,9 @@ "m_Guid": { "m_GuidSerialized": "c78dc6ba-ab52-4c62-9001-bf2477bc92d3" }, + "promotedFromAssetID": "", + "promotedFromCategoryName": "", + "promotedOrdering": -1, "m_Name": "Transmission Tex", "m_DefaultRefNameVersion": 0, "m_RefNameGeneratedByDisplayName": "", @@ -4371,16 +4668,20 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, + "m_PerRendererData": false, + "m_customAttributes": [], "m_Value": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "isMainTexture": false, "useTilingAndOffset": false, + "useTexelSize": true, "m_Modifiable": true, "m_DefaultType": 0 } @@ -4397,7 +4698,8 @@ "m_StageCapability": 2, "m_Value": 0.0, "m_DefaultValue": 0.0, - "m_Labels": [] + "m_Labels": [], + "m_LiteralMode": false } { @@ -4454,7 +4756,8 @@ "m_StageCapability": 2, "m_Value": 0.0, "m_DefaultValue": 0.0, - "m_Labels": [] + "m_Labels": [], + "m_LiteralMode": false } { @@ -4464,6 +4767,9 @@ "m_Guid": { "m_GuidSerialized": "8e2bf8f5-c63a-4499-838d-4d8264e31925" }, + "promotedFromAssetID": "", + "promotedFromCategoryName": "", + "promotedOrdering": -1, "m_Name": "Occlusion Tex", "m_DefaultRefNameVersion": 0, "m_RefNameGeneratedByDisplayName": "", @@ -4472,16 +4778,20 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, + "m_PerRendererData": false, + "m_customAttributes": [], "m_Value": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "isMainTexture": false, "useTilingAndOffset": false, + "useTexelSize": true, "m_Modifiable": true, "m_DefaultType": 0 } @@ -4536,6 +4846,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4571,6 +4882,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4584,7 +4896,7 @@ "m_SGVersion": 0, "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.SystemData", "m_ObjectId": "c49dfbcab1cc410a9d0fc0ed4d34d6c0", - "m_MaterialNeedsUpdateHash": 280370, + "m_MaterialNeedsUpdateHash": 279841, "m_SurfaceType": 0, "m_RenderingPass": 1, "m_BlendMode": 0, @@ -4594,10 +4906,11 @@ "m_OpaqueCullMode": 2, "m_SortPriority": 0, "m_AlphaTest": true, + "m_ExcludeFromTUAndAA": false, "m_TransparentDepthPrepass": false, "m_TransparentDepthPostpass": false, "m_SupportLodCrossFade": false, - "m_DoubleSidedMode": 0, + "m_DoubleSidedMode": 1, "m_DOTSInstancing": false, "m_CustomVelocity": false, "m_Tessellation": false, @@ -4608,7 +4921,8 @@ "m_TessellationShapeFactor": 0.75, "m_TessellationBackFaceCullEpsilon": -0.25, "m_TessellationMaxDisplacement": 0.009999999776482582, - "m_Version": 1, + "m_DebugSymbols": false, + "m_Version": 2, "inspectorFoldoutMask": 9 } @@ -4638,6 +4952,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4673,6 +4988,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4712,6 +5028,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4733,7 +5050,8 @@ "m_DefaultValue": 0.0, "m_Labels": [ "X" - ] + ], + "m_LiteralMode": false } { @@ -4806,6 +5124,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4829,7 +5148,8 @@ "m_DefaultValue": 0.0, "m_Labels": [ "X" - ] + ], + "m_LiteralMode": false } { @@ -4839,6 +5159,9 @@ "m_Guid": { "m_GuidSerialized": "290855a3-663b-4b44-871b-434a544fd001" }, + "promotedFromAssetID": "", + "promotedFromCategoryName": "", + "promotedOrdering": -1, "m_Name": "Normal Tex", "m_DefaultRefNameVersion": 0, "m_RefNameGeneratedByDisplayName": "", @@ -4847,16 +5170,20 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, + "m_PerRendererData": false, + "m_customAttributes": [], "m_Value": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "isMainTexture": false, "useTilingAndOffset": false, + "useTexelSize": true, "m_Modifiable": true, "m_DefaultType": 3 } @@ -4897,7 +5224,8 @@ "m_StageCapability": 2, "m_Value": 0.0, "m_DefaultValue": 0.0, - "m_Labels": [] + "m_Labels": [], + "m_LiteralMode": false } { @@ -4921,7 +5249,8 @@ "y": 0.0, "z": 0.0, "w": 0.0 - } + }, + "m_LiteralMode": false } { @@ -4950,6 +5279,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4989,6 +5319,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5010,7 +5341,7 @@ "m_StageCapability": 2, "m_BareResource": false, "m_Texture": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "m_DefaultType": 0 @@ -5023,6 +5354,9 @@ "m_Guid": { "m_GuidSerialized": "26a0e850-f4b7-4172-9e6d-ebd076aa12f4" }, + "promotedFromAssetID": "", + "promotedFromCategoryName": "", + "promotedOrdering": -1, "m_Name": "Emissive Tex", "m_DefaultRefNameVersion": 0, "m_RefNameGeneratedByDisplayName": "", @@ -5031,16 +5365,20 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, + "m_PerRendererData": false, + "m_customAttributes": [], "m_Value": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "isMainTexture": false, "useTilingAndOffset": false, + "useTexelSize": true, "m_Modifiable": true, "m_DefaultType": 0 } @@ -5206,6 +5544,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5239,6 +5578,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5269,7 +5609,8 @@ "y": 0.0, "z": 0.0, "w": 0.0 - } + }, + "m_LiteralMode": false } { @@ -5298,6 +5639,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5319,7 +5661,8 @@ "m_StageCapability": 2, "m_Value": 0.0, "m_DefaultValue": 0.0, - "m_Labels": [] + "m_Labels": [], + "m_LiteralMode": false } { @@ -5348,6 +5691,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5391,6 +5735,9 @@ "m_Guid": { "m_GuidSerialized": "7c763b51-7fad-4cea-8cd7-bfc77a4aed10" }, + "promotedFromAssetID": "", + "promotedFromCategoryName": "", + "promotedOrdering": -1, "m_Name": "Metallic-Roughness Tex", "m_DefaultRefNameVersion": 0, "m_RefNameGeneratedByDisplayName": "", @@ -5399,53 +5746,24 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, + "m_PerRendererData": false, + "m_customAttributes": [], "m_Value": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "isMainTexture": false, "useTilingAndOffset": false, + "useTexelSize": true, "m_Modifiable": true, "m_DefaultType": 0 } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.BlockNode", - "m_ObjectId": "ed7eae01c1594798a04d01ba4f4373c1", - "m_Group": { - "m_Id": "" - }, - "m_Name": "SurfaceDescription.Specular", - "m_DrawState": { - "m_Expanded": true, - "m_Position": { - "serializedVersion": "2", - "x": 0.0, - "y": 0.0, - "width": 0.0, - "height": 0.0 - } - }, - "m_Slots": [ - { - "m_Id": "1222d9f519f040ceb1cbcfd5163bb4a1" - } - ], - "synonyms": [], - "m_Precision": 0, - "m_PreviewExpanded": true, - "m_PreviewMode": 0, - "m_CustomColors": { - "m_SerializableColors": [] - }, - "m_SerializedDescriptor": "SurfaceDescription.Specular" -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.BlockNode", @@ -5472,6 +5790,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5545,6 +5864,9 @@ "m_Guid": { "m_GuidSerialized": "e9170e04-da87-484d-96ad-897c059300e0" }, + "promotedFromAssetID": "", + "promotedFromCategoryName": "", + "promotedOrdering": -1, "m_Name": "Emissive Tex Rotation", "m_DefaultRefNameVersion": 0, "m_RefNameGeneratedByDisplayName": "", @@ -5553,10 +5875,13 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, + "m_PerRendererData": false, + "m_customAttributes": [], "m_Value": { "x": 0.0, "y": 0.0, @@ -5577,7 +5902,8 @@ "m_StageCapability": 2, "m_Value": 0.0, "m_DefaultValue": 0.0, - "m_Labels": [] + "m_Labels": [], + "m_LiteralMode": false } { @@ -5587,6 +5913,9 @@ "m_Guid": { "m_GuidSerialized": "dd9b0745-38e2-4c14-9fab-5a098929fd43" }, + "promotedFromAssetID": "", + "promotedFromCategoryName": "", + "promotedOrdering": -1, "m_Name": "Metallic-Roughness Tex Rotation", "m_DefaultRefNameVersion": 0, "m_RefNameGeneratedByDisplayName": "", @@ -5595,10 +5924,13 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, + "m_PerRendererData": false, + "m_customAttributes": [], "m_Value": { "x": 0.0, "y": 0.0, @@ -5668,7 +6000,8 @@ "m_DefaultValue": 0.0, "m_Labels": [ "X" - ] + ], + "m_LiteralMode": false } { @@ -5697,6 +6030,7 @@ "synonyms": [], "m_Precision": 2, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5718,7 +6052,8 @@ "m_StageCapability": 2, "m_Value": 0.0, "m_DefaultValue": 0.0, - "m_Labels": [] + "m_Labels": [], + "m_LiteralMode": false } { @@ -5749,6 +6084,9 @@ "m_Guid": { "m_GuidSerialized": "99601d2a-dea4-43c7-a834-04f9af6f05fa" }, + "promotedFromAssetID": "", + "promotedFromCategoryName": "", + "promotedOrdering": -1, "m_Name": "Normal Tex UV", "m_DefaultRefNameVersion": 0, "m_RefNameGeneratedByDisplayName": "", @@ -5757,16 +6095,30 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, + "m_PerRendererData": false, + "m_customAttributes": [], "m_Value": 0.0, "m_FloatType": 0, + "m_LiteralFloatMode": false, "m_RangeValues": { "x": 0.0, "y": 1.0 - } + }, + "m_SliderType": 0, + "m_SliderPower": 3.0, + "m_EnumType": 0, + "m_CSharpEnumString": "", + "m_EnumNames": [ + "Default" + ], + "m_EnumValues": [ + 0 + ] } { @@ -5805,6 +6157,7 @@ "m_StageCapability": 2, "m_Value": 0.0, "m_DefaultValue": 0.0, - "m_Labels": [] + "m_Labels": [], + "m_LiteralMode": false } diff --git a/package.json b/package.json index 8be5a3653..c6210835c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "com.atteneder.gltfast", - "version": "6.17.0", + "version": "6.18.0", "displayName": "glTFast", "description": "Use glTFast to import and export glTF 3D files efficiently at runtime or in the Editor", "unity": "2022.3", From 66aa58252bafe6f7f48031f4906f807f95a3f396 Mon Sep 17 00:00:00 2001 From: Andreas Atteneder Date: Tue, 19 May 2026 22:24:28 +0200 Subject: [PATCH 24/27] com.atteneder.gltfast Release 6.19.0 --- .gitignore | 18 +- CHANGELOG.md | 34 + DocExamples/CustomGltfImport.cs | 6 +- DocExamples/ExportSamples.cs | 4 +- DocExamples/LoadGltfFromMemory.cs | 2 +- DocExamples/PngTextureAddon.cs | 37 +- DocExamples/SimpleExport.cs | 2 +- .../glTFast.Documentation.Examples.asmdef | 4 +- Documentation~/ProjectSetup.md | 72 +- Documentation~/features.md | 2 +- Documentation~/installation.md | 8 +- Documentation~/projectMetadata.json | 13 +- Editor/Scripts/AsyncHelpers.cs | 2 +- Editor/Scripts/BuiltInShaderGUI.cs | 2 +- Editor/Scripts/GltfImporter.cs | 20 +- .../MaterialsVariantsComponentInspector.cs | 23 +- Editor/Scripts/OnScriptsReloadHandler.cs | 20 +- Editor/Scripts/ShaderGUIBase.cs | 2 +- Editor/Scripts/ShaderGraphGUI.cs | 8 +- Runtime/Scripts/AnimationUtils.cs | 393 +----- Runtime/Scripts/Animations.meta | 8 + .../Animations/AnimationInstanceApplier.cs | 29 + .../AnimationInstanceApplier.cs.meta | 11 + ...imationModuleDataInstanceApplierFactory.cs | 32 + ...onModuleDataInstanceApplierFactory.cs.meta | 11 + .../Animations/AnimationModuleProcessor.cs | 1172 +++++++++++++++++ .../AnimationModuleProcessor.cs.meta | 11 + .../AnimationModuleProcessorFactory.cs | 25 + .../AnimationModuleProcessorFactory.cs.meta | 11 + .../Scripts/Animations/IAnimationProcessor.cs | 128 ++ .../Animations/IAnimationProcessor.cs.meta | 11 + .../Animations/IAnimationProcessorFactory.cs | 26 + .../IAnimationProcessorFactory.cs.meta | 11 + Runtime/Scripts/DOTS/EntityInstantiator.cs | 73 +- Runtime/Scripts/DOTS/GltfEntityAsset.cs | 41 +- Runtime/Scripts/DOTS/glTFast.dots.asmdef | 13 +- Runtime/Scripts/DataUri.cs | 46 - Runtime/Scripts/DestroyUtils.cs | 36 + Runtime/Scripts/DestroyUtils.cs.meta | 11 + Runtime/Scripts/DracoMeshGenerator.cs | 12 +- Runtime/Scripts/Export/Constants.cs | 2 +- Runtime/Scripts/Export/GameObjectExport.cs | 13 +- Runtime/Scripts/Export/GltfWriter.cs | 102 +- .../Export/HDAdditionalLightDataExtensions.cs | 39 - .../HDAdditionalLightDataExtensions.cs.meta | 3 - .../Export/HighDefinitionMaterialExport.cs | 144 +- Runtime/Scripts/Export/IMeshData.cs | 15 - Runtime/Scripts/Export/ImageExport.cs | 18 +- Runtime/Scripts/Export/ImageExportBase.cs | 26 +- Runtime/Scripts/Export/KhrLightsPunctual.cs | 107 +- Runtime/Scripts/Export/MeshDataProxy.cs | 20 - .../Scripts/Export/MeshMaterialCombination.cs | 6 +- Runtime/Scripts/Export/MetaMaterialExport.cs | 2 +- Runtime/Scripts/Export/NonReadableMeshData.cs | 18 - Runtime/Scripts/Export/OrmImageExport.cs | 38 +- .../Export/StandardMaterialExportBase.cs | 6 +- Runtime/Scripts/Export/glTFast.Export.asmdef | 11 +- Runtime/Scripts/GameObjectInstantiator.cs | 57 +- Runtime/Scripts/GameObjectSceneInstance.cs | 27 +- Runtime/Scripts/GltfAssetBase.cs | 2 +- Runtime/Scripts/GltfImport.cs | 575 ++++---- Runtime/Scripts/IGltfAccessors.cs | 24 + Runtime/Scripts/IGltfAccessors.cs.meta | 11 + Runtime/Scripts/IGltfBuffers.cs | 1 - Runtime/Scripts/INodeHierarchyInfo.cs | 27 + Runtime/Scripts/INodeHierarchyInfo.cs.meta | 11 + Runtime/Scripts/ImageConversionImageLoader.cs | 65 +- .../DataInstanceApplierFactory.cs | 120 ++ .../DataInstanceApplierFactory.cs.meta | 11 + Runtime/Scripts/ImportAddons/IDataCache.cs | 18 + .../Scripts/ImportAddons/IDataCache.cs.meta | 11 + .../IDataInstanceApplierFactory.cs | 18 + .../IDataInstanceApplierFactory.cs.meta | 11 + .../Scripts/ImportAddons/IInstanceApplier.cs | 20 + .../ImportAddons/IInstanceApplier.cs.meta | 11 + .../ImportAddons/IInstanceApplierFactory.cs | 28 + .../IInstanceApplierFactory.cs.meta | 11 + .../IPostBeginSceneInstanceApplier.cs | 12 + .../IPostBeginSceneInstanceApplier.cs.meta | 3 + .../ImportAddonInstanceCollection.cs | 117 +- .../ImportAddonInstanceCollection.cs.meta | 2 +- Runtime/Scripts/ImportAddons/QueryableList.cs | 131 ++ .../ImportAddons/QueryableList.cs.meta | 11 + Runtime/Scripts/Jobs.cs | 441 +------ Runtime/Scripts/KtxImageLoader.cs | 9 +- Runtime/Scripts/LightPunctualExtension.cs | 14 - .../Loading/CustomHeaderDownloadProvider.cs | 10 +- .../Loading/DefaultDownloadProvider.cs | 24 +- Runtime/Scripts/Logging/CollectingLogger.cs | 6 +- Runtime/Scripts/Logging/LogMessages.cs | 5 +- .../Material/BuiltInMaterialGenerator.cs | 3 +- .../HighDefinitionRPMaterialGenerator.cs | 36 +- Runtime/Scripts/Material/MaterialGenerator.cs | 6 +- .../Material/ShaderGraphMaterialGenerator.cs | 207 +-- .../Material/UniveralRPMaterialGenerator.cs | 43 +- .../MaterialsVariantsControl.cs | 8 +- Runtime/Scripts/MeshGenerator.cs | 53 +- Runtime/Scripts/MeshGeneratorBase.cs | 2 +- Runtime/Scripts/MorphTargetsGenerator.cs | 2 +- Runtime/Scripts/NativeArrayPool.cs | 75 ++ Runtime/Scripts/NativeArrayPool.cs.meta | 11 + Runtime/Scripts/Newtonsoft/GltfImport.cs | 2 +- Runtime/Scripts/Newtonsoft/Schema/Accessor.cs | 2 +- .../Newtonsoft/Schema/AccessorSparse.cs | 4 +- .../Schema/AccessorSparseIndices.cs | 2 +- .../Newtonsoft/Schema/AccessorSparseValues.cs | 2 +- .../Newtonsoft/Schema/AnimationChannel.cs | 4 +- .../Schema/AnimationChannelTarget.cs | 4 +- .../Newtonsoft/Schema/AnimationSampler.cs | 4 +- Runtime/Scripts/Newtonsoft/Schema/Asset.cs | 2 +- Runtime/Scripts/Newtonsoft/Schema/Buffer.cs | 2 +- .../Scripts/Newtonsoft/Schema/BufferView.cs | 2 +- .../Newtonsoft/Schema/BufferViewExtensions.cs | 2 +- .../Newtonsoft/Schema/CameraOrthographic.cs | 2 +- .../Newtonsoft/Schema/CameraPerspective.cs | 2 +- .../Newtonsoft/Schema/GltfAnimation.cs | 6 +- .../Scripts/Newtonsoft/Schema/GltfCamera.cs | 4 +- Runtime/Scripts/Newtonsoft/Schema/Image.cs | 2 +- Runtime/Scripts/Newtonsoft/Schema/Material.cs | 2 +- .../Newtonsoft/Schema/MaterialExtensions.cs | 2 +- Runtime/Scripts/Newtonsoft/Schema/Mesh.cs | 4 +- .../Scripts/Newtonsoft/Schema/MeshExtras.cs | 2 +- .../Newtonsoft/Schema/MeshPrimitive.cs | 2 +- .../Schema/MeshPrimitiveExtensions.cs | 2 +- Runtime/Scripts/Newtonsoft/Schema/Node.cs | 2 +- .../Newtonsoft/Schema/NodeExtensions.cs | 2 +- .../Newtonsoft/Schema/NormalTextureInfo.cs | 2 +- .../Newtonsoft/Schema/OcclusionTextureInfo.cs | 2 +- .../Newtonsoft/Schema/PbrMetallicRoughness.cs | 2 +- Runtime/Scripts/Newtonsoft/Schema/Root.cs | 2 +- .../Newtonsoft/Schema/RootExtensions.cs | 2 +- Runtime/Scripts/Newtonsoft/Schema/Sampler.cs | 2 +- Runtime/Scripts/Newtonsoft/Schema/Scene.cs | 2 +- Runtime/Scripts/Newtonsoft/Schema/Skin.cs | 2 +- Runtime/Scripts/Newtonsoft/Schema/Texture.cs | 2 +- .../Newtonsoft/Schema/TextureExtensions.cs | 2 +- .../Scripts/Newtonsoft/Schema/TextureInfo.cs | 2 +- .../Schema/TextureInfoExtensions.cs | 2 +- .../Newtonsoft/Schema/UnclassifiedData.cs | 2 +- .../Newtonsoft/glTFast.Newtonsoft.asmdef | 4 +- Runtime/Scripts/NodeHierarchyInfo.cs | 29 + Runtime/Scripts/NodeHierarchyInfo.cs.meta | 11 + Runtime/Scripts/ReadOnlyNativeArray.cs | 2 +- Runtime/Scripts/ReadOnlyNativeStridedArray.cs | 8 +- Runtime/Scripts/RenderPipelineUtils.cs | 9 +- Runtime/Scripts/Schema/AnimationChannel.cs | 10 +- .../Scripts/Schema/AnimationChannelTarget.cs | 13 +- Runtime/Scripts/Schema/AnimationSampler.cs | 7 +- .../Schema/BufferViewMeshoptExtension.cs | 15 +- Runtime/Scripts/Schema/GltfAnimation.cs | 11 +- Runtime/Scripts/Schema/InterpolationType.cs | 11 +- Runtime/Scripts/Schema/MeshPrimitive.cs | 11 +- Runtime/Scripts/Schema/Root.cs | 36 +- Runtime/Scripts/StreamExtension.cs | 3 +- Runtime/Scripts/UvTransform.cs | 4 - Runtime/Scripts/VertexBufferBones.cs | 24 +- Runtime/Scripts/VertexBufferColors.cs | 12 +- Runtime/Scripts/VertexBufferGeneratorBase.cs | 80 +- Runtime/Scripts/VertexBufferTexCoords.cs | 42 +- Runtime/Scripts/VertexStructs.cs | 3 +- Runtime/Scripts/glTFast.asmdef | 28 +- package.json | 13 +- 162 files changed, 3482 insertions(+), 2246 deletions(-) create mode 100644 Runtime/Scripts/Animations.meta create mode 100644 Runtime/Scripts/Animations/AnimationInstanceApplier.cs create mode 100644 Runtime/Scripts/Animations/AnimationInstanceApplier.cs.meta create mode 100644 Runtime/Scripts/Animations/AnimationModuleDataInstanceApplierFactory.cs create mode 100644 Runtime/Scripts/Animations/AnimationModuleDataInstanceApplierFactory.cs.meta create mode 100644 Runtime/Scripts/Animations/AnimationModuleProcessor.cs create mode 100644 Runtime/Scripts/Animations/AnimationModuleProcessor.cs.meta create mode 100644 Runtime/Scripts/Animations/AnimationModuleProcessorFactory.cs create mode 100644 Runtime/Scripts/Animations/AnimationModuleProcessorFactory.cs.meta create mode 100644 Runtime/Scripts/Animations/IAnimationProcessor.cs create mode 100644 Runtime/Scripts/Animations/IAnimationProcessor.cs.meta create mode 100644 Runtime/Scripts/Animations/IAnimationProcessorFactory.cs create mode 100644 Runtime/Scripts/Animations/IAnimationProcessorFactory.cs.meta create mode 100644 Runtime/Scripts/DestroyUtils.cs create mode 100644 Runtime/Scripts/DestroyUtils.cs.meta delete mode 100644 Runtime/Scripts/Export/HDAdditionalLightDataExtensions.cs delete mode 100644 Runtime/Scripts/Export/HDAdditionalLightDataExtensions.cs.meta create mode 100644 Runtime/Scripts/IGltfAccessors.cs create mode 100644 Runtime/Scripts/IGltfAccessors.cs.meta create mode 100644 Runtime/Scripts/INodeHierarchyInfo.cs create mode 100644 Runtime/Scripts/INodeHierarchyInfo.cs.meta create mode 100644 Runtime/Scripts/ImportAddons/DataInstanceApplierFactory.cs create mode 100644 Runtime/Scripts/ImportAddons/DataInstanceApplierFactory.cs.meta create mode 100644 Runtime/Scripts/ImportAddons/IDataCache.cs create mode 100644 Runtime/Scripts/ImportAddons/IDataCache.cs.meta create mode 100644 Runtime/Scripts/ImportAddons/IDataInstanceApplierFactory.cs create mode 100644 Runtime/Scripts/ImportAddons/IDataInstanceApplierFactory.cs.meta create mode 100644 Runtime/Scripts/ImportAddons/IInstanceApplier.cs create mode 100644 Runtime/Scripts/ImportAddons/IInstanceApplier.cs.meta create mode 100644 Runtime/Scripts/ImportAddons/IInstanceApplierFactory.cs create mode 100644 Runtime/Scripts/ImportAddons/IInstanceApplierFactory.cs.meta create mode 100644 Runtime/Scripts/ImportAddons/IPostBeginSceneInstanceApplier.cs create mode 100644 Runtime/Scripts/ImportAddons/IPostBeginSceneInstanceApplier.cs.meta create mode 100644 Runtime/Scripts/ImportAddons/QueryableList.cs create mode 100644 Runtime/Scripts/ImportAddons/QueryableList.cs.meta create mode 100644 Runtime/Scripts/NativeArrayPool.cs create mode 100644 Runtime/Scripts/NativeArrayPool.cs.meta create mode 100644 Runtime/Scripts/NodeHierarchyInfo.cs create mode 100644 Runtime/Scripts/NodeHierarchyInfo.cs.meta diff --git a/.gitignore b/.gitignore index ec156547f..d5feb5030 100644 --- a/.gitignore +++ b/.gitignore @@ -50,12 +50,26 @@ sysinfo.txt # glTFast test projects /Projects/*/ProjectSettings/* +!Projects/*/ProjectSettings/ProjectSettings.asset !Projects/*/ProjectSettings/ProjectVersion.txt +!Projects/*/ProjectSettings/GraphicsSettings.asset +!Projects/*/ProjectSettings/HDRPProjectSettings.asset /Projects/*/UserSettings /Projects/*/Assets/Resources* /Projects/*/Assets/StreamingAssets* /Projects/*/Packages/packages-lock.json /Projects/*/Logs -# CI Tols -Tools/CI/bin \ No newline at end of file +# CI Tools +Tools/CI/bin + +# Graphify +graphify-out/.graphify_* +graphify-out/cache +graphify-out/cost.json +graphify-out/graph.html +graphify-out/manifest.json + +# Claude Code +.claude/worktrees +.claude/settings.local.json diff --git a/CHANGELOG.md b/CHANGELOG.md index faadf8915..4d42f80da 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,40 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [6.19.0] - 2026-05-19 + +### Added +- (Add-Ons) Import glTF animations to custom animation systems. + - [IAnimationProcessor](xref:GLTFast.Animations.IAnimationProcessor) — animation clips conversion + - [IAnimationProcessorFactory](xref:GLTFast.Animations.IAnimationProcessorFactory) — add-ons need to implement this +- (Add-Ons) Lifetime management of converted glTF data and application during scene instantiation. Is used for custom animation import only for now. + - [IDataInstanceApplierFactory](xref:GLTFast.Addons.IDataInstanceApplierFactory) — owns converted data and forwards it to scene instantiation + - [IDataCache](xref:GLTFast.Addons.IDataCache) + - [IInstanceApplierFactory](xref:GLTFast.Addons.IInstanceApplierFactory) + - [IInstanceApplier](xref:GLTFast.Addons.IInstanceApplier) — applies data on scene instance +- [IGltfAccessors](xref:GLTFast.IGltfAccessors) provides read-only access to typed glTF accessor data. +- [INodeHierarchyInfo](xref:GLTFast.INodeHierarchyInfo) provides glTF node hierarchy information. +- (Test) Inspector materials variant selection for `OpenGltfDialog`. +- Instructions/guidelines for coding agents (`AGENTS.md`/`CLAUDE.md`) + +### Changed +- Increased minimum required Unity version to 6.0 LTS. +- Bumped dependency versions + - com.unity.burst to 1.8.29 + - com.unity.collections to 2.6.6 + - com.unity.mathematics to 1.3.3 +- GameObjectSceneInstance's [AddCamera](xref:GLTFast.GameObjectSceneInstance.AddCamera), [AddLight](xref:GLTFast.GameObjectSceneInstance.AddLight) and [SetLegacyAnimation](xref:GLTFast.GameObjectSceneInstance.SetLegacyAnimation) are now public, so custom [IInstantiators](xref:GLTFast.IInstantiator) can utilize it. +- Refactored [ImportAddonInstanceCollection](xref:GLTFast.Addons.ImportAddonInstanceCollection) to derive directly from `List`/[QueryableList](xref:GLTFast.Addons.QueryableList). +- (Performance) Importing animation curves got much faster and requires less managed memory. Keyframes are prepared in native arrays and set en bloc via [SetKeys(ReadOnlySpan<Keyframe>)](xref:UnityEngine.AnimationCurve.SetKeys(System.ReadOnlySpan`1)) instead of being slowly added individually (thanks [jverral](https://github.com/jverral) for initiating this via [#44](https://github.com/Unity-Technologies/com.unity.cloud.gltfast/pull/44)). +- (Performance) Reduced memory waste by using cached, static identifiers instead of inner-loop format strings for [AnimationClip.SetCurve](xref:UnityEngine.AnimationClip.SetCurve(System.String,System.Type,System.String,UnityEngine.AnimationCurve))'s `propertyName` parameter (thanks [jverral](https://github.com/jverral) for [#44](https://github.com/Unity-Technologies/com.unity.cloud.gltfast/pull/44)). +- Enabled Render Graph in graphics settings by default on all projects (not using compatibility mode anymore). + - (Test) Compatibility mode is still enabled for Unity 6.0 tests. + +### Fixed +- Improved comma placement in export summary (thanks anonymous for [#46](https://github.com/Unity-Technologies/com.unity.cloud.gltfast/pull/46)). +- [Materials variants](xref:GLTFast.MaterialsVariantsComponent)' inspector shows correct variant when regaining focus (thanks [anonymous2585](https://github.com/anonymous2585) for [#48](https://github.com/Unity-Technologies/com.unity.cloud.gltfast/pull/48)). +- (Import) Fixed merging of mesh primitives with shared vertex buffer, but different indices type. + ## [6.18.0] - 2026-04-01 ### Added diff --git a/DocExamples/CustomGltfImport.cs b/DocExamples/CustomGltfImport.cs index c9a216011..2de43d0f7 100644 --- a/DocExamples/CustomGltfImport.cs +++ b/DocExamples/CustomGltfImport.cs @@ -4,7 +4,7 @@ #if NEWTONSOFT_JSON namespace GLTFast.Documentation.Examples { -#region CustomGltfImport + #region CustomGltfImport using System; using System.Threading.Tasks; using Addons; @@ -28,7 +28,7 @@ public async Task LoadGltf() try { ImportAddonRegistry.RegisterImportAddon(new MyAddon()); - var gltfImport = new GltfImport(logger:new ConsoleLogger()); + var gltfImport = new GltfImport(logger: new ConsoleLogger()); await gltfImport.Load(uri); await gltfImport.InstantiateMainSceneAsync(transform); } @@ -106,7 +106,7 @@ void OnNodeCreated(uint nodeIndex, GameObject gameObject) } } } -#endregion + #endregion } #endif diff --git a/DocExamples/ExportSamples.cs b/DocExamples/ExportSamples.cs index ab0faa3a6..9b04263fd 100644 --- a/DocExamples/ExportSamples.cs +++ b/DocExamples/ExportSamples.cs @@ -5,10 +5,10 @@ namespace GLTFast.Documentation.Examples { - using UnityEngine; - using GLTFast; using Export; + using GLTFast; using Logging; + using UnityEngine; class ExportSamples : MonoBehaviour { diff --git a/DocExamples/LoadGltfFromMemory.cs b/DocExamples/LoadGltfFromMemory.cs index feb4b8e2f..232a51624 100644 --- a/DocExamples/LoadGltfFromMemory.cs +++ b/DocExamples/LoadGltfFromMemory.cs @@ -9,8 +9,8 @@ namespace GLTFast.Documentation.Examples { - using GLTFast; using System; + using GLTFast; using UnityEngine; class LoadGltfFromMemory : MonoBehaviour diff --git a/DocExamples/PngTextureAddon.cs b/DocExamples/PngTextureAddon.cs index 2f1a24271..55f4adec9 100644 --- a/DocExamples/PngTextureAddon.cs +++ b/DocExamples/PngTextureAddon.cs @@ -2,19 +2,13 @@ // SPDX-License-Identifier: Apache-2.0 using System; -#if !UNITY_6000_0_OR_NEWER -using System.Runtime.InteropServices; -#endif // !UNITY_6000_0_OR_NEWER using System.Threading; using System.Threading.Tasks; using GLTFast.Addons; +using Unity.Collections; using UnityEngine; using UnityEngine.Experimental.Rendering; using UnityEngine.Profiling; -using Unity.Collections; -#if !UNITY_6000_0_OR_NEWER -using Unity.Collections.LowLevel.Unsafe; -#endif // !UNITY_6000_0_OR_NEWER namespace GLTFast.Documentation.Examples { @@ -50,20 +44,9 @@ CancellationToken cancellationToken ) { #if UNITY_IMAGECONVERSION -#if !UNITY_6000_0_OR_NEWER - var managedData = NativeToManagedArray(data); -#endif - Profiler.BeginSample("LoadPNG"); var texture = CreateEmptyTexture(linear, generateMipMaps); - var success = texture.LoadImage( -#if UNITY_6000_0_OR_NEWER - data.AsReadOnlySpan(), -#else - managedData, -#endif - !readable - ); + var success = texture.LoadImage(data.AsReadOnlySpan(), !readable); Profiler.EndSample(); if (success) { @@ -92,21 +75,5 @@ bool generateMipMaps ); return txt; } - -#if !UNITY_6000_0_OR_NEWER - static unsafe byte[] NativeToManagedArray(NativeArray.ReadOnly data) - { - Profiler.BeginSample("NativeToManagedArray"); - var managedData = new byte[data.Length]; - var gcHandle = GCHandle.Alloc(managedData, GCHandleType.Pinned); - fixed (void* dst = &(managedData[0])) - { - UnsafeUtility.MemCpy(dst, data.GetUnsafeReadOnlyPtr(), data.Length); - } - gcHandle.Free(); - Profiler.EndSample(); - return managedData; - } -#endif // !UNITY_6000_0_OR_NEWER } } diff --git a/DocExamples/SimpleExport.cs b/DocExamples/SimpleExport.cs index 2de5354cd..1785e9c76 100644 --- a/DocExamples/SimpleExport.cs +++ b/DocExamples/SimpleExport.cs @@ -4,8 +4,8 @@ namespace GLTFast.Documentation.Examples { #region SimpleExport - using UnityEngine; using Export; + using UnityEngine; class SimpleExport : MonoBehaviour { diff --git a/DocExamples/glTFast.Documentation.Examples.asmdef b/DocExamples/glTFast.Documentation.Examples.asmdef index bede019db..48cb2ae77 100644 --- a/DocExamples/glTFast.Documentation.Examples.asmdef +++ b/DocExamples/glTFast.Documentation.Examples.asmdef @@ -28,9 +28,9 @@ }, { "name": "com.unity.nuget.newtonsoft-json", - "expression": "3", + "expression": "", "define": "NEWTONSOFT_JSON" } ], "noEngineReferences": false -} \ No newline at end of file +} diff --git a/Documentation~/ProjectSetup.md b/Documentation~/ProjectSetup.md index fe70e0fd4..21d20317d 100644 --- a/Documentation~/ProjectSetup.md +++ b/Documentation~/ProjectSetup.md @@ -13,24 +13,58 @@ For runtime import *Unity glTFast* uses custom shader graphs or shaders for rend Including all possible variants is the safest approach, but can make your build very big. There's another way to find the right subset, if you already know what files you'll expect: - Run your scene that loads all glTFs you expect in the editor. -- Go to Edit->Project Settings->Graphics -- At the bottom end you'll see the "Shader Preloading" section +- Go to **Edit > Project Settings > Graphics** +- At the bottom end you'll see the *Shader Preloading* section - Save the currently tracked shaders/variants to an asset -- Take this ShaderVariantCollection asset and add it to the "Preloaded Shaders" list +- Take this ShaderVariantCollection asset and add it to the *Preloaded Shaders* list An alternative way is to create placeholder materials for all feature combinations you expect and put them in a "Resource" folder in your project. -Read the documentation about [`Shader.Find`](https://docs.unity3d.com/ScriptReference/Shader.Find.html) for details how to include shaders in builds. It's also recommended to learning more about [shader variants][shader-variants]. +Read the documentation about [Shader.Find](https://docs.unity3d.com/ScriptReference/Shader.Find.html) for details how to include shaders in builds. It's also recommended to learn more about [shader variants][shader-variants]. Depending on the Unity version and render pipeline in use, different shader graphs or shaders will be used. -- Shader graphs under `Runtime/Shader` for - - Universal render pipe 12 or newer - - High-Definition render pipe 10 or newer - - Built-in render pipe (experimental opt-in; see below) -- Shader graphs in folder `Runtime/Shader/HDRP` for HDRP-specific material types -- Shader graphs in folder `Runtime/Shader/Legacy` for older Universal / High-Definition render pipe versions -- Shaders in folder `Runtime/Shader/Built-In` for the built-in render pipeline +- Shader graphs in `Runtime/Shader` for + - [Universal Render Pipeline (URP)][URP] + - [High-Definition Render Pipeline (HDRP)][HDRP] + - [Built-In Render Pipeline (BiRP)][BiRP] (experimental opt-in; see below) +- Shader graphs in folder `Runtime/Shader/URP` for [URP] specific material types (e.g. clearcoat) +- Shader graphs in folder `Runtime/Shader/HDRP` for [HDRP] specific material types (e.g. StackLit) +- Shaders in folder `Runtime/Shader/Built-In` for [BiRP] +- Shared `Runtime/Shader/Includes` and `Runtime/Shader/SubGraphs` folders contain include files and shader subgraphs referenced by the shader graphs above; do not remove them when stripping unused content + +### Missing Shader Variants + +If a *glTFast* material renders correctly in Editor playmode, but does not in a player build, the cause is almost always one of two: + +1. **The shader asset itself is missing from the build.** *glTFast* logs an error of the form *"Shader "…" is missing. Make sure to include it in the build"* and material generation returns `null` for the affected mesh primitive. The renderer ends up without a material entirely (renders solid magenta). Add the shader to *Always Included Shaders* (**Edit > Project Settings > Graphics**) or reference it from a Resources folder so the build pipeline picks it up. +2. **The shader is included, but the specific keyword variant requested at runtime was stripped from the build** by Unity's shader variant stripping. What the user actually sees as a result depends on the *Strict Shader Variant Matching* player setting (see below). + +### Strict Shader Variant Matching + +*Strict Shader Variant Matching* is a Unity engine setting. It is configured under **Edit > Project Settings > Player > Other Settings > Shader Settings** and only changes behavior in player builds. + +- **Disabled (default):** Unity silently substitutes the closest available variant when an exact match for the requested keyword combination is missing. Materials still render, but *glTFast* features driven by keywords — normal mapping, alpha clipping, UV transforms, secondary UV sets, occlusion, transmission, double-sided rendering, etc. — may quietly produce wrong results without any console warning. +- **Enabled:** Unity refuses to substitute. The affected geometry renders with the **error (magenta) shader** and Unity logs an error naming the shader, subshader, pass and the requested keywords, making missing variants immediately visible. + +Because *glTFast*'s shaders combine many keywords, even small stripping mistakes can mask bugs that only surface for specific glTF assets. + +> [!TIP] +> Enabling *Strict Shader Variant Matching* while validating builds is recommended — it converts silent visual regressions into clear console errors. + +### Shader Build Settings (Unity 6.3+) + +Unity 6.3 introduced [Shader Build Settings](https://docs.unity3d.com/6000.3/Documentation/Manual/shader-variant-stripping.html) under **Edit > Project Settings > Graphics > Shader Build Settings** (also configurable per build target through Build Profiles). It lets you list keyword sets and apply a *Type Override* of either: + +- `shader_feature` — strip variants of those keywords that are not statically reachable, or +- `dynamic_branch` — collapse variants into a runtime branch. + +Both reduce variant count, build size, shader load time, and runtime memory usage. + +Shader Build Settings **complements** `ShaderVariantCollection` / *Preloaded Shaders* workflow rather than replacing it: *Preloaded Shaders* warm up variants at runtime, while Shader Build Settings controls which variants exist in the build at all. + +> [!CAUTION] +> Aggressive stripping can remove *glTFast* variants that are only requested for specific glTF assets. Pair Shader Build Settings with *Strict Shader Variant Matching* (see above) so missing variants are caught during build validation instead of shipping as silent visual regressions. ### Shader Graphs and the Built-In Render Pipeline @@ -47,16 +81,6 @@ Built-In render pipe projects can optionally use the shader graphs instead of th For example, if you don't need PNG/Jpeg support (because you use only KTX™ 2.0 textures or no textures at all), you can disable the *Image Conversion* and *UnityWebRequestTexture* modules. -## Performance Increase via Collections Package - -> [!CAUTION] -> Don't apply this if your project or one of its packages (e.g. [Polyspatial 1.3]) has a dependency on [Collections] 1.4 or older. Unfortunately [Collections] version 1.5.0 introduced breaking changes that might lead to compiler errors otherwise. - -Projects running Editor version 2021 can increase the performance of certain low-level C# jobs by upgrading the [Collections] package to version 1.5.1 (or newer). *glTFast* then utilizes [IJobParallelForBatch] for increased loading speed. - -> [!NOTE] -> Performance measurements showed that in Unity 2022 and later the Burst compiler has gotten so advanced that performance is excellent out-of-the-box and adjusting the [Collections] package versions makes little to no difference. - ## Readable Mesh Data By default *Unity glTFast* discards mesh data after it was uploaded to the GPU to free up main memory (see [`markNoLongerReadable`](https://docs.unity3d.com/ScriptReference/Mesh.UploadMeshData.html)). You can disable this globally by using the scripting define `GLTFAST_KEEP_MESH_DATA`. @@ -85,10 +109,10 @@ add `GLTFAST_EDITOR_IMPORT_OFF` to the *Scripting Define Symbols* in the *Player *KTX™* and the KTX logo are trademarks of the [The Khronos Group Inc][khronos]. -[Collections]: https://docs.unity3d.com/Packages/com.unity.collections@1.5/manual/index.html -[IJobParallelForBatch]: https://docs.unity3d.com/Packages/com.unity.collections@1.5/api/Unity.Jobs.IJobParallelForBatch.html?q=IJobParallelForBatch +[BiRP]: https://docs.unity3d.com/6000.6/Documentation/Manual/built-in-render-pipeline.html +[HDRP]: https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@latest/ [Khronos]: https://www.khronos.org [MRTK]: https://github.com/microsoft/MixedRealityToolkit-Unity -[Polyspatial 1.3]: https://docs.unity3d.com/Packages/com.unity.polyspatial.visionos@1.3/manual/index.html [shader-variants]: https://docs.unity3d.com/Manual/shader-variants.html +[URP]: https://docs.unity3d.com/6000.6/Documentation/Manual/urp/urp-introduction.html [Unity]: https://unity.com diff --git a/Documentation~/features.md b/Documentation~/features.md index 7edfde0b4..5430cf66d 100644 --- a/Documentation~/features.md +++ b/Documentation~/features.md @@ -308,7 +308,7 @@ Possibly incomplete list of things that are known to not work with Entities yet: ## Unity Version Support -*Unity glTFast* requires Unity 2022.3.67f2 or newer. +*Unity glTFast* requires Unity 6000.0 or newer. ## Legend diff --git a/Documentation~/installation.md b/Documentation~/installation.md index 037fa1dd9..2ff8f4698 100644 --- a/Documentation~/installation.md +++ b/Documentation~/installation.md @@ -19,10 +19,10 @@ To install the *Unity glTFast* package, follow these steps: There are some related package that improve *Unity glTFast* by extending its feature set. - [Built-in Packages](https://docs.unity3d.com/Manual/pack-build.html) - - [Image Conversion](https://docs.unity3d.com/2022.3/Documentation/ScriptReference/UnityEngine.ImageConversionModule.html) for import/export of Jpeg and PNG textures. - - [Unity Web Request Texture](https://docs.unity3d.com/2022.3/Documentation/ScriptReference/UnityEngine.UnityWebRequestTextureModule.html) for import of Jpeg/PNG images from URI. - - [Animation](https://docs.unity3d.com/2022.3/Documentation/ScriptReference/UnityEngine.AnimationModule.html) for animation playback. - - [Physics](https://docs.unity3d.com/2022.3/Documentation/ScriptReference/UnityEngine.PhysicsModule.html) to create a glTF scene's [bounding box collider](xref:UnityEngine.BoxCollider) via [GltfBoundsAsset](xref:GLTFast.GltfBoundsAsset). + - [Image Conversion](https://docs.unity3d.com/6000.3/Documentation/ScriptReference/UnityEngine.ImageConversionModule.html) for import/export of Jpeg and PNG textures. + - [Unity Web Request Texture](https://docs.unity3d.com/6000.3/Documentation/ScriptReference/UnityEngine.UnityWebRequestTextureModule.html) for import of Jpeg/PNG images from URI. + - [Animation](https://docs.unity3d.com/6000.3/Documentation/ScriptReference/UnityEngine.AnimationModule.html) for animation playback. + - [Physics](https://docs.unity3d.com/6000.3/Documentation/ScriptReference/UnityEngine.PhysicsModule.html) to create a glTF scene's [bounding box collider](xref:UnityEngine.BoxCollider) via [GltfBoundsAsset](xref:GLTFast.GltfBoundsAsset). - [Draco™ for Unity][DracoForUnity] (provides support for [KHR_draco_mesh_compression][ExtDraco]) - [KTX™ for Unity][KtxUnity] (provides support for [KHR_texture_basisu][ExtBasisU]) - [*meshoptimizer decompression for Unity*][Meshopt] (provides support for [EXT_meshopt_compression][ExtMeshopt]) diff --git a/Documentation~/projectMetadata.json b/Documentation~/projectMetadata.json index c0bff20c8..9418ce423 100644 --- a/Documentation~/projectMetadata.json +++ b/Documentation~/projectMetadata.json @@ -1,3 +1,14 @@ { - "pmdt-additional-preprocessors": "DRACO_IS_INSTALLED;DRACO_IS_RECENT;KTX_IS_INSTALLED;KTX_IS_RECENT;USING_URP;USING_HDRP;USING_HDRP_17_OR_NEWER;UNITY_PHYSICS;UNITY_IMAGECONVERSION;UNITY_WEBREQUEST_TEXTURE;MESHOPT_IS_RECENT;MESHOPT_IS_INSTALLED;UNITY_SHADER_GRAPH;UNITY_ANIMATION;UNITY_ENTITIES_GRAPHICS;NEWTONSOFT_JSON;UNITY_COLLECTIONS;UNITY_MATH_1_3_OR_NEWER" + "pmdt-additional-preprocessors": "UNITY_PHYSICS;UNITY_IMAGECONVERSION;UNITY_WEBREQUEST_TEXTURE;UNITY_ANIMATION", + "additional-dependencies": { + "com.unity.cloud.draco": "5.4.3", + "com.unity.cloud.ktx": "3.6.3", + "com.unity.collections": "1.4.0", + "com.unity.entities.graphics": "1.4.18", + "com.unity.mathematics": "1.3.0", + "com.unity.meshopt.decompress": "0.2.0-exp.1", + "com.unity.nuget.newtonsoft-json": "3.2.2", + "com.unity.render-pipelines.high-definition": "14.0.12", + "com.unity.render-pipelines.universal": "14.0.12" + } } diff --git a/Editor/Scripts/AsyncHelpers.cs b/Editor/Scripts/AsyncHelpers.cs index 62d0d117c..8f07ed88d 100644 --- a/Editor/Scripts/AsyncHelpers.cs +++ b/Editor/Scripts/AsyncHelpers.cs @@ -1,9 +1,9 @@ // Source: https://social.msdn.microsoft.com/Forums/en-US/163ef755-ff7b-4ea5-b226-bbe8ef5f4796/is-there-a-pattern-for-calling-an-async-method-synchronously?forum=async using System; +using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; -using System.Collections.Generic; namespace GLTFast.Utils { diff --git a/Editor/Scripts/BuiltInShaderGUI.cs b/Editor/Scripts/BuiltInShaderGUI.cs index 7a152a71f..ed5b606be 100644 --- a/Editor/Scripts/BuiltInShaderGUI.cs +++ b/Editor/Scripts/BuiltInShaderGUI.cs @@ -4,8 +4,8 @@ using Unity.Mathematics; using UnityEditor; using UnityEngine; -using static GLTFast.Materials.MaterialGenerator; using static GLTFast.Materials.BuiltInMaterialGenerator; +using static GLTFast.Materials.MaterialGenerator; namespace GLTFast.Editor { diff --git a/Editor/Scripts/GltfImporter.cs b/Editor/Scripts/GltfImporter.cs index 0e72d9a90..1214adc9a 100644 --- a/Editor/Scripts/GltfImporter.cs +++ b/Editor/Scripts/GltfImporter.cs @@ -216,15 +216,19 @@ public override void OnImportAsset(AssetImportContext ctx) #if UNITY_ANIMATION var clips = m_Gltf.GetAnimationClips(); - if (clips != null) { - foreach (var animationClip in clips) { - if (animationClip == null) { + if (clips != null) + { + foreach (var animationClip in clips) + { + if (animationClip == null) + { continue; } - if (importSettings.AnimationMethod == AnimationMethod.Mecanim) { + if (importSettings.AnimationMethod == AnimationMethod.Mecanim) + { var settings = AnimationUtility.GetAnimationClipSettings(animationClip); settings.loopTime = true; - AnimationUtility.SetAnimationClipSettings (animationClip, settings); + AnimationUtility.SetAnimationClipSettings(animationClip, settings); } AddObjectToAsset(ctx, $"animations/{animationClip.name}", animationClip); } @@ -332,9 +336,11 @@ void ImportScene( var hasAnimation = false; #if UNITY_ANIMATION if (importSettings.AnimationMethod != AnimationMethod.None - && (instantiationSettings.Mask & ComponentType.Animation) != 0) { + && (instantiationSettings.Mask & ComponentType.Animation) != 0) + { var animationClips = m_Gltf.GetAnimationClips(); - if (animationClips != null && animationClips.Length > 0) { + if (animationClips != null && animationClips.Length > 0) + { hasAnimation = true; } } diff --git a/Editor/Scripts/MaterialsVariantsComponentInspector.cs b/Editor/Scripts/MaterialsVariantsComponentInspector.cs index dbf02239c..a338895f5 100644 --- a/Editor/Scripts/MaterialsVariantsComponentInspector.cs +++ b/Editor/Scripts/MaterialsVariantsComponentInspector.cs @@ -18,20 +18,17 @@ class MaterialsVariantsComponentInspector : UnityEditor.Editor public override VisualElement CreateInspectorGUI() { - if (m_VariantNames == null) + var control = (target as MaterialsVariantsComponent)?.Control; + if (control != null && m_VariantNames == null) { - var control = (target as MaterialsVariantsComponent)?.Control; - if (control != null) + var count = control.MaterialsVariantsCount; + m_VariantNames = new List(count + 1) + { + "" + }; + for (var variantIndex = 0; variantIndex < count; variantIndex++) { - var count = control.MaterialsVariantsCount; - m_VariantNames = new List(count + 1) - { - "" - }; - for (var variantIndex = 0; variantIndex < count; variantIndex++) - { - m_VariantNames.Add(control.GetMaterialsVariantName(variantIndex)); - } + m_VariantNames.Add(control.GetMaterialsVariantName(variantIndex)); } } var myInspector = new VisualElement(); @@ -45,7 +42,7 @@ public override VisualElement CreateInspectorGUI() else { m_Dropdown.choices = m_VariantNames; - m_Dropdown.index = 0; + m_Dropdown.index = control != null ? control.CurrentVariantIndex + 1 : 0; m_Dropdown.RegisterValueChangedCallback(OnMaterialsVariantChanged); myInspector.Add(m_Dropdown); } diff --git a/Editor/Scripts/OnScriptsReloadHandler.cs b/Editor/Scripts/OnScriptsReloadHandler.cs index c0ecdb714..308e6fadd 100644 --- a/Editor/Scripts/OnScriptsReloadHandler.cs +++ b/Editor/Scripts/OnScriptsReloadHandler.cs @@ -2,9 +2,9 @@ // SPDX-License-Identifier: Apache-2.0 using UnityEditor; -using UnityEngine; using UnityEditor.PackageManager; using UnityEditor.PackageManager.Requests; +using UnityEngine; namespace GLTFast { @@ -18,7 +18,8 @@ static class OnScriptsReloadHandler static ListRequest s_Request; [UnityEditor.Callbacks.DidReloadScripts] - static void OnScriptsReloaded() { + static void OnScriptsReloaded() + { s_Request = Client.List(); EditorApplication.update += Progress; } @@ -27,17 +28,22 @@ static void Progress() { if (s_Request.IsCompleted) { - if (s_Request.Status == StatusCode.Success) { - foreach (var package in s_Request.Result) { - if (package.name == GltfGlobals.GltfPackageName) { + if (s_Request.Status == StatusCode.Success) + { + foreach (var package in s_Request.Result) + { + if (package.name == GltfGlobals.GltfPackageName) + { var version = package.version; - if (Export.Constants.version != version) { + if (Export.Constants.version != version) + { Debug.LogWarning($"Version mismatch in Constants.cs (is {Export.Constants.version}, should be {version}). Please update!"); } } } } - else if (s_Request.Status >= StatusCode.Failure) { + else if (s_Request.Status >= StatusCode.Failure) + { Debug.Log(s_Request.Error.message); } diff --git a/Editor/Scripts/ShaderGUIBase.cs b/Editor/Scripts/ShaderGUIBase.cs index c06756b5c..bbff52085 100644 --- a/Editor/Scripts/ShaderGUIBase.cs +++ b/Editor/Scripts/ShaderGUIBase.cs @@ -2,9 +2,9 @@ // SPDX-License-Identifier: Apache-2.0 using System; +using Unity.Mathematics; using UnityEditor; using UnityEngine; -using Unity.Mathematics; using static GLTFast.Materials.MaterialGenerator; namespace GLTFast.Editor diff --git a/Editor/Scripts/ShaderGraphGUI.cs b/Editor/Scripts/ShaderGraphGUI.cs index 4f3e4f118..0a59069a6 100644 --- a/Editor/Scripts/ShaderGraphGUI.cs +++ b/Editor/Scripts/ShaderGraphGUI.cs @@ -18,16 +18,18 @@ class ShaderGraphGUI : ShaderGUIBase public override void OnGUI(MaterialEditor materialEditor, MaterialProperty[] properties) { - if (materialEditor.target is Material material) { + if (materialEditor.target is Material material) + { m_UVTransform = TextureRotationSlider( material, m_UVTransform, Materials.MaterialProperty.BaseColorTextureScaleTransform, Materials.MaterialProperty.BaseColorTextureRotation, - label:"Base Color Tex Rotation" + label: "Base Color Tex Rotation" ); - if (GUI.changed) { + if (GUI.changed) + { EditorUtility.SetDirty(material); } } diff --git a/Runtime/Scripts/AnimationUtils.cs b/Runtime/Scripts/AnimationUtils.cs index 67d99a68d..e8ff102b5 100644 --- a/Runtime/Scripts/AnimationUtils.cs +++ b/Runtime/Scripts/AnimationUtils.cs @@ -1,363 +1,62 @@ // SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 - -#if UNITY_ANIMATION - using System; +using System.Collections.Generic; using System.Text; -using GLTFast.Schema; -using Unity.Collections; -using Unity.Mathematics; using UnityEngine; using UnityEngine.Assertions; using UnityEngine.Profiling; -namespace GLTFast { - - static class AnimationUtils { - - const float k_TimeEpsilon = 0.00001f; - - public static void AddTranslationCurves(AnimationClip clip, string animationPath, NativeArray times, NativeArray values, InterpolationType interpolationType) { - AddVec3Curves(clip, animationPath, "localPosition.", times, values, interpolationType); - } - - public static void AddScaleCurves(AnimationClip clip, string animationPath, NativeArray times, NativeArray values, InterpolationType interpolationType) { - AddVec3Curves(clip, animationPath, "localScale.", times, values, interpolationType); - } - - public static void AddRotationCurves(AnimationClip clip, string animationPath, NativeArray times, NativeArray values, InterpolationType interpolationType) { - Profiler.BeginSample("AnimationUtils.AddRotationCurves"); - var rotX = new AnimationCurve(); - var rotY = new AnimationCurve(); - var rotZ = new AnimationCurve(); - var rotW = new AnimationCurve(); - -#if DEBUG - uint duplicates = 0; -#endif - - switch (interpolationType) { - case InterpolationType.Step: { - for (var i = 0; i < times.Length; i++) { - var time = times[i]; - var value = values[i]; - rotX.AddKey( new Keyframe(time, value.value.x, float.PositiveInfinity, 0) ); - rotY.AddKey( new Keyframe(time, value.value.y, float.PositiveInfinity, 0) ); - rotZ.AddKey( new Keyframe(time, value.value.z, float.PositiveInfinity, 0) ); - rotW.AddKey( new Keyframe(time, value.value.w, float.PositiveInfinity, 0) ); - } - break; - } - case InterpolationType.CubicSpline: { - for (var i = 0; i < times.Length; i++) { - var time = times[i]; - var inTangent = values[i*3]; - var value = values[i*3 + 1]; - var outTangent = values[i*3 + 2]; - rotX.AddKey( new Keyframe(time, value.value.x, inTangent.value.x, outTangent.value.x, .5f, .5f ) ); - rotY.AddKey( new Keyframe(time, value.value.y, inTangent.value.y, outTangent.value.y, .5f, .5f ) ); - rotZ.AddKey( new Keyframe(time, value.value.z, inTangent.value.z, outTangent.value.z, .5f, .5f ) ); - rotW.AddKey( new Keyframe(time, value.value.w, inTangent.value.w, outTangent.value.w, .5f, .5f ) ); - } - break; - } - default: { // LINEAR - var prevTime = times[0]; - var prevValue = values[0]; - var inTangent = new quaternion(new float4(0f)); - - Assert.AreEqual(times.Length,values.Length); - for (var i = 1; i < times.Length; i++) { - var time = times[i]; - var value = values[i]; - - if (prevTime >= time) { - // Time value is not increasing, so we ignore this keyframe - // This happened on some Sketchfab files (see #298) -#if DEBUG - duplicates++; -#endif - continue; - } - - // Ensure shortest path rotation ( see https://www.khronos.org/registry/glTF/specs/2.0/glTF-2.0.html#interpolation-slerp ) - if (math.dot(prevValue, value) < 0) { - value.value = -value.value; - } - - var dT = time - prevTime; - var dV = value.value - prevValue.value; - quaternion outTangent; - if (dT < k_TimeEpsilon) { - outTangent.value.x = (dV.x < 0f) ^ (dT < 0f) ? float.NegativeInfinity : float.PositiveInfinity; - outTangent.value.y = (dV.y < 0f) ^ (dT < 0f) ? float.NegativeInfinity : float.PositiveInfinity; - outTangent.value.z = (dV.z < 0f) ^ (dT < 0f) ? float.NegativeInfinity : float.PositiveInfinity; - outTangent.value.w = (dV.w < 0f) ^ (dT < 0f) ? float.NegativeInfinity : float.PositiveInfinity; - } else { - outTangent = dV / dT; - } - - rotX.AddKey( new Keyframe(prevTime, prevValue.value.x, inTangent.value.x, outTangent.value.x ) ); - rotY.AddKey( new Keyframe(prevTime, prevValue.value.y, inTangent.value.y, outTangent.value.y ) ); - rotZ.AddKey( new Keyframe(prevTime, prevValue.value.z, inTangent.value.z, outTangent.value.z ) ); - rotW.AddKey( new Keyframe(prevTime, prevValue.value.w, inTangent.value.w, outTangent.value.w ) ); - - inTangent = outTangent; - prevTime = time; - prevValue = value; - } - - rotX.AddKey( new Keyframe(prevTime, prevValue.value.x, inTangent.value.x, 0 ) ); - rotY.AddKey( new Keyframe(prevTime, prevValue.value.y, inTangent.value.y, 0 ) ); - rotZ.AddKey( new Keyframe(prevTime, prevValue.value.z, inTangent.value.z, 0 ) ); - rotW.AddKey( new Keyframe(prevTime, prevValue.value.w, inTangent.value.w, 0 ) ); - - break; - } - } - - clip.SetCurve(animationPath, typeof(Transform), "localRotation.x", rotX); - clip.SetCurve(animationPath, typeof(Transform), "localRotation.y", rotY); - clip.SetCurve(animationPath, typeof(Transform), "localRotation.z", rotZ); - clip.SetCurve(animationPath, typeof(Transform), "localRotation.w", rotW); - Profiler.EndSample(); - -#if DEBUG - if (duplicates > 0) { - ReportDuplicateKeyframes(); - } -#endif - } - - public static string CreateAnimationPath(int nodeIndex, string[] nodeNames, int[] parentIndex) { - Profiler.BeginSample("AnimationUtils.CreateAnimationPath"); - var sb = new StringBuilder(); - do { - if (sb.Length > 0) { - sb.Insert(0,'/'); - } - sb.Insert(0,nodeNames[nodeIndex]); - nodeIndex = parentIndex[nodeIndex]; - } while (nodeIndex>=0); - Profiler.EndSample(); - return sb.ToString(); - } - - public static void AddMorphTargetWeightCurves( - AnimationClip clip, - string animationPath, - NativeArray times, - NativeArray values, - InterpolationType interpolationType, - string[] morphTargetNames = null +namespace GLTFast +{ + /// + /// Animation related utility methods. + /// + public static class AnimationUtils + { + /// + /// Creates an animation path compatible with the animation module. + /// + /// Index of the target node. + /// Can be used to query hierarchical information and + /// build an animation path string. + /// Optional part that will be appended to the result. + /// Animation path. + public static string CreateAnimationPath( + int nodeIndex, + INodeHierarchyInfo nodeHierarchyInfo, + string subPath = null ) { - Profiler.BeginSample("AnimationUtils.AddMorphTargetWeightCurves"); - int morphTargetCount; - if (morphTargetNames == null) { - morphTargetCount = values.Length / times.Length; - if (interpolationType == InterpolationType.CubicSpline) { - // 3 values per key (in-tangent, out-tangent and value) - morphTargetCount /= 3; - } - } - else { - morphTargetCount = morphTargetNames.Length; - } - - for (var i = 0; i < morphTargetCount; i++) { - var morphTargetName = morphTargetNames==null ? i.ToString() : morphTargetNames[i]; - AddScalarCurve( - clip, - animationPath, - morphTargetName, - i, - morphTargetCount, - times, - values, - interpolationType - ); - } - Profiler.EndSample(); - } - - static void AddVec3Curves(AnimationClip clip, string animationPath, string propertyPrefix, NativeArray times, NativeArray values, InterpolationType interpolationType) { - Profiler.BeginSample("AnimationUtils.AddVec3Curves"); - var curveX = new AnimationCurve(); - var curveY = new AnimationCurve(); - var curveZ = new AnimationCurve(); - -#if DEBUG - uint duplicates = 0; -#endif - - switch (interpolationType) { - case InterpolationType.Step: { - for (var i = 0; i < times.Length; i++) { - var time = times[i]; - var value = values[i]; - curveX.AddKey( new Keyframe(time, value.x, float.PositiveInfinity, 0) ); - curveY.AddKey( new Keyframe(time, value.y, float.PositiveInfinity, 0) ); - curveZ.AddKey( new Keyframe(time, value.z, float.PositiveInfinity, 0) ); - } - break; - } - case InterpolationType.CubicSpline: { - for (var i = 0; i < times.Length; i++) { - var time = times[i]; - var inTangent = values[i*3]; - var value = values[i*3 + 1]; - var outTangent = values[i*3 + 2]; - curveX.AddKey( new Keyframe(time, value.x, inTangent.x, outTangent.x, .5f, .5f ) ); - curveY.AddKey( new Keyframe(time, value.y, inTangent.y, outTangent.y, .5f, .5f ) ); - curveZ.AddKey( new Keyframe(time, value.z, inTangent.z, outTangent.z, .5f, .5f ) ); - } - break; - } - default: { // LINEAR - var prevTime = times[0]; - var prevValue = values[0]; - var inTangent = new float3(0f); - - for (var i = 1; i < times.Length; i++) { - var time = times[i]; - var value = values[i]; - - if (prevTime >= time) { - // Time value is not increasing, so we ignore this keyframe - // This happened on some Sketchfab files (see #298) -#if DEBUG - duplicates++; -#endif - continue; - } - - var dT = time - prevTime; - var dV = value - prevValue; - float3 outTangent; - if (dT < k_TimeEpsilon) { - outTangent.x = (dV.x < 0f) ^ (dT < 0f) ? float.NegativeInfinity : float.PositiveInfinity; - outTangent.y = (dV.y < 0f) ^ (dT < 0f) ? float.NegativeInfinity : float.PositiveInfinity; - outTangent.z = (dV.z < 0f) ^ (dT < 0f) ? float.NegativeInfinity : float.PositiveInfinity; - } else { - outTangent = dV / dT; - } - - curveX.AddKey( new Keyframe(prevTime, prevValue.x, inTangent.x, outTangent.x ) ); - curveY.AddKey( new Keyframe(prevTime, prevValue.y, inTangent.y, outTangent.y ) ); - curveZ.AddKey( new Keyframe(prevTime, prevValue.z, inTangent.z, outTangent.z ) ); - - inTangent = outTangent; - prevTime = time; - prevValue = value; - } - - curveX.AddKey( new Keyframe(prevTime, prevValue.x, inTangent.x, 0 ) ); - curveY.AddKey( new Keyframe(prevTime, prevValue.y, inTangent.y, 0 ) ); - curveZ.AddKey( new Keyframe(prevTime, prevValue.z, inTangent.z, 0 ) ); - - break; - } - } - - clip.SetCurve(animationPath, typeof(Transform), $"{propertyPrefix}x", curveX); - clip.SetCurve(animationPath, typeof(Transform), $"{propertyPrefix}y", curveY); - clip.SetCurve(animationPath, typeof(Transform), $"{propertyPrefix}z", curveZ); - Profiler.EndSample(); -#if DEBUG - if (duplicates > 0) { - ReportDuplicateKeyframes(); - } -#endif - } - - static void AddScalarCurve(AnimationClip clip, string animationPath, string propertyPrefix, int curveIndex, int valueStride, NativeArray times, NativeArray values, InterpolationType interpolationType) { - Profiler.BeginSample("AnimationUtils.AddScalarCurve"); - var curve = new AnimationCurve(); - -#if DEBUG - uint duplicates = 0; -#endif - - switch (interpolationType) { - case InterpolationType.Step: { - for (var i = 0; i < times.Length; i++) { - var time = times[i]; - var valueIndex = i * valueStride + curveIndex; - var value = values[valueIndex]; - curve.AddKey( new Keyframe(time, value, float.PositiveInfinity, 0) ); - } - break; - } - case InterpolationType.CubicSpline: { - for (var i = 0; i < times.Length; i++) { - var time = times[i]; - var valueIndex = i * valueStride + curveIndex; - var inTangent = values[valueIndex*3]; - var value = values[valueIndex*3 + 1]; - var outTangent = values[valueIndex*3 + 2]; - curve.AddKey( new Keyframe(time, value, inTangent, outTangent, .5f, .5f ) ); - } - break; - } - default: { // LINEAR - var prevTime = times[0]; - var prevValue = values[curveIndex]; - var inTangent = 0f; - - for (var i = 1; i < times.Length; i++) { - var time = times[i]; - var valueIndex = i * valueStride + curveIndex; - var value = values[valueIndex]; - - if (prevTime >= time) { - // Time value is not increasing, so we ignore this keyframe - // This happened on some Sketchfab files (see #298) -#if DEBUG - duplicates++; -#endif - continue; - } - - var dT = time - prevTime; - var dV = value - prevValue; - float outTangent; - if (dT < k_TimeEpsilon) { - outTangent = (dV < 0f) ^ (dT < 0f) ? float.NegativeInfinity : float.PositiveInfinity; - } else { - outTangent = dV / dT; - } - - curve.AddKey( new Keyframe(prevTime, prevValue, inTangent, outTangent ) ); - - inTangent = outTangent; - prevTime = time; - prevValue = value; - } - - curve.AddKey( new Keyframe(prevTime, prevValue, inTangent, 0 ) ); - - break; - } + Profiler.BeginSample("AnimationUtils.CreateAnimationPath"); + var nodes = new Stack(); + var length = subPath != null ? subPath.Length + 1 : 0; + do + { + var nodeName = nodeHierarchyInfo.GetNodeName(nodeIndex); + Assert.IsNotNull(nodeName, $"Node at index {nodeIndex} has no name"); + length += nodeName.Length + 1; + nodes.Push(nodeName); + nodeIndex = nodeHierarchyInfo.GetParentIndex(nodeIndex); + } while (nodeIndex >= 0); + + var sb = new StringBuilder(length); + var node = nodes.Pop(); + sb.Append(node); + while (nodes.TryPop(out node)) + { + sb.Append('/'); + sb.Append(node); + } + + if (!string.IsNullOrEmpty(subPath)) + { + sb.Append('/'); + sb.Append(subPath); } - - clip.SetCurve(animationPath, typeof(SkinnedMeshRenderer), $"blendShape.{propertyPrefix}", curve); Profiler.EndSample(); -#if DEBUG - if (duplicates > 0) { - ReportDuplicateKeyframes(); - } -#endif - } - -#if DEBUG - static void ReportDuplicateKeyframes() { - Debug.LogError("Time of subsequent animation keyframes is not increasing (glTF-Validator error ACCESSOR_ANIMATION_INPUT_NON_INCREASING)"); + return sb.ToString(); } -#endif } } - -#endif // UNITY_ANIMATION diff --git a/Runtime/Scripts/Animations.meta b/Runtime/Scripts/Animations.meta new file mode 100644 index 000000000..34ee5b4b9 --- /dev/null +++ b/Runtime/Scripts/Animations.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 520f53180a0fb4213b929bf99307217e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/Animations/AnimationInstanceApplier.cs b/Runtime/Scripts/Animations/AnimationInstanceApplier.cs new file mode 100644 index 000000000..840450b3f --- /dev/null +++ b/Runtime/Scripts/Animations/AnimationInstanceApplier.cs @@ -0,0 +1,29 @@ +// SPDX-FileCopyrightText: 2026 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +#if UNITY_ANIMATION + +using System; +using GLTFast.Addons; +using UnityEngine; + +namespace GLTFast.Animations +{ + sealed class AnimationInstanceApplier : IPostBeginSceneInstanceApplier + { + AnimationClip[] Clips { get; } + readonly IInstantiator m_Instantiator; + + public AnimationInstanceApplier(IInstantiator instantiator, AnimationClip[] clips) + { + m_Instantiator = instantiator; + Clips = clips; + } + + public void PostBeginScene() + { + m_Instantiator.AddAnimation(Clips); + } + } +} +#endif // UNITY_ANIMATION diff --git a/Runtime/Scripts/Animations/AnimationInstanceApplier.cs.meta b/Runtime/Scripts/Animations/AnimationInstanceApplier.cs.meta new file mode 100644 index 000000000..5b8e1ed8d --- /dev/null +++ b/Runtime/Scripts/Animations/AnimationInstanceApplier.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 846221edef06748d3b43fbce2aefd5ba +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/Animations/AnimationModuleDataInstanceApplierFactory.cs b/Runtime/Scripts/Animations/AnimationModuleDataInstanceApplierFactory.cs new file mode 100644 index 000000000..9ac7cb85e --- /dev/null +++ b/Runtime/Scripts/Animations/AnimationModuleDataInstanceApplierFactory.cs @@ -0,0 +1,32 @@ +// SPDX-FileCopyrightText: 2026 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +#if UNITY_ANIMATION + +using System; +using GLTFast.Addons; +using UnityEngine; +using Object = UnityEngine.Object; + +namespace GLTFast.Animations +{ + class AnimationModuleDataInstanceApplierFactory : DataInstanceApplierFactory + { + public AnimationModuleDataInstanceApplierFactory(AnimationClip[] data) + : base(data) { } + + public override IInstanceApplier CreateInstanceApplier(IInstantiator instantiator) + { + return new AnimationInstanceApplier(instantiator, Data); + } + + protected override void Dispose(bool disposing) + { + if (disposing) + { + DestroyUtils.SafeDestroy(Data); + } + } + } +} +#endif // UNITY_ANIMATION diff --git a/Runtime/Scripts/Animations/AnimationModuleDataInstanceApplierFactory.cs.meta b/Runtime/Scripts/Animations/AnimationModuleDataInstanceApplierFactory.cs.meta new file mode 100644 index 000000000..b0648b14c --- /dev/null +++ b/Runtime/Scripts/Animations/AnimationModuleDataInstanceApplierFactory.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 5bef48bdc6fd424f9da2cabdcabf242c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/Animations/AnimationModuleProcessor.cs b/Runtime/Scripts/Animations/AnimationModuleProcessor.cs new file mode 100644 index 000000000..9dedcf888 --- /dev/null +++ b/Runtime/Scripts/Animations/AnimationModuleProcessor.cs @@ -0,0 +1,1172 @@ +// SPDX-FileCopyrightText: 2026 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +#if UNITY_ANIMATION + +using System; +using GLTFast.Addons; +using GLTFast.Schema; +using Unity.Collections; +using Unity.Mathematics; +using UnityEngine; +using UnityEngine.Assertions; +using UnityEngine.Profiling; + +namespace GLTFast.Animations +{ + sealed class AnimationModuleProcessor : IAnimationProcessor + { + const float k_TimeEpsilon = 0.00001f; + + const int k_TranslationPropertyIndex = 0; + const int k_ScalePropertyIndex = 1; + const string k_BlendShapePropertyPrefix = "blendShape."; + + static readonly string[][] k_Vec3PropertyNames = { + new[] { "localPosition.x", "localPosition.y", "localPosition.z" }, + new[] { "localScale.x", "localScale.y", "localScale.z" }, + }; + + static readonly string[] k_RotationPropertyNames = + { + "localRotation.x", + "localRotation.y", + "localRotation.z", + "localRotation.w", + }; + +#if UNITY_6000_2_OR_NEWER + readonly NativeArrayPool m_KeyframesPool = new(4); +#endif + + public AnimationClip[] AnimationClips { get; } + + readonly bool m_Legacy; + + public AnimationModuleProcessor(int clipCount, bool legacy) + { + m_Legacy = legacy; + AnimationClips = new AnimationClip[clipCount]; + } + + public void AddClip(int index, string name) + { + AnimationClips[index] = new AnimationClip + { + name = name, + + // Legacy Animation requirement + legacy = m_Legacy, + wrapMode = WrapMode.Loop + }; + } + + public void AddTranslationCurves( + int clipIndex, int targetNode, INodeHierarchyInfo nodeHierarchyInfo, NativeArray.ReadOnly times, + NativeArray.ReadOnly values, InterpolationType interpolationType) + { + AddTranslationCurves( + AnimationClips[clipIndex], + targetNode, + null, + nodeHierarchyInfo, + times, + values, + interpolationType + ); + } + + public void AddRotationCurves( + int clipIndex, int targetNode, INodeHierarchyInfo nodeHierarchyInfo, NativeArray.ReadOnly times, + NativeArray.ReadOnly values, InterpolationType interpolationType) + { + AddRotationCurves( + AnimationClips[clipIndex], + targetNode, + null, + nodeHierarchyInfo, + times, + values, + interpolationType + ); + } + + public void AddScaleCurves( + int clipIndex, int targetNode, INodeHierarchyInfo nodeHierarchyInfo, NativeArray.ReadOnly times, + NativeArray.ReadOnly values, InterpolationType interpolationType) + { + AddScaleCurves( + AnimationClips[clipIndex], + targetNode, + null, + nodeHierarchyInfo, + times, + values, + interpolationType + ); + } + + public void AddMorphTargetWeightCurves( + int clipIndex, + int targetNode, + int meshNumeration, + string meshName, + INodeHierarchyInfo nodeHierarchyInfo, + NativeArray.ReadOnly times, + NativeArray.ReadOnly values, + InterpolationType interpolationType, + string[] morphTargetNames = null + ) + { + AddMorphTargetWeightCurves( + AnimationClips[clipIndex], + targetNode, + meshName, + nodeHierarchyInfo, + times, + values, + interpolationType, + morphTargetNames + ); + } + + public IDataInstanceApplierFactory Complete() + { + return AnimationClips is { Length: > 0 } + ? new AnimationModuleDataInstanceApplierFactory(AnimationClips) + : null; + } + + public void Dispose() + { +#if UNITY_6000_2_OR_NEWER + m_KeyframesPool.Dispose(); +#endif + } + +#if !UNITY_6000_2_OR_NEWER + static +#endif + void AddTranslationCurves( + AnimationClip clip, + int targetNode, + string subPath, + INodeHierarchyInfo nodeHierarchyInfo, + NativeArray.ReadOnly times, + NativeArray.ReadOnly values, + InterpolationType interpolationType + ) + { + var animationPath = AnimationUtils.CreateAnimationPath(targetNode, nodeHierarchyInfo, subPath); + if (values.IsCreated) + { +#if UNITY_6000_2_OR_NEWER + AddVec3Curves( + clip, animationPath, k_TranslationPropertyIndex, times, values, interpolationType, m_KeyframesPool); +#else + AddVec3Curves( + clip, animationPath, k_TranslationPropertyIndex, times, values, interpolationType); +#endif + } + else + { + AddVec3Curves( + clip, animationPath, k_TranslationPropertyIndex, times, interpolationType); + } + } + +#if !UNITY_6000_2_OR_NEWER + static +#endif + void AddRotationCurves( + AnimationClip clip, + int targetNode, + string subPath, + INodeHierarchyInfo nodeHierarchyInfo, + NativeArray.ReadOnly times, + NativeArray.ReadOnly values, + InterpolationType interpolationType + ) + { + var animationPath = AnimationUtils.CreateAnimationPath(targetNode, nodeHierarchyInfo, subPath); + if (values.IsCreated) + { +#if UNITY_6000_2_OR_NEWER + AddQuaternionCurves(clip, animationPath, times, values, interpolationType, m_KeyframesPool); +#else + AddQuaternionCurves(clip, animationPath, times, values, interpolationType); +#endif + } + else + { + AddQuaternionCurves(clip, animationPath, times, interpolationType); + } + } + +#if !UNITY_6000_2_OR_NEWER + static +#endif + void AddScaleCurves( + AnimationClip clip, + int targetNode, + string subPath, + INodeHierarchyInfo nodeHierarchyInfo, + NativeArray.ReadOnly times, + NativeArray.ReadOnly values, + InterpolationType interpolationType + ) + { + var animationPath = AnimationUtils.CreateAnimationPath(targetNode, nodeHierarchyInfo, subPath); + if (values.IsCreated) + { +#if UNITY_6000_2_OR_NEWER + AddVec3Curves( + clip, animationPath, k_ScalePropertyIndex, times, values, interpolationType, m_KeyframesPool); +#else + AddVec3Curves( + clip, animationPath, k_ScalePropertyIndex, times, values, interpolationType); +#endif + } + else + { + AddVec3Curves(clip, animationPath, k_ScalePropertyIndex, times, interpolationType); + } + } + + static void AddMorphTargetWeightCurves( + AnimationClip clip, + int targetNode, + string subPath, + INodeHierarchyInfo nodeHierarchyInfo, + NativeArray.ReadOnly times, + NativeArray.ReadOnly values, + InterpolationType interpolationType, + string[] morphTargetNames = null + ) + { + Profiler.BeginSample("AnimationModuleLoader.AddMorphTargetWeightCurves"); + int morphTargetCount; + if (morphTargetNames == null) + { + morphTargetCount = values.Length / times.Length; + if (interpolationType == InterpolationType.CubicSpline) + { + // 3 values per key (in-tangent, out-tangent and value) + morphTargetCount /= 3; + } + } + else + { + morphTargetCount = morphTargetNames.Length; + } + + var animationPath = AnimationUtils.CreateAnimationPath(targetNode, nodeHierarchyInfo, subPath); + + if (values.IsCreated) + { + for (var i = 0; i < morphTargetCount; i++) + { + var morphTargetName = morphTargetNames == null ? i.ToString() : morphTargetNames[i]; + AddScalarCurve( + clip, + animationPath, + string.Concat(k_BlendShapePropertyPrefix, morphTargetName), + i, + morphTargetCount, + times, + values, + interpolationType + ); + } + } + else + { + for (var i = 0; i < morphTargetCount; i++) + { + var morphTargetName = morphTargetNames == null ? i.ToString() : morphTargetNames[i]; + AddScalarCurve( + clip, + animationPath, + string.Concat(k_BlendShapePropertyPrefix, morphTargetName), + times, + interpolationType + ); + } + } + Profiler.EndSample(); + } + + static void AddQuaternionCurves( + AnimationClip clip, + string animationPath, + NativeArray.ReadOnly times, + InterpolationType interpolationType + ) + { + Profiler.BeginSample("AnimationModuleLoader.AddQuaternionCurves"); + var rotX = new AnimationCurve(); + var rotY = new AnimationCurve(); + var rotZ = new AnimationCurve(); + var rotW = new AnimationCurve(); + +#if DEBUG + uint duplicates = 0; +#endif + + switch (interpolationType) + { + case InterpolationType.Step: + case InterpolationType.CubicSpline: + { + foreach (var time in times) + { + rotX.AddKey(new Keyframe(time, 0)); + rotY.AddKey(new Keyframe(time, 0)); + rotZ.AddKey(new Keyframe(time, 0)); + rotW.AddKey(new Keyframe(time, 0)); + } + + break; + } + case InterpolationType.Linear: + default: + { + var prevTime = times[0]; + + for (var i = 1; i < times.Length; i++) + { + var time = times[i]; + + if (prevTime >= time) + { + // Time value is not increasing, so we ignore this keyframe + // This happened on some Sketchfab files (see #298) +#if DEBUG + duplicates++; +#endif + continue; + } + + rotX.AddKey(new Keyframe(prevTime, 0)); + rotY.AddKey(new Keyframe(prevTime, 0)); + rotZ.AddKey(new Keyframe(prevTime, 0)); + rotW.AddKey(new Keyframe(prevTime, 0)); + + prevTime = time; + } + + rotX.AddKey(new Keyframe(prevTime, 0)); + rotY.AddKey(new Keyframe(prevTime, 0)); + rotZ.AddKey(new Keyframe(prevTime, 0)); + rotW.AddKey(new Keyframe(prevTime, 0)); + + break; + } + } + + clip.SetCurve(animationPath, typeof(Transform), k_RotationPropertyNames[0], rotX); + clip.SetCurve(animationPath, typeof(Transform), k_RotationPropertyNames[1], rotY); + clip.SetCurve(animationPath, typeof(Transform), k_RotationPropertyNames[2], rotZ); + clip.SetCurve(animationPath, typeof(Transform), k_RotationPropertyNames[3], rotW); + Profiler.EndSample(); + +#if DEBUG + if (duplicates > 0) + { + ReportDuplicateKeyframes(); + } +#endif + } + +#if UNITY_6000_2_OR_NEWER + static void AddQuaternionCurves( + AnimationClip clip, + string animationPath, + NativeArray.ReadOnly times, + NativeArray.ReadOnly values, + InterpolationType interpolationType, + NativeArrayPool keyframeArrayPool + ) + { + Profiler.BeginSample("AnimationModuleLoader.AddQuaternionCurves"); + keyframeArrayPool.ReserveBuffers(times.Length, 4); + var keyframesX = keyframeArrayPool.GetBuffer(0); + var keyframesY = keyframeArrayPool.GetBuffer(1); + var keyframesZ = keyframeArrayPool.GetBuffer(2); + var keyframesW = keyframeArrayPool.GetBuffer(3); + var count = 0; + +#if DEBUG + uint duplicates = 0; +#endif + + switch (interpolationType) + { + case InterpolationType.Step: + { + for (var i = 0; i < times.Length; i++) + { + var time = times[i]; + var value = values[i]; + keyframesX[i] = new Keyframe(time, value.value.x, float.PositiveInfinity, 0); + keyframesY[i] = new Keyframe(time, value.value.y, float.PositiveInfinity, 0); + keyframesZ[i] = new Keyframe(time, value.value.z, float.PositiveInfinity, 0); + keyframesW[i] = new Keyframe(time, value.value.w, float.PositiveInfinity, 0); + } + + count = times.Length; + break; + } + case InterpolationType.CubicSpline: + { + for (var i = 0; i < times.Length; i++) + { + var time = times[i]; + var inTangent = values[i * 3]; + var value = values[i * 3 + 1]; + var outTangent = values[i * 3 + 2]; + keyframesX[i] = new Keyframe(time, value.value.x, inTangent.value.x, outTangent.value.x, .5f, + .5f); + keyframesY[i] = new Keyframe(time, value.value.y, inTangent.value.y, outTangent.value.y, .5f, + .5f); + keyframesZ[i] = new Keyframe(time, value.value.z, inTangent.value.z, outTangent.value.z, .5f, + .5f); + keyframesW[i] = new Keyframe(time, value.value.w, inTangent.value.w, outTangent.value.w, .5f, + .5f); + } + + count = times.Length; + break; + } + default: + { + // LINEAR + var prevTime = times[0]; + var prevValue = values[0]; + var inTangent = new quaternion(new float4(0f)); + + Assert.AreEqual(times.Length, values.Length); + for (var i = 1; i < times.Length; i++) + { + var time = times[i]; + var value = values[i]; + + if (prevTime >= time) + { + // Time value is not increasing, so we ignore this keyframe + // This happened on some Sketchfab files (see #298) +#if DEBUG + duplicates++; +#endif + continue; + } + + // Ensure shortest path rotation ( see https://www.khronos.org/registry/glTF/specs/2.0/glTF-2.0.html#interpolation-slerp ) + if (math.dot(prevValue, value) < 0) + { + value.value = -value.value; + } + + var dT = time - prevTime; + var dV = value.value - prevValue.value; + quaternion outTangent; + if (dT < k_TimeEpsilon) + { + outTangent.value.x = + (dV.x < 0f) ^ (dT < 0f) ? float.NegativeInfinity : float.PositiveInfinity; + outTangent.value.y = + (dV.y < 0f) ^ (dT < 0f) ? float.NegativeInfinity : float.PositiveInfinity; + outTangent.value.z = + (dV.z < 0f) ^ (dT < 0f) ? float.NegativeInfinity : float.PositiveInfinity; + outTangent.value.w = + (dV.w < 0f) ^ (dT < 0f) ? float.NegativeInfinity : float.PositiveInfinity; + } + else + { + outTangent = dV / dT; + } + + keyframesX[count] = new Keyframe(prevTime, prevValue.value.x, inTangent.value.x, + outTangent.value.x); + keyframesY[count] = new Keyframe(prevTime, prevValue.value.y, inTangent.value.y, + outTangent.value.y); + keyframesZ[count] = new Keyframe(prevTime, prevValue.value.z, inTangent.value.z, + outTangent.value.z); + keyframesW[count] = new Keyframe(prevTime, prevValue.value.w, inTangent.value.w, + outTangent.value.w); + count++; + + inTangent = outTangent; + prevTime = time; + prevValue = value; + } + + keyframesX[count] = new Keyframe(prevTime, prevValue.value.x, inTangent.value.x, 0); + keyframesY[count] = new Keyframe(prevTime, prevValue.value.y, inTangent.value.y, 0); + keyframesZ[count] = new Keyframe(prevTime, prevValue.value.z, inTangent.value.z, 0); + keyframesW[count] = new Keyframe(prevTime, prevValue.value.w, inTangent.value.w, 0); + count++; + break; + } + } + + var rotX = new AnimationCurve(); + var rotY = new AnimationCurve(); + var rotZ = new AnimationCurve(); + var rotW = new AnimationCurve(); + rotX.SetKeys(keyframesX.AsReadOnlySpan()[..count]); + rotY.SetKeys(keyframesY.AsReadOnlySpan()[..count]); + rotZ.SetKeys(keyframesZ.AsReadOnlySpan()[..count]); + rotW.SetKeys(keyframesW.AsReadOnlySpan()[..count]); + + clip.SetCurve(animationPath, typeof(Transform), k_RotationPropertyNames[0], rotX); + clip.SetCurve(animationPath, typeof(Transform), k_RotationPropertyNames[1], rotY); + clip.SetCurve(animationPath, typeof(Transform), k_RotationPropertyNames[2], rotZ); + clip.SetCurve(animationPath, typeof(Transform), k_RotationPropertyNames[3], rotW); + + Profiler.EndSample(); +#if DEBUG + if (duplicates > 0) + { + ReportDuplicateKeyframes(); + } +#endif + } + +#else // UNITY_6000_2_OR_NEWER + + static void AddQuaternionCurves( + AnimationClip clip, + string animationPath, + NativeArray.ReadOnly times, + NativeArray.ReadOnly values, + InterpolationType interpolationType + ) + { + Profiler.BeginSample("AnimationModuleLoader.AddQuaternionCurves"); + var rotX = new AnimationCurve(); + var rotY = new AnimationCurve(); + var rotZ = new AnimationCurve(); + var rotW = new AnimationCurve(); + +#if DEBUG + uint duplicates = 0; +#endif + + switch (interpolationType) + { + case InterpolationType.Step: + { + for (var i = 0; i < times.Length; i++) + { + var time = times[i]; + var value = values[i]; + rotX.AddKey(new Keyframe(time, value.value.x, float.PositiveInfinity, 0)); + rotY.AddKey(new Keyframe(time, value.value.y, float.PositiveInfinity, 0)); + rotZ.AddKey(new Keyframe(time, value.value.z, float.PositiveInfinity, 0)); + rotW.AddKey(new Keyframe(time, value.value.w, float.PositiveInfinity, 0)); + } + break; + } + case InterpolationType.CubicSpline: + { + for (var i = 0; i < times.Length; i++) + { + var time = times[i]; + var inTangent = values[i * 3]; + var value = values[i * 3 + 1]; + var outTangent = values[i * 3 + 2]; + rotX.AddKey(new Keyframe(time, value.value.x, inTangent.value.x, outTangent.value.x, .5f, .5f)); + rotY.AddKey(new Keyframe(time, value.value.y, inTangent.value.y, outTangent.value.y, .5f, .5f)); + rotZ.AddKey(new Keyframe(time, value.value.z, inTangent.value.z, outTangent.value.z, .5f, .5f)); + rotW.AddKey(new Keyframe(time, value.value.w, inTangent.value.w, outTangent.value.w, .5f, .5f)); + } + break; + } + default: + { + // LINEAR + var prevTime = times[0]; + var prevValue = values[0]; + var inTangent = new quaternion(new float4(0f)); + + Assert.AreEqual(times.Length, values.Length); + for (var i = 1; i < times.Length; i++) + { + var time = times[i]; + var value = values[i]; + + if (prevTime >= time) + { + // Time value is not increasing, so we ignore this keyframe + // This happened on some Sketchfab files (see #298) +#if DEBUG + duplicates++; +#endif + continue; + } + + // Ensure shortest path rotation ( see https://www.khronos.org/registry/glTF/specs/2.0/glTF-2.0.html#interpolation-slerp ) + if (math.dot(prevValue, value) < 0) + { + value.value = -value.value; + } + + var dT = time - prevTime; + var dV = value.value - prevValue.value; + quaternion outTangent; + if (dT < k_TimeEpsilon) + { + outTangent.value.x = (dV.x < 0f) ^ (dT < 0f) ? float.NegativeInfinity : float.PositiveInfinity; + outTangent.value.y = (dV.y < 0f) ^ (dT < 0f) ? float.NegativeInfinity : float.PositiveInfinity; + outTangent.value.z = (dV.z < 0f) ^ (dT < 0f) ? float.NegativeInfinity : float.PositiveInfinity; + outTangent.value.w = (dV.w < 0f) ^ (dT < 0f) ? float.NegativeInfinity : float.PositiveInfinity; + } + else + { + outTangent = dV / dT; + } + + rotX.AddKey(new Keyframe(prevTime, prevValue.value.x, inTangent.value.x, outTangent.value.x)); + rotY.AddKey(new Keyframe(prevTime, prevValue.value.y, inTangent.value.y, outTangent.value.y)); + rotZ.AddKey(new Keyframe(prevTime, prevValue.value.z, inTangent.value.z, outTangent.value.z)); + rotW.AddKey(new Keyframe(prevTime, prevValue.value.w, inTangent.value.w, outTangent.value.w)); + + inTangent = outTangent; + prevTime = time; + prevValue = value; + } + + rotX.AddKey(new Keyframe(prevTime, prevValue.value.x, inTangent.value.x, 0)); + rotY.AddKey(new Keyframe(prevTime, prevValue.value.y, inTangent.value.y, 0)); + rotZ.AddKey(new Keyframe(prevTime, prevValue.value.z, inTangent.value.z, 0)); + rotW.AddKey(new Keyframe(prevTime, prevValue.value.w, inTangent.value.w, 0)); + + break; + } + } + + clip.SetCurve(animationPath, typeof(Transform), k_RotationPropertyNames[0], rotX); + clip.SetCurve(animationPath, typeof(Transform), k_RotationPropertyNames[1], rotY); + clip.SetCurve(animationPath, typeof(Transform), k_RotationPropertyNames[2], rotZ); + clip.SetCurve(animationPath, typeof(Transform), k_RotationPropertyNames[3], rotW); + Profiler.EndSample(); + +#if DEBUG + if (duplicates > 0) + { + ReportDuplicateKeyframes(); + } +#endif + } +#endif // UNITY_6000_2_OR_NEWER + + static void AddVec3Curves( + AnimationClip clip, + string animationPath, + int propertyIndex, + NativeArray.ReadOnly times, + InterpolationType interpolationType + ) + { + Profiler.BeginSample("AnimationModuleLoader.AddVec3Curves"); + var curveX = new AnimationCurve(); + var curveY = new AnimationCurve(); + var curveZ = new AnimationCurve(); + +#if DEBUG + var duplicates = 0u; +#endif + + switch (interpolationType) + { + case InterpolationType.Step: + { + foreach (var time in times) + { + curveX.AddKey(new Keyframe(time, 0, float.PositiveInfinity, 0)); + curveY.AddKey(new Keyframe(time, 0, float.PositiveInfinity, 0)); + curveZ.AddKey(new Keyframe(time, 0, float.PositiveInfinity, 0)); + } + + break; + } + case InterpolationType.CubicSpline: + { + foreach (var time in times) + { + curveX.AddKey(new Keyframe(time, 0, 0, 0, .5f, .5f)); + curveY.AddKey(new Keyframe(time, 0, 0, 0, .5f, .5f)); + curveZ.AddKey(new Keyframe(time, 0, 0, 0, .5f, .5f)); + } + + break; + } + case InterpolationType.Linear: + default: + { + var prevTime = times[0]; + + for (var i = 1; i < times.Length; i++) + { + var time = times[i]; + + if (prevTime >= time) + { + // Time value is not increasing, so we ignore this keyframe + // This happened on some Sketchfab files (see #298) +#if DEBUG + duplicates++; +#endif + continue; + } + + curveX.AddKey(new Keyframe(prevTime, 0, 0, 0)); + curveY.AddKey(new Keyframe(prevTime, 0, 0, 0)); + curveZ.AddKey(new Keyframe(prevTime, 0, 0, 0)); + + prevTime = time; + } + + curveX.AddKey(new Keyframe(prevTime, 0, 0, 0)); + curveY.AddKey(new Keyframe(prevTime, 0, 0, 0)); + curveZ.AddKey(new Keyframe(prevTime, 0, 0, 0)); + + break; + } + } + + var propNames = k_Vec3PropertyNames[propertyIndex]; + clip.SetCurve(animationPath, typeof(Transform), propNames[0], curveX); + clip.SetCurve(animationPath, typeof(Transform), propNames[1], curveY); + clip.SetCurve(animationPath, typeof(Transform), propNames[2], curveZ); + Profiler.EndSample(); +#if DEBUG + if (duplicates > 0) + { + ReportDuplicateKeyframes(); + } +#endif + } + +#if UNITY_6000_2_OR_NEWER + static void AddVec3Curves( + AnimationClip clip, + string animationPath, + int propertyIndex, + NativeArray.ReadOnly times, + NativeArray.ReadOnly values, + InterpolationType interpolationType, + NativeArrayPool keyframeArrayPool + ) + { + Profiler.BeginSample("AnimationModuleLoader.AddVec3Curves"); + keyframeArrayPool.ReserveBuffers(times.Length, 3); + var keyframesX = keyframeArrayPool.GetBuffer(0); + var keyframesY = keyframeArrayPool.GetBuffer(1); + var keyframesZ = keyframeArrayPool.GetBuffer(2); + var count = 0; + +#if DEBUG + uint duplicates = 0; +#endif + + Profiler.BeginSample("AnimationModuleLoader.AddVec3Curves.PopulateBuffers"); + switch (interpolationType) + { + case InterpolationType.Step: + { + for (var i = 0; i < times.Length; i++) + { + var time = times[i]; + var value = values[i]; + keyframesX[i] = new Keyframe(time, value.x, float.PositiveInfinity, 0); + keyframesY[i] = new Keyframe(time, value.y, float.PositiveInfinity, 0); + keyframesZ[i] = new Keyframe(time, value.z, float.PositiveInfinity, 0); + } + + count = times.Length; + break; + } + case InterpolationType.CubicSpline: + { + for (var i = 0; i < times.Length; i++) + { + var time = times[i]; + var inTangent = values[i * 3]; + var value = values[i * 3 + 1]; + var outTangent = values[i * 3 + 2]; + keyframesX[i] = new Keyframe(time, value.x, inTangent.x, outTangent.x, .5f, .5f); + keyframesY[i] = new Keyframe(time, value.y, inTangent.y, outTangent.y, .5f, .5f); + keyframesZ[i] = new Keyframe(time, value.z, inTangent.z, outTangent.z, .5f, .5f); + } + + count = times.Length; + break; + } + default: + { + // LINEAR + var prevTime = times[0]; + var prevValue = values[0]; + var inTangent = new float3(0f); + + for (var i = 1; i < times.Length; i++) + { + var time = times[i]; + var value = values[i]; + + if (prevTime >= time) + { + // Time value is not increasing, so we ignore this keyframe + // This happened on some Sketchfab files (see #298) +#if DEBUG + duplicates++; +#endif + continue; + } + + var dT = time - prevTime; + var dV = value - prevValue; + float3 outTangent; + if (dT < k_TimeEpsilon) + { + outTangent.x = (dV.x < 0f) ^ (dT < 0f) ? float.NegativeInfinity : float.PositiveInfinity; + outTangent.y = (dV.y < 0f) ^ (dT < 0f) ? float.NegativeInfinity : float.PositiveInfinity; + outTangent.z = (dV.z < 0f) ^ (dT < 0f) ? float.NegativeInfinity : float.PositiveInfinity; + } + else + { + outTangent = dV / dT; + } + + keyframesX[count] = new Keyframe(prevTime, prevValue.x, inTangent.x, outTangent.x); + keyframesY[count] = new Keyframe(prevTime, prevValue.y, inTangent.y, outTangent.y); + keyframesZ[count] = new Keyframe(prevTime, prevValue.z, inTangent.z, outTangent.z); + count++; + + inTangent = outTangent; + prevTime = time; + prevValue = value; + } + + keyframesX[count] = new Keyframe(prevTime, prevValue.x, inTangent.x, 0); + keyframesY[count] = new Keyframe(prevTime, prevValue.y, inTangent.y, 0); + keyframesZ[count] = new Keyframe(prevTime, prevValue.z, inTangent.z, 0); + count++; + break; + } + } + + Profiler.EndSample(); + + var curveX = new AnimationCurve(); + var curveY = new AnimationCurve(); + var curveZ = new AnimationCurve(); + curveX.SetKeys(keyframesX.AsReadOnlySpan()[..count]); + curveY.SetKeys(keyframesY.AsReadOnlySpan()[..count]); + curveZ.SetKeys(keyframesZ.AsReadOnlySpan()[..count]); + + var propNames = k_Vec3PropertyNames[propertyIndex]; + clip.SetCurve(animationPath, typeof(Transform), propNames[0], curveX); + clip.SetCurve(animationPath, typeof(Transform), propNames[1], curveY); + clip.SetCurve(animationPath, typeof(Transform), propNames[2], curveZ); + + Profiler.EndSample(); +#if DEBUG + if (duplicates > 0) + { + ReportDuplicateKeyframes(); + } +#endif + } + +#else // UNITY_6000_2_OR_NEWER + + static void AddVec3Curves( + AnimationClip clip, + string animationPath, + int propertyIndex, + NativeArray.ReadOnly times, + NativeArray.ReadOnly values, + InterpolationType interpolationType + ) + { + Profiler.BeginSample("AnimationModuleLoader.AddVec3Curves"); + var curveX = new AnimationCurve(); + var curveY = new AnimationCurve(); + var curveZ = new AnimationCurve(); + +#if DEBUG + uint duplicates = 0; +#endif + + switch (interpolationType) + { + case InterpolationType.Step: + { + for (var i = 0; i < times.Length; i++) + { + var time = times[i]; + var value = values[i]; + curveX.AddKey(new Keyframe(time, value.x, float.PositiveInfinity, 0)); + curveY.AddKey(new Keyframe(time, value.y, float.PositiveInfinity, 0)); + curveZ.AddKey(new Keyframe(time, value.z, float.PositiveInfinity, 0)); + } + break; + } + case InterpolationType.CubicSpline: + { + for (var i = 0; i < times.Length; i++) + { + var time = times[i]; + var inTangent = values[i * 3]; + var value = values[i * 3 + 1]; + var outTangent = values[i * 3 + 2]; + curveX.AddKey(new Keyframe(time, value.x, inTangent.x, outTangent.x, .5f, .5f)); + curveY.AddKey(new Keyframe(time, value.y, inTangent.y, outTangent.y, .5f, .5f)); + curveZ.AddKey(new Keyframe(time, value.z, inTangent.z, outTangent.z, .5f, .5f)); + } + break; + } + default: + { // LINEAR + var prevTime = times[0]; + var prevValue = values[0]; + var inTangent = new float3(0f); + + for (var i = 1; i < times.Length; i++) + { + var time = times[i]; + var value = values[i]; + + if (prevTime >= time) + { + // Time value is not increasing, so we ignore this keyframe + // This happened on some Sketchfab files (see #298) +#if DEBUG + duplicates++; +#endif + continue; + } + + var dT = time - prevTime; + var dV = value - prevValue; + float3 outTangent; + if (dT < k_TimeEpsilon) + { + outTangent.x = (dV.x < 0f) ^ (dT < 0f) ? float.NegativeInfinity : float.PositiveInfinity; + outTangent.y = (dV.y < 0f) ^ (dT < 0f) ? float.NegativeInfinity : float.PositiveInfinity; + outTangent.z = (dV.z < 0f) ^ (dT < 0f) ? float.NegativeInfinity : float.PositiveInfinity; + } + else + { + outTangent = dV / dT; + } + + curveX.AddKey(new Keyframe(prevTime, prevValue.x, inTangent.x, outTangent.x)); + curveY.AddKey(new Keyframe(prevTime, prevValue.y, inTangent.y, outTangent.y)); + curveZ.AddKey(new Keyframe(prevTime, prevValue.z, inTangent.z, outTangent.z)); + + inTangent = outTangent; + prevTime = time; + prevValue = value; + } + + curveX.AddKey(new Keyframe(prevTime, prevValue.x, inTangent.x, 0)); + curveY.AddKey(new Keyframe(prevTime, prevValue.y, inTangent.y, 0)); + curveZ.AddKey(new Keyframe(prevTime, prevValue.z, inTangent.z, 0)); + + break; + } + } + + var propNames = k_Vec3PropertyNames[propertyIndex]; + clip.SetCurve(animationPath, typeof(Transform), propNames[0], curveX); + clip.SetCurve(animationPath, typeof(Transform), propNames[1], curveY); + clip.SetCurve(animationPath, typeof(Transform), propNames[2], curveZ); + Profiler.EndSample(); +#if DEBUG + if (duplicates > 0) + { + ReportDuplicateKeyframes(); + } +#endif + } +#endif // UNITY_6000_2_OR_NEWER + + static void AddScalarCurve( + AnimationClip clip, + string animationPath, + string propertyName, + NativeArray.ReadOnly times, + InterpolationType interpolationType + ) + { + Profiler.BeginSample("AnimationModuleLoader.AddScalarCurve"); + var curve = new AnimationCurve(); + +#if DEBUG + uint duplicates = 0; +#endif + + switch (interpolationType) + { + case InterpolationType.Step: + case InterpolationType.CubicSpline: + { + foreach (var time in times) + { + curve.AddKey(new Keyframe(time, 0)); + } + + break; + } + case InterpolationType.Linear: + default: + { + var prevTime = times[0]; + + for (var i = 1; i < times.Length; i++) + { + var time = times[i]; + + if (prevTime >= time) + { + // Time value is not increasing, so we ignore this keyframe + // This happened on some Sketchfab files (see #298) +#if DEBUG + duplicates++; +#endif + continue; + } + + curve.AddKey(new Keyframe(prevTime, 0)); + prevTime = time; + } + + curve.AddKey(new Keyframe(prevTime, 0)); + break; + } + } + + clip.SetCurve(animationPath, typeof(SkinnedMeshRenderer), propertyName, curve); + Profiler.EndSample(); +#if DEBUG + if (duplicates > 0) + { + ReportDuplicateKeyframes(); + } +#endif + } + + static void AddScalarCurve( + AnimationClip clip, + string animationPath, + string propertyName, + int curveIndex, + int valueStride, + NativeArray.ReadOnly times, + NativeArray.ReadOnly values, + InterpolationType interpolationType + ) + { + Profiler.BeginSample("AnimationModuleLoader.AddScalarCurve"); + var curve = new AnimationCurve(); + +#if DEBUG + uint duplicates = 0; +#endif + + switch (interpolationType) + { + case InterpolationType.Step: + { + for (var i = 0; i < times.Length; i++) + { + var time = times[i]; + var valueIndex = i * valueStride + curveIndex; + var value = values[valueIndex]; + curve.AddKey(new Keyframe(time, value, float.PositiveInfinity, 0)); + } + break; + } + case InterpolationType.CubicSpline: + { + for (var i = 0; i < times.Length; i++) + { + var time = times[i]; + var valueIndex = i * valueStride + curveIndex; + var inTangent = values[valueIndex * 3]; + var value = values[valueIndex * 3 + 1]; + var outTangent = values[valueIndex * 3 + 2]; + curve.AddKey(new Keyframe(time, value, inTangent, outTangent, .5f, .5f)); + } + break; + } + default: + { // LINEAR + var prevTime = times[0]; + var prevValue = values[curveIndex]; + var inTangent = 0f; + + for (var i = 1; i < times.Length; i++) + { + var time = times[i]; + var valueIndex = i * valueStride + curveIndex; + var value = values[valueIndex]; + + if (prevTime >= time) + { + // Time value is not increasing, so we ignore this keyframe + // This happened on some Sketchfab files (see #298) +#if DEBUG + duplicates++; +#endif + continue; + } + + var dT = time - prevTime; + var dV = value - prevValue; + float outTangent; + if (dT < k_TimeEpsilon) + { + outTangent = (dV < 0f) ^ (dT < 0f) ? float.NegativeInfinity : float.PositiveInfinity; + } + else + { + outTangent = dV / dT; + } + + curve.AddKey(new Keyframe(prevTime, prevValue, inTangent, outTangent)); + + inTangent = outTangent; + prevTime = time; + prevValue = value; + } + + curve.AddKey(new Keyframe(prevTime, prevValue, inTangent, 0)); + + break; + } + } + + clip.SetCurve(animationPath, typeof(SkinnedMeshRenderer), propertyName, curve); + Profiler.EndSample(); +#if DEBUG + if (duplicates > 0) + { + ReportDuplicateKeyframes(); + } +#endif + } + +#if DEBUG + static void ReportDuplicateKeyframes() + { + Debug.LogError("Time of subsequent animation keyframes is not increasing (glTF-Validator error ACCESSOR_ANIMATION_INPUT_NON_INCREASING)"); + } +#endif + } +} +#endif // UNITY_ANIMATION diff --git a/Runtime/Scripts/Animations/AnimationModuleProcessor.cs.meta b/Runtime/Scripts/Animations/AnimationModuleProcessor.cs.meta new file mode 100644 index 000000000..0e70aae54 --- /dev/null +++ b/Runtime/Scripts/Animations/AnimationModuleProcessor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0c48f73ba2834f488ea33228867fd73b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/Animations/AnimationModuleProcessorFactory.cs b/Runtime/Scripts/Animations/AnimationModuleProcessorFactory.cs new file mode 100644 index 000000000..3895b7698 --- /dev/null +++ b/Runtime/Scripts/Animations/AnimationModuleProcessorFactory.cs @@ -0,0 +1,25 @@ +// SPDX-FileCopyrightText: 2026 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +#if UNITY_ANIMATION + +using System; + +namespace GLTFast.Animations +{ + sealed class AnimationModuleProcessorFactory : IAnimationProcessorFactory + { + readonly bool m_Legacy; + + public AnimationModuleProcessorFactory(bool legacy) + { + m_Legacy = legacy; + } + + public IAnimationProcessor CreateAnimationProcessor(int clipCount) + { + return new AnimationModuleProcessor(clipCount, m_Legacy); + } + } +} +#endif // UNITY_ANIMATION diff --git a/Runtime/Scripts/Animations/AnimationModuleProcessorFactory.cs.meta b/Runtime/Scripts/Animations/AnimationModuleProcessorFactory.cs.meta new file mode 100644 index 000000000..3e9bfec70 --- /dev/null +++ b/Runtime/Scripts/Animations/AnimationModuleProcessorFactory.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 6556516243c2418ebd49e2fdeb4f0f80 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/Animations/IAnimationProcessor.cs b/Runtime/Scripts/Animations/IAnimationProcessor.cs new file mode 100644 index 000000000..8b9cf85dd --- /dev/null +++ b/Runtime/Scripts/Animations/IAnimationProcessor.cs @@ -0,0 +1,128 @@ +// SPDX-FileCopyrightText: 2026 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +using GLTFast.Addons; +using GLTFast.Schema; +using Unity.Collections; +using Unity.Mathematics; +using UnityEngine; + +namespace GLTFast.Animations +{ + /// + /// Interface for processing animation clips. + /// The animation clip/curve data may be processed towards a specific animation system. + /// + /// + /// A processor instance is created by an for a single + /// import call (the conversion phase). Its lifetime ends when the conversion phase ends and + /// is invoked. is the + /// place to release scratch buffers and other temporary resources. + /// + public interface IAnimationProcessor : IDisposable + { + /// + /// Initialize a new animation clip with the given name and index. + /// Is called before any animation curves are added to the clip. + /// + /// glTF animation clip index. + /// glTF animation clip name. + void AddClip(int index, string name); + + /// + /// Adds a translation curve to an animation clip. + /// + /// glTF animation clip index. + /// glTF index of the targeted node. + /// Can be used to query hierarchical information and + /// build an animation path string. + /// Time values. + /// Output translation values. + /// Interpolation type. + void AddTranslationCurves( + int clipIndex, + int targetNode, + INodeHierarchyInfo nodeHierarchyInfo, + NativeArray.ReadOnly times, + NativeArray.ReadOnly values, + InterpolationType interpolationType + ); + + /// + /// Adds a rotation curve to an animation clip. + /// + /// glTF animation clip index. + /// glTF index of the targeted node. + /// Can be used to query hierarchical information and + /// build an animation path string. + /// Time values. + /// Output rotation values. + /// Interpolation type. + void AddRotationCurves( + int clipIndex, + int targetNode, + INodeHierarchyInfo nodeHierarchyInfo, + NativeArray.ReadOnly times, + NativeArray.ReadOnly values, + InterpolationType interpolationType + ); + + /// + /// Adds a local scale curve to an animation clip. + /// + /// glTF animation clip index. + /// glTF index of the targeted node. + /// Can be used to query hierarchical information and + /// build an animation path string. + /// Time values. + /// Output scale values. + /// Interpolation type. + void AddScaleCurves( + int clipIndex, + int targetNode, + INodeHierarchyInfo nodeHierarchyInfo, + NativeArray.ReadOnly times, + NativeArray.ReadOnly values, + InterpolationType interpolationType + ); + + /// + /// Adds a morph target weight curve to an animation clip. + /// + /// glTF animation clip index. + /// glTF index of the targeted node. + /// Target mesh number. A glTF mesh is converted into one or more + /// which are numbered consecutively. + /// is called once for each of those MeshResults + /// and the meshNumeration matches. + /// Name of the targeted Unity mesh. + /// Can be used to query hierarchical information and + /// build an animation path string. + /// Time values. + /// Output morph target weight values. + /// Interpolation type. + /// Morph targets' names. + void AddMorphTargetWeightCurves( + int clipIndex, + int targetNode, + int meshNumeration, + string meshName, + INodeHierarchyInfo nodeHierarchyInfo, + NativeArray.ReadOnly times, + NativeArray.ReadOnly values, + InterpolationType interpolationType, + string[] morphTargetNames = null + ); + + /// + /// Signals that the conversion phase has finished and all animation curves have been added. + /// Implementations may finalize their internal state and optionally return a factory that + /// produces appliers to attach the processed animation data to instantiated scenes. + /// + /// An that creates instance appliers for + /// the processed animation data, or if no per-instance application is + /// required. + IDataInstanceApplierFactory Complete() => null; + } +} diff --git a/Runtime/Scripts/Animations/IAnimationProcessor.cs.meta b/Runtime/Scripts/Animations/IAnimationProcessor.cs.meta new file mode 100644 index 000000000..ad1fba026 --- /dev/null +++ b/Runtime/Scripts/Animations/IAnimationProcessor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d04228ca0499841f49737eaf82b172ac +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/Animations/IAnimationProcessorFactory.cs b/Runtime/Scripts/Animations/IAnimationProcessorFactory.cs new file mode 100644 index 000000000..0cbfe84ce --- /dev/null +++ b/Runtime/Scripts/Animations/IAnimationProcessorFactory.cs @@ -0,0 +1,26 @@ +// SPDX-FileCopyrightText: 2026 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +namespace GLTFast.Animations +{ + /// + /// Creates per-import instances. + /// + /// + /// Add-ons that want to handle animation import implement this interface (typically on the + /// same type that derives from ) and a fresh + /// is requested for every import call. + /// + public interface IAnimationProcessorFactory + { + /// + /// Creates a new for the upcoming animation conversion phase. + /// + /// Total number of animation clips to expect. + /// + /// A new instance owned by the caller. The caller disposes + /// it at the end of the conversion phase. + /// + IAnimationProcessor CreateAnimationProcessor(int clipCount); + } +} diff --git a/Runtime/Scripts/Animations/IAnimationProcessorFactory.cs.meta b/Runtime/Scripts/Animations/IAnimationProcessorFactory.cs.meta new file mode 100644 index 000000000..4e38511d7 --- /dev/null +++ b/Runtime/Scripts/Animations/IAnimationProcessorFactory.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 12d4027e0735443af977f0d9f4e0aa3b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/DOTS/EntityInstantiator.cs b/Runtime/Scripts/DOTS/EntityInstantiator.cs index 2a255238e..ed29cf45a 100644 --- a/Runtime/Scripts/DOTS/EntityInstantiator.cs +++ b/Runtime/Scripts/DOTS/EntityInstantiator.cs @@ -19,8 +19,10 @@ using UnityEngine.Rendering; #endif -namespace GLTFast { - public class EntityInstantiator : IInstantiator { +namespace GLTFast +{ + public class EntityInstantiator : IInstantiator + { const float k_Epsilon = .00001f; @@ -30,7 +32,7 @@ public class EntityInstantiator : IInstantiator { protected Entity m_Parent; - protected Dictionary m_Nodes; + protected Dictionary m_Nodes; protected InstantiationSettings m_Settings; @@ -57,7 +59,8 @@ public EntityInstantiator( public void BeginScene( string name, uint[] nodeIndices - ) { + ) + { Profiler.BeginSample("BeginScene"); m_Entities = new List(); m_Nodes = new Dictionary(); @@ -78,14 +81,16 @@ uint[] nodeIndices || (m_Settings.SceneObjectCreation == SceneObjectCreation.WhenMultipleRootNodes && nodeIndices is { Length: > 1 }); - if (dedicatedSceneEntity) { + if (dedicatedSceneEntity) + { var sceneEntity = m_EntityManager.CreateEntity(m_Parent == Entity.Null ? m_SceneArchetype : m_NodeArchetype); m_EntityManager.SetComponentData(sceneEntity, LocalTransform.Identity); m_EntityManager.SetComponentData(sceneEntity, new LocalToWorld { Value = float4x4.identity }); #if UNITY_EDITOR m_EntityManager.SetName(sceneEntity, name ?? "Scene"); #endif - if (m_Parent != Entity.Null) { + if (m_Parent != Entity.Null) + { m_EntityManager.SetComponentData(sceneEntity, new Parent { Value = m_Parent }); } m_Entities.Add(sceneEntity); @@ -95,8 +100,10 @@ uint[] nodeIndices #if UNITY_ANIMATION /// - public void AddAnimation(AnimationClip[] animationClips) { - if ((m_Settings.Mask & ComponentType.Animation) != 0 && animationClips != null) { + public void AddAnimation(AnimationClip[] animationClips) + { + if ((m_Settings.Mask & ComponentType.Animation) != 0 && animationClips != null) + { // TODO: Add animation support } } @@ -154,7 +161,8 @@ float3 scale return node; } - public void SetNodeName(uint nodeIndex, string name) { + public void SetNodeName(uint nodeIndex, string name) + { #if UNITY_EDITOR m_EntityManager.SetName(m_Nodes[nodeIndex], name ?? $"Node-{nodeIndex}"); #endif @@ -169,8 +177,10 @@ public virtual void AddPrimitive( uint? rootJoint = null, float[] morphTargetWeights = null, int meshNumeration = 0 - ) { - if ((m_Settings.Mask & ComponentType.Mesh) == 0) { + ) + { + if ((m_Settings.Mask & ComponentType.Mesh) == 0) + { return; } Profiler.BeginSample("AddPrimitive"); @@ -197,10 +207,13 @@ public virtual void AddPrimitive( for (ushort index = 0; index < meshResult.materialIndices.Length; index++) { Entity node; - if (meshNumeration == 0 && index == 0) { + if (meshNumeration == 0 && index == 0) + { // Use node entity for first sub-mesh of first mesh result. node = m_Nodes[nodeIndex]; - } else { + } + else + { node = CreateNodeInternal( new Parent { Value = m_Nodes[nodeIndex] }, float3.zero, @@ -218,14 +231,7 @@ public virtual void AddPrimitive( m_EntityManager, renderMeshDescription, renderMeshArray, - MaterialMeshInfo.FromRenderMeshArrayIndices( - index, - 0, -#if !UNITY_ENTITIES_1_2_OR_NEWER - (sbyte) -#endif - index - ) + MaterialMeshInfo.FromRenderMeshArrayIndices(index, 0, index) ); // Refine RenderBounds @@ -250,8 +256,10 @@ public void AddPrimitiveInstanced( NativeArray? rotations, NativeArray? scales, int meshNumeration = 0 - ) { - if ((m_Settings.Mask & ComponentType.Mesh) == 0) { + ) + { + if ((m_Settings.Mask & ComponentType.Mesh) == 0) + { return; } Profiler.BeginSample("AddPrimitiveInstanced"); @@ -308,7 +316,8 @@ public void AddPrimitiveInstanced( for (ushort index = 0; index < meshResult.materialIndices.Length; index++) { - for (var i = 0; i < instanceCount; i++) { + for (var i = 0; i < instanceCount; i++) + { var instance = index == 0 && i == 0 ? prototype : m_EntityManager.Instantiate(prototype); m_Entities.Add(instance); @@ -331,12 +340,7 @@ public void AddPrimitiveInstanced( m_EntityManager, renderMeshDescription, renderMeshArray, - MaterialMeshInfo.FromRenderMeshArrayIndices(index, 0, -#if !UNITY_ENTITIES_1_2_OR_NEWER - (sbyte) -#endif - index - ) + MaterialMeshInfo.FromRenderMeshArrayIndices(index, 0, index) ); } } @@ -344,7 +348,8 @@ public void AddPrimitiveInstanced( } /// - public void AddCamera(uint nodeIndex, uint cameraIndex) { + public void AddCamera(uint nodeIndex, uint cameraIndex) + { // if ((m_Settings.mask & ComponentType.Camera) == 0) { // return; // } @@ -356,7 +361,8 @@ public void AddCamera(uint nodeIndex, uint cameraIndex) { public void AddLightPunctual( uint nodeIndex, uint lightIndex - ) { + ) + { // if ((m_Settings.mask & ComponentType.Light) == 0) { // return; // } @@ -364,7 +370,8 @@ uint lightIndex } /// - public virtual void EndScene(uint[] rootNodeIndices) { + public virtual void EndScene(uint[] rootNodeIndices) + { Profiler.BeginSample("EndScene"); if (m_Entities.Count > 0) diff --git a/Runtime/Scripts/DOTS/GltfEntityAsset.cs b/Runtime/Scripts/DOTS/GltfEntityAsset.cs index 099fcb27f..959eb9fec 100644 --- a/Runtime/Scripts/DOTS/GltfEntityAsset.cs +++ b/Runtime/Scripts/DOTS/GltfEntityAsset.cs @@ -17,7 +17,8 @@ using Unity.Mathematics; #endif -namespace GLTFast { +namespace GLTFast +{ /// /// Loads a glTF from a MonoBehaviour but instantiates Entities. @@ -25,7 +26,8 @@ namespace GLTFast { /// TODO: To be replaced with a pure ECS concept /// [BurstCompile] - public class GltfEntityAsset : GltfAssetBase { + public class GltfEntityAsset : GltfAssetBase + { public string Url => url; @@ -80,8 +82,10 @@ public InstantiationSettings InstantiationSettings ? Path.Combine(Application.streamingAssetsPath, url) : url; - protected virtual async void Start() { - if(loadOnStartup && !string.IsNullOrEmpty(url)) { + protected virtual async void Start() + { + if (loadOnStartup && !string.IsNullOrEmpty(url)) + { // Automatic load on startup await Load(FullUrl); } @@ -89,20 +93,24 @@ protected virtual async void Start() { public override async Task Load( string gltfUrl, - IDownloadProvider downloadProvider=null, - IDeferAgent deferAgent=null, - IMaterialGenerator materialGenerator=null, + IDownloadProvider downloadProvider = null, + IDeferAgent deferAgent = null, + IMaterialGenerator materialGenerator = null, ICodeLogger logger = null ) { logger = logger ?? new ConsoleLogger(); var success = await base.Load(gltfUrl, downloadProvider, deferAgent, materialGenerator, logger); - if(success) { + if (success) + { if (deferAgent != null) await deferAgent.BreakPoint(); // Auto-Instantiate - if (sceneId>=0) { - await InstantiateScene(sceneId,logger); - } else { + if (sceneId >= 0) + { + await InstantiateScene(sceneId, logger); + } + else + { await Instantiate(logger); } } @@ -123,19 +131,22 @@ protected override IInstantiator GetDefaultInstantiator(ICodeLogger logger) Rotation = transformCached.rotation, Scale = transformCached.localScale.x, }); - entityManager.SetComponentData(m_SceneRoot, new LocalToWorld{Value = float4x4.identity}); + entityManager.SetComponentData(m_SceneRoot, new LocalToWorld { Value = float4x4.identity }); return new EntityInstantiator(Importer, m_SceneRoot, logger, instantiationSettings); } - protected override void PostInstantiation(IInstantiator instantiator, bool success) { + protected override void PostInstantiation(IInstantiator instantiator, bool success) + { CurrentSceneId = success ? Importer.DefaultSceneIndex : null; } /// /// Removes previously instantiated scene(s) /// - public override void ClearScenes() { - if (m_SceneRoot != Entity.Null) { + public override void ClearScenes() + { + if (m_SceneRoot != Entity.Null) + { var entityManager = World.DefaultGameObjectInjectionWorld.EntityManager; EntityUtils.DestroyChildren(ref m_SceneRoot, ref entityManager); entityManager.DestroyEntity(m_SceneRoot); diff --git a/Runtime/Scripts/DOTS/glTFast.dots.asmdef b/Runtime/Scripts/DOTS/glTFast.dots.asmdef index 097c1ab20..84834b3dc 100644 --- a/Runtime/Scripts/DOTS/glTFast.dots.asmdef +++ b/Runtime/Scripts/DOTS/glTFast.dots.asmdef @@ -9,9 +9,7 @@ "Unity.Mathematics", "Unity.Mathematics.Extensions", "Unity.Mathematics.Extensions.Hybrid", - "Unity.Entities.Hybrid", "Unity.Entities.Graphics", - "Unity.Rendering.Hybrid", "Unity.Burst" ], "includePlatforms": [], @@ -24,19 +22,14 @@ "versionDefines": [ { "name": "com.unity.modules.animation", - "expression": "1.0.0", + "expression": "", "define": "UNITY_ANIMATION" }, { "name": "com.unity.entities.graphics", - "expression": "1.0.10", + "expression": "", "define": "UNITY_ENTITIES_GRAPHICS" - }, - { - "name": "com.unity.entities", - "expression": "1.2", - "define": "UNITY_ENTITIES_1_2_OR_NEWER" } ], "noEngineReferences": false -} \ No newline at end of file +} diff --git a/Runtime/Scripts/DataUri.cs b/Runtime/Scripts/DataUri.cs index 9d84d2c25..625efdec2 100644 --- a/Runtime/Scripts/DataUri.cs +++ b/Runtime/Scripts/DataUri.cs @@ -96,36 +96,6 @@ public static async ValueTask> DecodeDataUriAsync( return result; } -#if !UNITY_6000_0_OR_NEWER - public static async ValueTask DecodeDataUriToManagedArrayAsync( - string dataUri, - int startIndex, - int byteLength, - IDeferAgent deferAgent, - CancellationToken cancellationToken, - bool timeCritical = false - ) - { - var predictedTime = dataUri.Length / (float)k_Base64DecodeSpeed; -#if GLTFAST_THREADS - if (!timeCritical || deferAgent.ShouldDefer(predictedTime)) - { - try - { - return await Task.Run(() => DecodeDataUriToManagedArray(dataUri, startIndex, byteLength), cancellationToken); - } - catch (OperationCanceledException) - { - cancellationToken.ThrowIfCancellationRequestedWithTracking(); - } - } -#endif - await deferAgent.BreakPoint(predictedTime); - var result = DecodeDataUriToManagedArray(dataUri, startIndex, byteLength); - return result; - } -#endif // !UNITY_6000_0_OR_NEWER - public static bool TryGetDataUriDescriptor( string dataUri, out ReadOnlySpan mimeType, @@ -172,21 +142,5 @@ static NativeArray DecodeDataUri(string dataUri, int startIndex, int dataL Profiler.EndSample(); return data; } - -#if !UNITY_6000_0_OR_NEWER - static byte[] DecodeDataUriToManagedArray(string dataUri, int startIndex, int dataLength) - { - Profiler.BeginSample("DecodeDataUriToManagedArray"); - var data = new byte[dataLength]; - if (!Convert.TryFromBase64Chars(dataUri.AsSpan(startIndex), data.AsSpan(), out var bytesWritten) - || bytesWritten != dataLength) - { - // Invalidate buffer to signal decoding failed. - data = null; - } - Profiler.EndSample(); - return data; - } -#endif // !UNITY_6000_0_OR_NEWER } } diff --git a/Runtime/Scripts/DestroyUtils.cs b/Runtime/Scripts/DestroyUtils.cs new file mode 100644 index 000000000..04b03cfde --- /dev/null +++ b/Runtime/Scripts/DestroyUtils.cs @@ -0,0 +1,36 @@ +// SPDX-FileCopyrightText: 2026 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System.Collections.Generic; +using UnityEngine; + +namespace GLTFast +{ + static class DestroyUtils + { + public static void SafeDestroy(Object obj) + { +#if UNITY_EDITOR + if (!Application.isPlaying) + { + Object.DestroyImmediate(obj); + } + else +#endif + { + Object.Destroy(obj); + } + } + + public static void SafeDestroy(IEnumerable objects) + { + if (objects != null) + { + foreach (var obj in objects) + { + SafeDestroy(obj); + } + } + } + } +} diff --git a/Runtime/Scripts/DestroyUtils.cs.meta b/Runtime/Scripts/DestroyUtils.cs.meta new file mode 100644 index 000000000..bdb9e33ec --- /dev/null +++ b/Runtime/Scripts/DestroyUtils.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ec574e3617acd453f902780ac12342df +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/DracoMeshGenerator.cs b/Runtime/Scripts/DracoMeshGenerator.cs index a02cc7ffc..2aaae3e11 100644 --- a/Runtime/Scripts/DracoMeshGenerator.cs +++ b/Runtime/Scripts/DracoMeshGenerator.cs @@ -6,17 +6,18 @@ using System; using System.Collections.Generic; using System.Threading.Tasks; -using UnityEngine; -using Unity.Collections; using Draco; using GLTFast.Logging; using GLTFast.Schema; +using Unity.Collections; using Unity.Jobs; +using UnityEngine; using UnityEngine.Assertions; using UnityEngine.Rendering; using Mesh = UnityEngine.Mesh; -namespace GLTFast { +namespace GLTFast +{ class DracoMeshGenerator : MeshGeneratorBase { @@ -155,9 +156,10 @@ Bounds[] bounds attributesArray[index] = dracoExt.attributes; } - var mesh = await StartDecode(bufferViews, attributesArray, bounds==null); + var mesh = await StartDecode(bufferViews, attributesArray, bounds == null); - if (mesh is null) { + if (mesh is null) + { return null; } diff --git a/Runtime/Scripts/Export/Constants.cs b/Runtime/Scripts/Export/Constants.cs index 4756417e1..33fe76668 100644 --- a/Runtime/Scripts/Export/Constants.cs +++ b/Runtime/Scripts/Export/Constants.cs @@ -7,7 +7,7 @@ namespace GLTFast.Export { static class Constants { - public const string version = "6.18.0"; + public const string version = "6.19.0"; internal const string mimeTypePNG = "image/png"; internal const string mimeTypeJPG = "image/jpeg"; diff --git a/Runtime/Scripts/Export/GameObjectExport.cs b/Runtime/Scripts/Export/GameObjectExport.cs index 9835790cb..5eae3d293 100644 --- a/Runtime/Scripts/Export/GameObjectExport.cs +++ b/Runtime/Scripts/Export/GameObjectExport.cs @@ -264,15 +264,12 @@ List tempMaterials } } } - else - if (gameObject.TryGetComponent(out SkinnedMeshRenderer smr)) + else if (gameObject.TryGetComponent(out SkinnedMeshRenderer smr) + && (smr.enabled || m_Settings.DisabledComponents)) { - if (smr.enabled || m_Settings.DisabledComponents) - { - mesh = smr.sharedMesh; - bones = smr.bones; - smr.GetSharedMaterials(tempMaterials); - } + mesh = smr.sharedMesh; + bones = smr.bones; + smr.GetSharedMaterials(tempMaterials); } var materialIds = new int[tempMaterials.Count]; diff --git a/Runtime/Scripts/Export/GltfWriter.cs b/Runtime/Scripts/Export/GltfWriter.cs index 606cc849c..7fefd62cf 100755 --- a/Runtime/Scripts/Export/GltfWriter.cs +++ b/Runtime/Scripts/Export/GltfWriter.cs @@ -1,10 +1,6 @@ // SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 -#if UNITY_2023_3_OR_NEWER -#define ASYNC_MESH_DATA -#endif - using System; using System.Collections.Generic; using System.Diagnostics; @@ -398,12 +394,16 @@ public int AddImage(ImageExportBase imageExport) #if UNITY_IMAGECONVERSION CertifyNotDisposed(); int imageId; - if (m_ImageExports != null) { + if (m_ImageExports != null) + { imageId = m_ImageExports.IndexOf(imageExport); - if (imageId >= 0) { + if (imageId >= 0) + { return imageId; } - } else { + } + else + { m_ImageExports = new List(); m_Images = new List(); } @@ -413,7 +413,8 @@ public int AddImage(ImageExportBase imageExport) // TODO: Create sampler, if required // TODO: KTX encoding - var image = new Image { + var image = new Image + { name = imageExport.FileName, mimeType = imageExport.MimeType }; @@ -436,13 +437,15 @@ public int AddTexture(int imageId, int samplerId) CertifyNotDisposed(); m_Textures = m_Textures ?? new List(); - var texture = new Texture { + var texture = new Texture + { source = imageId, sampler = samplerId }; var index = m_Textures.FindIndex(i => TextureComparer.Equals(i, texture)); - if (index >= 0) { + if (index >= 0) + { return index; } @@ -552,7 +555,8 @@ async Task SaveAndDispose( { #if DEBUG - if (m_State != State.ContentAdded) { + if (m_State != State.ContentAdded) + { Debug.LogWarning("Exporting empty glTF"); } #endif @@ -734,15 +738,20 @@ static int GetPadByteCount(uint length) void LogSummary(long jsonLength, long bufferLength) { #if DEBUG - var sb = new StringBuilder("glTF summary: "); - sb.AppendFormat("{0} bytes JSON + {1} bytes buffer", jsonLength, bufferLength); - if (m_Gltf != null) { - sb.AppendFormat(", {0} nodes", m_Gltf.Nodes?.Count ?? 0); - sb.AppendFormat(" ,{0} meshes", m_Gltf.meshes?.Length ?? 0); - sb.AppendFormat(" ,{0} materials", m_Gltf.Materials?.Count ?? 0); - sb.AppendFormat(" ,{0} images", m_Gltf.Images?.Count ?? 0); - } - m_Logger?.Info(sb.ToString()); + if (m_Logger != null) + { + var sb = new StringBuilder("glTF summary: "); + sb.AppendFormat("{0} bytes JSON + {1} bytes buffer", jsonLength, bufferLength); + if (m_Gltf != null) + { + sb + .AppendFormat(", {0} nodes", m_Gltf.Nodes?.Count ?? 0) + .AppendFormat(", {0} meshes", m_Gltf.Meshes?.Count ?? 0) + .AppendFormat(", {0} materials", m_Gltf.Materials?.Count ?? 0) + .AppendFormat(", {0} images", m_Gltf.Images?.Count ?? 0); + } + m_Logger.Info(sb.ToString()); + } #endif } @@ -1196,8 +1205,7 @@ async Task BakeMesh(int meshId, IMeshData meshData, bool sync) { topology = subMeshTopology; } - else - if (topology.Value != subMeshTopology) + else if (topology.Value != subMeshTopology) { m_Logger?.Error(LogCode.TopologyUnsupported, "mixed"); return; @@ -1256,13 +1264,7 @@ async Task BakeMesh(int meshId, IMeshData meshData, bool sync) for (var stream = 0; stream < streamCount; stream++) { - inputStreams[stream] = -#if ASYNC_MESH_DATA - await meshData.GetVertexData(stream, sync); -#else - meshData.GetVertexData(stream); -#endif - + inputStreams[stream] = await meshData.GetVertexData(stream, sync); outputStreams[stream] = new NativeArray(outputStrides[stream] * vertexCount, Allocator.Persistent); } @@ -1381,12 +1383,7 @@ async Task BakeMeshIndices(IMeshData meshData, UnityEngine.Mesh uMesh, Mesh NativeArray indices; if (uMesh.indexFormat == IndexFormat.UInt16) { - using var indexData16 = -#if ASYNC_MESH_DATA - await ((IMeshData)meshData).GetIndexData(sync); -#else - ((IMeshData)meshData).GetIndexData(); -#endif + using var indexData16 = await ((IMeshData)meshData).GetIndexData(sync); NativeArray destIndices; JobHandle job = default; @@ -1454,12 +1451,7 @@ JobHandle ConvertSubmeshIndices(int submeshIndex, JobHandle dependency) } else { - using var indexData32 = -#if ASYNC_MESH_DATA - await ((IMeshData)meshData).GetIndexData(sync); -#else - ((IMeshData)meshData).GetIndexData(); -#endif + using var indexData32 = await ((IMeshData)meshData).GetIndexData(sync); NativeArray destIndices; JobHandle job = default; if (topology.Value == MeshTopology.Quads) @@ -1610,25 +1602,27 @@ async Task BakeMeshDraco(int meshId, bool sync) var results = await DracoEncoder.EncodeMesh( unityMesh, - (QuantizationSettings) m_Settings.DracoSettings, - (SpeedSettings) m_Settings.DracoSettings + (QuantizationSettings)m_Settings.DracoSettings, + (SpeedSettings)m_Settings.DracoSettings ); if (results == null) return; mesh.primitives = new MeshPrimitive[results.Length]; - for (var submesh = 0; submesh < results.Length; submesh++) { + for (var submesh = 0; submesh < results.Length; submesh++) + { var encodeResult = results[submesh]; var bufferViewId = WriteBufferViewToBuffer(encodeResult.data, BufferViewTarget.None); var attributes = new Attributes(); var dracoAttributes = new Attributes(); - foreach ( var vertexAttributeTuple in encodeResult.vertexAttributes) + foreach (var vertexAttributeTuple in encodeResult.vertexAttributes) { var vertexAttribute = vertexAttributeTuple.Key; var attribute = vertexAttributeTuple.Value; - var accessor = new Accessor { + var accessor = new Accessor + { componentType = vertexAttribute == VertexAttribute.BlendIndices ? GltfComponentType.UnsignedShort : GltfComponentType.Float, @@ -1676,9 +1670,12 @@ async Task BakeMeshDraco(int meshId, bool sync) var indicesId = AddAccessor(indexAccessor); - mesh.primitives[submesh] = new MeshPrimitive { - extensions = new MeshPrimitiveExtensions { - KHR_draco_mesh_compression = new MeshPrimitiveDracoExtension { + mesh.primitives[submesh] = new MeshPrimitive + { + extensions = new MeshPrimitiveExtensions + { + KHR_draco_mesh_compression = new MeshPrimitiveDracoExtension + { bufferView = bufferViewId, attributes = dracoAttributes } @@ -1828,7 +1825,8 @@ bool GetUniqueFileName(ref string filename) "Image file conflicts", "Some image files at the destination will be overwritten", "Overwrite", "Cancel"); - if (!overwrite) { + if (!overwrite) + { return false; } #else @@ -2491,10 +2489,6 @@ bool ValidateMesh(UnityEngine.Mesh uMesh) if (!uMesh.isReadable) { -#if DEBUG && !UNITY_6000_0_OR_NEWER - Debug.LogWarning($"Exporting non-readable meshes is not reliable in builds across platforms and " + - $"graphics APIs! Consider making mesh \"{uMesh.name}\" readable.", uMesh); -#endif if ((m_Settings.Compression & Compression.Draco) != 0) { #if UNITY_EDITOR diff --git a/Runtime/Scripts/Export/HDAdditionalLightDataExtensions.cs b/Runtime/Scripts/Export/HDAdditionalLightDataExtensions.cs deleted file mode 100644 index d0233ad49..000000000 --- a/Runtime/Scripts/Export/HDAdditionalLightDataExtensions.cs +++ /dev/null @@ -1,39 +0,0 @@ -// SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors -// SPDX-License-Identifier: Apache-2.0 - -#if USING_HDRP && !UNITY_2023_2_OR_NEWER - -using UnityEngine; -using UnityEngine.Rendering.HighDefinition; - -namespace GLTFast.Export -{ - static class HDAdditionalLightDataExtensions - { - /// - /// In older HDRP versions Light.type may not reflect the actual light type. - /// To get the actual light type, the HDAdditionalLightData component has to be queried. - /// - /// HDRP specific light component. - /// The HDRP specific light type or null otherwise. - public static LightType? TryGetLightType(this HDAdditionalLightData lightHd) - { - switch (lightHd.type) - { - case HDLightType.Area: - switch (lightHd.areaLightShape) - { - case AreaLightShape.Rectangle: - return LightType.Rectangle; - case AreaLightShape.Tube: - case AreaLightShape.Disc: - default: - return LightType.Disc; - } - } - - return null; - } - } -} -#endif diff --git a/Runtime/Scripts/Export/HDAdditionalLightDataExtensions.cs.meta b/Runtime/Scripts/Export/HDAdditionalLightDataExtensions.cs.meta deleted file mode 100644 index ba9e4703b..000000000 --- a/Runtime/Scripts/Export/HDAdditionalLightDataExtensions.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 6e5be4f317e841b98301597d5bb37dbf -timeCreated: 1709303976 \ No newline at end of file diff --git a/Runtime/Scripts/Export/HighDefinitionMaterialExport.cs b/Runtime/Scripts/Export/HighDefinitionMaterialExport.cs index 01746dec8..96e2a57b7 100644 --- a/Runtime/Scripts/Export/HighDefinitionMaterialExport.cs +++ b/Runtime/Scripts/Export/HighDefinitionMaterialExport.cs @@ -9,11 +9,13 @@ using Unity.Mathematics; using UnityEngine; -namespace GLTFast.Export { +namespace GLTFast.Export +{ using Schema; - public class HighDefinitionMaterialExport : MaterialExportBase { + public class HighDefinitionMaterialExport : MaterialExportBase + { const string k_KeywordNormalMapTangentSpace = "_NORMALMAP_TANGENT_SPACE"; const string k_KeywordMaskMap = "_MASKMAP"; // HDRP Lit @@ -40,11 +42,14 @@ public class HighDefinitionMaterialExport : MaterialExportBase { /// Associated IGltfWriter. Is used for adding images and textures. /// Logger used for reporting /// True if no errors occured, false otherwise - public override bool ConvertMaterial(UnityEngine.Material uMaterial, out Material material, IGltfWritable gltf, ICodeLogger logger ) { + public override bool ConvertMaterial(UnityEngine.Material uMaterial, out Material material, IGltfWritable gltf, ICodeLogger logger) + { var success = true; - material = new Material { + material = new Material + { name = uMaterial.name, - pbrMetallicRoughness = new PbrMetallicRoughness { + pbrMetallicRoughness = new PbrMetallicRoughness + { metallicFactor = 0, roughnessFactor = 1.0f } @@ -58,12 +63,14 @@ public override bool ConvertMaterial(UnityEngine.Material uMaterial, out Materia // // Emission // - if (uMaterial.HasProperty(k_EmissiveColor)) { + if (uMaterial.HasProperty(k_EmissiveColor)) + { var emissionColor = uMaterial.GetColor(k_EmissiveColor); // Clamp emissiveColor to 0..1 - var maxFactor = math.max(emissionColor.r,math.max(emissionColor.g,emissionColor.b)); - if (maxFactor > 1f) { + var maxFactor = math.max(emissionColor.r, math.max(emissionColor.g, emissionColor.b)); + if (maxFactor > 1f) + { emissionColor.r /= maxFactor; emissionColor.g /= maxFactor; emissionColor.b /= maxFactor; @@ -73,15 +80,20 @@ public override bool ConvertMaterial(UnityEngine.Material uMaterial, out Materia material.Emissive = emissionColor; } - if (uMaterial.HasProperty(k_EmissionColorMap)) { + if (uMaterial.HasProperty(k_EmissionColorMap)) + { var emissionTex = uMaterial.GetTexture(k_EmissionColorMap); - if (emissionTex != null) { - if(emissionTex is Texture2D) { + if (emissionTex != null) + { + if (emissionTex is Texture2D) + { material.emissiveTexture = ExportTextureInfo(emissionTex, gltf); ExportTextureTransform(material.emissiveTexture, uMaterial, mainTexProperty, gltf); - } else { - logger?.Error(LogCode.TextureInvalidType, "emission", material.name ); + } + else + { + logger?.Error(LogCode.TextureInvalidType, "emission", material.name); success = false; } } @@ -97,12 +109,16 @@ public override bool ConvertMaterial(UnityEngine.Material uMaterial, out Materia { var normalTex = uMaterial.GetTexture(k_NormalMap); - if (normalTex != null) { - if(normalTex is Texture2D) { + if (normalTex != null) + { + if (normalTex is Texture2D) + { material.normalTexture = ExportNormalTextureInfo(normalTex, uMaterial, gltf, k_NormalScale); ExportTextureTransform(material.normalTexture, uMaterial, mainTexProperty, gltf); - } else { - logger?.Error(LogCode.TextureInvalidType, "normal", uMaterial.name ); + } + else + { + logger?.Error(LogCode.TextureInvalidType, "normal", uMaterial.name); success = false; } } @@ -137,9 +153,12 @@ public override bool ConvertMaterial(UnityEngine.Material uMaterial, out Materia } } - if(IsUnlit(uMaterial)) { + if (IsUnlit(uMaterial)) + { ExportUnlit(material, uMaterial, mainTexProperty, gltf, logger); - } else { + } + else + { success &= ExportPbrMetallicRoughness( uMaterial, material, @@ -158,62 +177,77 @@ static bool ExportPbrMetallicRoughness( Material material, IGltfWritable gltf, ICodeLogger logger - ) { + ) + { var success = true; var pbr = new PbrMetallicRoughness { metallicFactor = 0, roughnessFactor = 1.0f }; var metallicUsed = false; - if (uMaterial.HasProperty(MetallicProperty)) { + if (uMaterial.HasProperty(MetallicProperty)) + { pbr.metallicFactor = uMaterial.GetFloat(MetallicProperty); metallicUsed = pbr.metallicFactor > 0; } - if (uMaterial.HasProperty(k_BaseColorMap)) { + if (uMaterial.HasProperty(k_BaseColorMap)) + { // TODO if additive particle, render black into alpha // TODO use private Material.GetFirstPropertyNameIdByAttribute here, supported from 2020.1+ var mainTex = uMaterial.GetTexture(k_BaseColorMap); - if (mainTex) { - if(mainTex is Texture2D) { + if (mainTex) + { + if (mainTex is Texture2D) + { pbr.baseColorTexture = ExportTextureInfo(mainTex, gltf, material.GetAlphaMode() == MaterialBase.AlphaMode.Opaque ? ImageFormat.Jpg : ImageFormat.Unknown ); ExportTextureTransform(pbr.baseColorTexture, uMaterial, k_BaseColorMap, gltf); - } else { - logger?.Error(LogCode.TextureInvalidType, "main", uMaterial.name ); + } + else + { + logger?.Error(LogCode.TextureInvalidType, "main", uMaterial.name); success = false; } } } MaskMapImageExport ormImageExport = null; - if (uMaterial.IsKeywordEnabled(k_KeywordMaskMap) && uMaterial.HasProperty(k_MaskMap)) { - var maskMap = uMaterial.GetTexture(k_MaskMap) as Texture2D; - if (maskMap != null) { + if (uMaterial.IsKeywordEnabled(k_KeywordMaskMap) && uMaterial.HasProperty(k_MaskMap)) + { + var maskMap = uMaterial.GetTexture(k_MaskMap) as Texture2D; + if (maskMap != null) + { var smoothnessUsed = false; - if (uMaterial.HasProperty(k_SmoothnessRemapMin)) { + if (uMaterial.HasProperty(k_SmoothnessRemapMin)) + { var smoothnessRemapMin = uMaterial.GetFloat(k_SmoothnessRemapMin); - pbr.roughnessFactor = 1-smoothnessRemapMin; - if (uMaterial.HasProperty(k_SmoothnessRemapMax)) { + pbr.roughnessFactor = 1 - smoothnessRemapMin; + if (uMaterial.HasProperty(k_SmoothnessRemapMax)) + { var smoothnessRemapMax = uMaterial.GetFloat(k_SmoothnessRemapMax); smoothnessUsed = math.abs(smoothnessRemapMin - smoothnessRemapMax) > math.EPSILON; - if (smoothnessRemapMax < 1 && smoothnessUsed) { - logger?.Warning(LogCode.RemapUnsupported,"Smoothness"); + if (smoothnessRemapMax < 1 && smoothnessUsed) + { + logger?.Warning(LogCode.RemapUnsupported, "Smoothness"); } } } var occStrength = 1f; - if (uMaterial.HasProperty(k_AORemapMin)) { + if (uMaterial.HasProperty(k_AORemapMin)) + { var occMin = uMaterial.GetFloat(k_AORemapMin); - occStrength = math.clamp(1f-occMin,0,1); - if (uMaterial.HasProperty(k_AORemapMax)) { + occStrength = math.clamp(1f - occMin, 0, 1); + if (uMaterial.HasProperty(k_AORemapMax)) + { var occMax = uMaterial.GetFloat(k_AORemapMax); - if (occMax < 1f && occStrength > 0) { - logger?.Warning(LogCode.RemapUnsupported,"AO"); + if (occMax < 1f && occStrength > 0) + { + logger?.Warning(LogCode.RemapUnsupported, "AO"); } } } @@ -224,23 +258,29 @@ ICodeLogger logger // are used based on pixel values (i.e. have non-white // pixels) on top of parameter evaluation - if ( metallicUsed || occUsed || smoothnessUsed ) { + if (metallicUsed || occUsed || smoothnessUsed) + { ormImageExport = new MaskMapImageExport(maskMap); - if (MaterialExport.AddImageExport(gltf, ormImageExport, out var ormTextureId)) { + if (MaterialExport.AddImageExport(gltf, ormImageExport, out var ormTextureId)) + { - if (metallicUsed || smoothnessUsed) { - pbr.metallicRoughnessTexture = new TextureInfo { + if (metallicUsed || smoothnessUsed) + { + pbr.metallicRoughnessTexture = new TextureInfo + { index = ormTextureId }; ExportTextureTransform(pbr.metallicRoughnessTexture, uMaterial, k_MaskMap, gltf); } - if (occStrength > 0) { + if (occStrength > 0) + { // TODO: Detect if occlusion channel is used based // on pixel values // (i.e. have non-white pixels) and not assign the // texture info if not. - material.occlusionTexture = new OcclusionTextureInfo { + material.occlusionTexture = new OcclusionTextureInfo + { index = ormTextureId, strength = occStrength }; @@ -259,12 +299,14 @@ ICodeLogger logger if (uMaterial.HasProperty(BaseColorProperty)) { pbr.BaseColor = uMaterial.GetColor(BaseColorProperty).linear; - } else - if (uMaterial.HasProperty(ColorProperty)) { + } + else if (uMaterial.HasProperty(ColorProperty)) + { pbr.BaseColor = uMaterial.GetColor(ColorProperty).linear; } - if(ormImageExport == null && uMaterial.HasProperty(SmoothnessProperty)) { + if (ormImageExport == null && uMaterial.HasProperty(SmoothnessProperty)) + { pbr.roughnessFactor = 1f - uMaterial.GetFloat(SmoothnessProperty); } @@ -272,8 +314,10 @@ ICodeLogger logger return success; } - protected override bool GetUnlitColor(UnityEngine.Material uMaterial, out Color baseColor) { - if (uMaterial.HasProperty(k_UnlitColor)) { + protected override bool GetUnlitColor(UnityEngine.Material uMaterial, out Color baseColor) + { + if (uMaterial.HasProperty(k_UnlitColor)) + { baseColor = uMaterial.GetColor(k_UnlitColor); return true; } diff --git a/Runtime/Scripts/Export/IMeshData.cs b/Runtime/Scripts/Export/IMeshData.cs index e8375c0fd..c12bbd7f6 100644 --- a/Runtime/Scripts/Export/IMeshData.cs +++ b/Runtime/Scripts/Export/IMeshData.cs @@ -1,15 +1,8 @@ // SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 - -#if UNITY_2023_3_OR_NEWER -#define ASYNC_MESH_DATA -#endif - using System; -#if ASYNC_MESH_DATA using System.Threading.Tasks; -#endif using Unity.Collections; using UnityEngine; @@ -22,19 +15,11 @@ interface IMeshData MeshTopology GetTopology(int subMesh); int GetIndexCount(int subMesh); -#if ASYNC_MESH_DATA Task> GetVertexData(int stream, bool sync); -#else - NativeArray GetVertexData(int stream); -#endif } interface IMeshData : IMeshData where TIndex : unmanaged { -#if ASYNC_MESH_DATA Task> GetIndexData(bool sync); -#else - NativeArray GetIndexData(); -#endif } } diff --git a/Runtime/Scripts/Export/ImageExport.cs b/Runtime/Scripts/Export/ImageExport.cs index 4658e6cef..02aacfc65 100644 --- a/Runtime/Scripts/Export/ImageExport.cs +++ b/Runtime/Scripts/Export/ImageExport.cs @@ -72,7 +72,8 @@ public override string FileName get { #if UNITY_EDITOR - if (ValidAssetPath) { + if (ValidAssetPath) + { var nameWithoutExtension = Path.GetFileNameWithoutExtension(m_AssetPath); return $"{nameWithoutExtension}.{FileExtension}"; } @@ -154,7 +155,8 @@ protected virtual bool GenerateTexture(out byte[] imageData) public override bool Write(string filePath, bool overwrite) { #if UNITY_EDITOR - if (ValidAssetPath && GetFormatFromExtension(m_AssetPath)==ImageFormat) { + if (ValidAssetPath && GetFormatFromExtension(m_AssetPath) == ImageFormat) + { File.Copy(m_AssetPath, filePath, overwrite); return true; } @@ -171,7 +173,8 @@ public override bool Write(string filePath, bool overwrite) public override byte[] GetData() { #if UNITY_EDITOR - if (ValidAssetPath && GetFormatFromExtension(m_AssetPath)==ImageFormat) { + if (ValidAssetPath && GetFormatFromExtension(m_AssetPath) == ImageFormat) + { return File.ReadAllBytes(m_AssetPath); } #endif @@ -244,12 +247,15 @@ static Material GetColorBlitMaterial() } #if UNITY_EDITOR - static ImageFormat GetFormatFromExtension(string assetPath) { - if (assetPath.EndsWith(".png", StringComparison.OrdinalIgnoreCase)) { + static ImageFormat GetFormatFromExtension(string assetPath) + { + if (assetPath.EndsWith(".png", StringComparison.OrdinalIgnoreCase)) + { return ImageFormat.Png; } if (assetPath.EndsWith(".jpg", StringComparison.OrdinalIgnoreCase) || - assetPath.EndsWith(".jpeg", StringComparison.OrdinalIgnoreCase)) { + assetPath.EndsWith(".jpeg", StringComparison.OrdinalIgnoreCase)) + { return ImageFormat.Jpg; } return ImageFormat.Unknown; diff --git a/Runtime/Scripts/Export/ImageExportBase.cs b/Runtime/Scripts/Export/ImageExportBase.cs index 6a0eb8c02..54223e07d 100644 --- a/Runtime/Scripts/Export/ImageExportBase.cs +++ b/Runtime/Scripts/Export/ImageExportBase.cs @@ -82,9 +82,12 @@ protected static byte[] EncodeTexture( Texture2D exportTexture; var tmpTexture = false; - if (texture.isReadable && blitMaterial==null) { + if (texture.isReadable && blitMaterial == null) + { exportTexture = texture; - } else { + } + else + { var destRenderTexture = RenderTexture.GetTemporary( texture.width, texture.height, @@ -94,21 +97,21 @@ protected static byte[] EncodeTexture( 1, RenderTextureMemoryless.Depth ); - if (blitMaterial == null) { + if (blitMaterial == null) + { Graphics.Blit(texture, destRenderTexture); - } else { + } + else + { Graphics.Blit(texture, destRenderTexture, blitMaterial); } exportTexture = new Texture2D( texture.width, texture.height, -#if UNITY_2023_2_OR_NEWER - !hasAlpha && SystemInfo.IsFormatSupported(GraphicsFormat.R8G8B8_UNorm, GraphicsFormatUsage.Sample) ? GraphicsFormat.R8G8B8_UNorm : GraphicsFormat.R8G8B8A8_UNorm, + !hasAlpha && SystemInfo.IsFormatSupported(GraphicsFormat.R8G8B8_UNorm, GraphicsFormatUsage.Sample) + ? GraphicsFormat.R8G8B8_UNorm + : GraphicsFormat.R8G8B8A8_UNorm, TextureCreationFlags.DontInitializePixels | TextureCreationFlags.DontUploadUponCreate -#else - !hasAlpha && SystemInfo.IsFormatSupported(GraphicsFormat.R8G8B8_UNorm, FormatUsage.Sample) ? GraphicsFormat.R8G8B8_UNorm : GraphicsFormat.R8G8B8A8_UNorm, - TextureCreationFlags.DontInitializePixels | TextureCreationFlags.DontUploadUponCreate -#endif ); exportTexture.ReadPixels(new Rect(0, 0, destRenderTexture.width, destRenderTexture.height), 0, 0); RenderTexture.ReleaseTemporary(destRenderTexture); @@ -120,7 +123,8 @@ protected static byte[] EncodeTexture( ? exportTexture.EncodeToPNG() : exportTexture.EncodeToJPG(jpgQuality); - if (tmpTexture) { + if (tmpTexture) + { // Release temporary texture #if UNITY_EDITOR Object.DestroyImmediate(exportTexture); diff --git a/Runtime/Scripts/Export/KhrLightsPunctual.cs b/Runtime/Scripts/Export/KhrLightsPunctual.cs index f79066b71..9caff81fd 100644 --- a/Runtime/Scripts/Export/KhrLightsPunctual.cs +++ b/Runtime/Scripts/Export/KhrLightsPunctual.cs @@ -34,11 +34,9 @@ public static LightPunctual ConvertToLight(Light uLight) #if USING_HDRP HDAdditionalLightData lightHd = null; - if (renderPipeline == RenderPipeline.HighDefinition) { + if (renderPipeline == RenderPipeline.HighDefinition) + { lightHd = uLight.gameObject.GetComponent(); -#if !UNITY_2023_2_OR_NEWER - lightType = lightHd != null ? lightHd.TryGetLightType() ?? lightType : lightType; -#endif } #endif @@ -85,7 +83,7 @@ public static LightPunctual ConvertToLight(Light uLight) } light.LightColor = uLight.color.linear; - light.range = GetLightRange(uLight, lightType); + light.range = uLight.range; // Set Light intensity switch (renderPipeline) @@ -105,79 +103,22 @@ public static LightPunctual ConvertToLight(Light uLight) } else { -#if UNITY_2023_2_OR_NEWER switch (lightType) { case LightType.Spot: case LightType.Point: -#if RENDER_PIPELINES_CORE_17_OR_NEWER light.intensity = LightUnitUtils.ConvertIntensity(uLight, uLight.intensity, uLight.lightUnit, LightUnit.Candela); -#else - light.intensity = GetIntensity(LightUnit.Candela); -#endif break; case LightType.Directional: -#if RENDER_PIPELINES_CORE_17_OR_NEWER light.intensity = LightUnitUtils.ConvertIntensity(uLight, uLight.intensity, uLight.lightUnit, LightUnit.Lux); -#else - light.intensity = GetIntensity(LightUnit.Lux); -#endif break; case LightType.Rectangle: default: light.intensity = uLight.intensity; break; } -#else - switch (lightHd.type) { - case HDLightType.Spot: - case HDLightType.Point: - light.intensity = GetIntensity(LightUnit.Candela); - break; - case HDLightType.Directional: - light.intensity = GetIntensity(LightUnit.Lux); - break; - case HDLightType.Area: - default: - light.intensity = uLight.intensity; - break; - } -#endif } - break; - -#if !RENDER_PIPELINES_CORE_17_OR_NEWER - float GetIntensity(LightUnit unit) - { -#if UNITY_2023_3_OR_NEWER - if (uLight.lightUnit == unit) - { - return uLight.intensity; - } - - // Workaround to get intensity in candela - var oldUnit = uLight.lightUnit; - uLight.lightUnit = unit; - var result = uLight.intensity; - uLight.lightUnit = oldUnit; - return result; -#else - if (lightHd.lightUnit == unit) - { - return lightHd.intensity; - } - - // Workaround to get intensity in candela - var oldUnit = lightHd.lightUnit; - lightHd.lightUnit = unit; - var result = lightHd.intensity; - lightHd.lightUnit = oldUnit; - return result; -#endif - } -#endif // !RENDER_PIPELINES_CORE_17_OR_NEWER - #endif // USING_HDRP default: light.intensity = uLight.intensity; @@ -186,47 +127,5 @@ float GetIntensity(LightUnit unit) return light; } - - /// - /// Retrieves the light's range. - /// In Unity 2023.1 and older `Light.range` would return what now is , which is - /// the range extended by a certain area light size factor. This method removes that addition in that case to - /// get the original value that's shown in the inspector. - /// - /// Unity Light - /// Actual light type (might differ from light.type in HDRP). - /// The light's range. - static float GetLightRange(Light light, LightType lightType) - { -#if UNITY_2023_2_OR_NEWER - return light.range; -#else - var range = light.range; - switch (lightType) - { -#if !USING_HDRP // And, of course, it behaves correctly in the particular case HDRP+Rectangle. - case LightType.Rectangle: -#if UNITY_EDITOR - var longestSide = light.areaSize.magnitude; -#else - // At runtime, assume default magnitude(vec2(1,1)) - var longestSide = 1.4142135624f; -#endif - range -= longestSide * .5f; - break; -#endif // !USING_HDRP - case LightType.Disc: -#if UNITY_EDITOR - var radius = light.areaSize.x; -#else - // At runtime, assume default - const float radius = 1f; -#endif - range -= radius * .5f; - break; - } - return range; -#endif - } } } diff --git a/Runtime/Scripts/Export/MeshDataProxy.cs b/Runtime/Scripts/Export/MeshDataProxy.cs index 5abaefe12..375c6bbd4 100644 --- a/Runtime/Scripts/Export/MeshDataProxy.cs +++ b/Runtime/Scripts/Export/MeshDataProxy.cs @@ -1,14 +1,8 @@ // SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 -#if UNITY_2023_3_OR_NEWER -#define ASYNC_MESH_DATA -#endif - using System; -#if ASYNC_MESH_DATA using System.Threading.Tasks; -#endif using Unity.Collections; using UnityEngine; @@ -35,7 +29,6 @@ public int GetIndexCount(int subMesh) return m_MeshData.GetSubMesh(subMesh).indexCount; } -#if ASYNC_MESH_DATA public Task> GetIndexData(bool sync) { return Task.FromResult(m_MeshData.GetIndexData()); @@ -45,18 +38,5 @@ public Task> GetVertexData(int stream, bool sync) { return Task.FromResult(m_MeshData.GetVertexData(stream)); } -#else - public NativeArray GetIndexData() - { - return m_MeshData.GetIndexData(); - } - - public NativeArray GetVertexData(int stream) - { - return m_MeshData.GetVertexData(stream); - } -#endif - - } } diff --git a/Runtime/Scripts/Export/MeshMaterialCombination.cs b/Runtime/Scripts/Export/MeshMaterialCombination.cs index 21b5a5d39..079e93216 100644 --- a/Runtime/Scripts/Export/MeshMaterialCombination.cs +++ b/Runtime/Scripts/Export/MeshMaterialCombination.cs @@ -61,8 +61,10 @@ public override int GetHashCode() #if NET_STANDARD var hash = new HashCode(); hash.Add(m_MeshId); - if (m_MaterialIds != null) { - foreach (var id in m_MaterialIds) { + if (m_MaterialIds != null) + { + foreach (var id in m_MaterialIds) + { hash.Add(id); } } diff --git a/Runtime/Scripts/Export/MetaMaterialExport.cs b/Runtime/Scripts/Export/MetaMaterialExport.cs index d46242443..97e024f00 100644 --- a/Runtime/Scripts/Export/MetaMaterialExport.cs +++ b/Runtime/Scripts/Export/MetaMaterialExport.cs @@ -69,8 +69,8 @@ ICodeLogger logger s_GltfShaderGraphMaterialExport ??= new TGltfShaderGraphExport(); materialExport = s_GltfShaderGraphMaterialExport; } + return materialExport.ConvertMaterial(uMaterial, out material, gltf, logger); } - else #endif if (!MetaMaterialExportBuiltIn.TryFindMatchingGltfMaterialExport(name, out materialExport)) { diff --git a/Runtime/Scripts/Export/NonReadableMeshData.cs b/Runtime/Scripts/Export/NonReadableMeshData.cs index ba00c71f6..08e1540b8 100644 --- a/Runtime/Scripts/Export/NonReadableMeshData.cs +++ b/Runtime/Scripts/Export/NonReadableMeshData.cs @@ -1,14 +1,8 @@ // SPDX-FileCopyrightText: 2024 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 -#if UNITY_2023_3_OR_NEWER -#define ASYNC_MESH_DATA -#endif - using System; -#if ASYNC_MESH_DATA using System.Threading.Tasks; -#endif using Unity.Collections; using UnityEngine; using UnityEngine.Assertions; @@ -41,24 +35,18 @@ public int GetIndexCount(int subMesh) } -#if ASYNC_MESH_DATA public async Task> GetIndexData(bool sync) -#else - public NativeArray GetIndexData() -#endif { if (!m_IndexData.IsCreated) { using var indexBuffer = m_Mesh.GetIndexBuffer(); m_IndexData = new NativeArray(indexBuffer.count, Allocator.Persistent); AsyncGPUReadbackRequest request; -#if ASYNC_MESH_DATA if (!sync) { request = await AsyncGPUReadback.RequestIntoNativeArrayAsync(ref m_IndexData, indexBuffer); } else -#endif { request = AsyncGPUReadback.RequestIntoNativeArray(ref m_IndexData, indexBuffer); request.WaitForCompletion(); @@ -69,11 +57,7 @@ public NativeArray GetIndexData() return m_IndexData; } -#if ASYNC_MESH_DATA public async Task> GetVertexData(int stream, bool sync) -#else - public NativeArray GetVertexData(int stream) -#endif { Assert.IsTrue(stream >= 0 && stream < 4, "stream must in range 0 to 3"); m_VertexData ??= new NativeArray[4]; @@ -82,13 +66,11 @@ public NativeArray GetVertexData(int stream) using var vertexBuffer = m_Mesh.GetVertexBuffer(stream); m_VertexData[stream] = new NativeArray(vertexBuffer.count * vertexBuffer.stride, Allocator.Persistent); AsyncGPUReadbackRequest request; -#if ASYNC_MESH_DATA if (!sync) { request = await AsyncGPUReadback.RequestIntoNativeArrayAsync(ref m_VertexData[stream], vertexBuffer); } else -#endif { request = AsyncGPUReadback.RequestIntoNativeArray(ref m_VertexData[stream], vertexBuffer); request.WaitForCompletion(); diff --git a/Runtime/Scripts/Export/OrmImageExport.cs b/Runtime/Scripts/Export/OrmImageExport.cs index 3f8f9d6c5..346559710 100644 --- a/Runtime/Scripts/Export/OrmImageExport.cs +++ b/Runtime/Scripts/Export/OrmImageExport.cs @@ -210,24 +210,27 @@ int jpgQuality ) { #if UNITY_IMAGECONVERSION - Assert.IsTrue(metalGlossTexture!=null || occlusionTexture!=null || smoothnessTexture!=null); + Assert.IsTrue(metalGlossTexture != null || occlusionTexture != null || smoothnessTexture != null); var blitMaterial = GetMetalGlossBlitMaterial(); var width = int.MinValue; var height = int.MinValue; - if (metalGlossTexture != null) { - width = math.max( width, metalGlossTexture.width); + if (metalGlossTexture != null) + { + width = math.max(width, metalGlossTexture.width); height = math.max(height, metalGlossTexture.height); } - if (occlusionTexture != null) { - width = math.max( width, occlusionTexture.width); + if (occlusionTexture != null) + { + width = math.max(width, occlusionTexture.width); height = math.max(height, occlusionTexture.height); } - if (smoothnessTexture != null) { - width = math.max( width, smoothnessTexture.width); + if (smoothnessTexture != null) + { + width = math.max(width, smoothnessTexture.width); height = math.max(height, smoothnessTexture.height); } @@ -241,21 +244,25 @@ int jpgQuality RenderTextureMemoryless.Depth ); - if (metalGlossTexture == null) { + if (metalGlossTexture == null) + { var rt = RenderTexture.active; RenderTexture.active = destRenderTexture; GL.Clear(true, true, Color.white); RenderTexture.active = rt; } - else { + else + { blitMaterial.SetFloat(smoothnessFactorProperty, smoothnessFactor); Graphics.Blit(metalGlossTexture, destRenderTexture, blitMaterial); } - if (occlusionTexture != null) { + if (occlusionTexture != null) + { blitMaterial = GetOcclusionBlitMaterial(); Graphics.Blit(occlusionTexture, destRenderTexture, blitMaterial); } - if (smoothnessTexture != null) { + if (smoothnessTexture != null) + { blitMaterial = GetGlossBlitMaterial(); blitMaterial.SetFloat(smoothnessFactorProperty, smoothnessFactor); Graphics.Blit(smoothnessTexture, destRenderTexture, blitMaterial); @@ -264,19 +271,10 @@ int jpgQuality var exportTexture = new Texture2D( width, height, -#if UNITY_2023_2_OR_NEWER - // ~20 times faster texture construction SystemInfo.IsFormatSupported(GraphicsFormat.R8G8B8_UNorm, GraphicsFormatUsage.Sample) ? GraphicsFormat.R8G8B8_UNorm : GraphicsFormat.R8G8B8A8_UNorm, TextureCreationFlags.DontInitializePixels | TextureCreationFlags.DontUploadUponCreate -#else - // ~20 times faster texture construction - SystemInfo.IsFormatSupported(GraphicsFormat.R8G8B8_UNorm, FormatUsage.Sample) - ? GraphicsFormat.R8G8B8_UNorm - : GraphicsFormat.R8G8B8A8_UNorm, - TextureCreationFlags.DontInitializePixels | TextureCreationFlags.DontUploadUponCreate -#endif ); exportTexture.ReadPixels(new Rect(0, 0, destRenderTexture.width, destRenderTexture.height), 0, 0); RenderTexture.ReleaseTemporary(destRenderTexture); diff --git a/Runtime/Scripts/Export/StandardMaterialExportBase.cs b/Runtime/Scripts/Export/StandardMaterialExportBase.cs index c8cde0852..fc7c4a718 100644 --- a/Runtime/Scripts/Export/StandardMaterialExportBase.cs +++ b/Runtime/Scripts/Export/StandardMaterialExportBase.cs @@ -246,7 +246,8 @@ out smoothnessFactor } } #if UNITY_IMAGECONVERSION - else { + else + { logger?.Error(LogCode.ExportImageFailed); } #endif @@ -300,8 +301,7 @@ out float smoothnessFactor { pbr.BaseColor = uMaterial.GetColor(BaseColorProperty).linear; } - else - if (uMaterial.HasProperty(ColorProperty)) + else if (uMaterial.HasProperty(ColorProperty)) { pbr.BaseColor = uMaterial.GetColor(ColorProperty).linear; } diff --git a/Runtime/Scripts/Export/glTFast.Export.asmdef b/Runtime/Scripts/Export/glTFast.Export.asmdef index 3967796db..e435d5240 100644 --- a/Runtime/Scripts/Export/glTFast.Export.asmdef +++ b/Runtime/Scripts/Export/glTFast.Export.asmdef @@ -18,19 +18,14 @@ "autoReferenced": false, "defineConstraints": [], "versionDefines": [ - { - "name": "com.unity.render-pipelines.core", - "expression": "17", - "define": "RENDER_PIPELINES_CORE_17_OR_NEWER" - }, { "name": "com.unity.render-pipelines.universal", - "expression": "7.3.1", + "expression": "", "define": "USING_URP" }, { "name": "com.unity.render-pipelines.high-definition", - "expression": "7.3.1", + "expression": "", "define": "USING_HDRP" }, { @@ -50,4 +45,4 @@ } ], "noEngineReferences": false -} \ No newline at end of file +} diff --git a/Runtime/Scripts/GameObjectInstantiator.cs b/Runtime/Scripts/GameObjectInstantiator.cs index f09382bfa..332575013 100644 --- a/Runtime/Scripts/GameObjectInstantiator.cs +++ b/Runtime/Scripts/GameObjectInstantiator.cs @@ -123,61 +123,30 @@ uint[] rootNodeIndices #if UNITY_ANIMATION /// - public virtual void AddAnimation(AnimationClip[] animationClips) { - if ((m_Settings.Mask & ComponentType.Animation) != 0 && animationClips != null) { + public virtual void AddAnimation(AnimationClip[] animationClips) + { + if ((m_Settings.Mask & ComponentType.Animation) != 0 && animationClips != null) + { // we want to create an Animator for non-legacy clips, and an Animation component for legacy clips. var isLegacyAnimation = animationClips.Length > 0 && animationClips[0].legacy; -// #if UNITY_EDITOR -// // This variant creates a Mecanim Animator and AnimationController -// // which does not work at runtime. It's kept for potential Editor import usage -// if(!isLegacyAnimation) { -// var animator = go.AddComponent(); -// var controller = new UnityEditor.Animations.AnimatorController(); -// controller.name = animator.name; -// controller.AddLayer("Default"); -// controller.layers[0].defaultWeight = 1; -// for (var index = 0; index < animationClips.Length; index++) { -// var clip = animationClips[index]; -// // controller.AddLayer(clip.name); -// // controller.layers[index].defaultWeight = 1; -// var state = controller.AddMotion(clip, 0); -// controller.AddParameter("Test", AnimatorControllerParameterType.Bool); -// // var stateMachine = controller.layers[0].stateMachine; -// // UnityEditor.Animations.AnimatorState entryState = null; -// // var state = stateMachine.AddState(clip.name); -// // state.motion = clip; -// // var loopTransition = state.AddTransition(state); -// // loopTransition.hasExitTime = true; -// // loopTransition.duration = 0; -// // loopTransition.exitTime = 0; -// // entryState = state; -// // stateMachine.AddEntryTransition(entryState); -// // UnityEditor.Animations.AnimatorController.CreateAnimatorControllerAtPath -// } -// -// animator.runtimeAnimatorController = controller; -// -// // for (var index = 0; index < animationClips.Length; index++) { -// // controller.layers[index].blendingMode = UnityEditor.Animations.AnimatorLayerBlendingMode.Additive; -// // animator.SetLayerWeight(index,1); -// // } -// } -// #endif // UNITY_EDITOR - - if(isLegacyAnimation) { + if (isLegacyAnimation) + { var animation = SceneTransform.gameObject.AddComponent(); - for (var index = 0; index < animationClips.Length; index++) { + for (var index = 0; index < animationClips.Length; index++) + { var clip = animationClips[index]; - animation.AddClip(clip,clip.name); - if (index < 1) { + animation.AddClip(clip, clip.name); + if (index < 1) + { animation.clip = clip; } } SceneInstance.SetLegacyAnimation(animation); } - else { + else + { SceneTransform.gameObject.AddComponent(); } } diff --git a/Runtime/Scripts/GameObjectSceneInstance.cs b/Runtime/Scripts/GameObjectSceneInstance.cs index 43a38e8da..d8d83b81b 100644 --- a/Runtime/Scripts/GameObjectSceneInstance.cs +++ b/Runtime/Scripts/GameObjectSceneInstance.cs @@ -55,21 +55,19 @@ public class GameObjectSceneInstance /// Adds a camera /// /// Camera to be added - internal void AddCamera(Camera camera) + public void AddCamera(Camera camera) { - if (m_Cameras == null) - { - m_Cameras = new List(); - } + m_Cameras ??= new List(); m_Cameras.Add(camera); } - internal void AddLight(Light light) + /// + /// Adds a light. + /// + /// Light to be added. + public void AddLight(Light light) { - if (m_Lights == null) - { - m_Lights = new List(); - } + m_Lights ??= new List(); m_Lights.Add(light); } @@ -79,7 +77,14 @@ internal void SetMaterialsVariantsControl(MaterialsVariantsControl control) } #if UNITY_ANIMATION - internal void SetLegacyAnimation(Animation animation) { + /// + /// Sets the . + /// Use this from your custom implementation. + /// + /// Animation component. + /// + public void SetLegacyAnimation(Animation animation) + { LegacyAnimation = animation; } #endif diff --git a/Runtime/Scripts/GltfAssetBase.cs b/Runtime/Scripts/GltfAssetBase.cs index 72707fc3f..e1c6d32ac 100644 --- a/Runtime/Scripts/GltfAssetBase.cs +++ b/Runtime/Scripts/GltfAssetBase.cs @@ -6,8 +6,8 @@ namespace GLTFast { - using Logging; using Loading; + using Logging; using Materials; /// diff --git a/Runtime/Scripts/GltfImport.cs b/Runtime/Scripts/GltfImport.cs index 99ff0319c..b11dfd0b4 100755 --- a/Runtime/Scripts/GltfImport.cs +++ b/Runtime/Scripts/GltfImport.cs @@ -33,6 +33,7 @@ using System; using System.Text; using GLTFast.Addons; +using GLTFast.Animations; using GLTFast.Jobs; using GLTFast.Loading; using GLTFast.Logging; @@ -122,7 +123,7 @@ public TRoot GetSourceRoot() /// Loads a glTF's content, converts it to Unity resources and is able to /// feed it to an for instantiation. /// - public abstract class GltfImportBase : IGltfReadable, IGltfBuffers, IDisposable + public abstract class GltfImportBase : IGltfReadable, IGltfBuffers, IGltfAccessors, IDisposable { /// /// Default value for a C# Job's innerloopBatchCount parameter. @@ -262,9 +263,8 @@ public abstract class GltfImportBase : IGltfReadable, IGltfBuffers, IDisposable FlatArray m_MeshAssignments; Matrix4x4[][] m_SkinsInverseBindMatrices; -#if UNITY_ANIMATION - AnimationClip[] m_AnimationClips; -#endif + + List m_DataInstanceApplierFactories; #if UNITY_EDITOR /// @@ -331,7 +331,8 @@ public GltfImportBase( public static void SetDefaultDeferAgent(IDeferAgent deferAgent) { #if DEBUG - if (s_DefaultDeferAgent!=null && s_DefaultDeferAgent != deferAgent) { + if (s_DefaultDeferAgent != null && s_DefaultDeferAgent != deferAgent) + { Debug.LogWarning("GltfImport.defaultDeferAgent got overruled! Make sure there is only one default at any time", deferAgent as UnityEngine.Object); } #endif @@ -832,32 +833,25 @@ public void Dispose() m_NodeNames = null; - void DisposeArray(IEnumerable objects) + DestroyUtils.SafeDestroy(m_Materials); + m_Materials = null; + + if (m_DataInstanceApplierFactories != null) { - if (objects != null) + foreach (var factory in m_DataInstanceApplierFactories) { - foreach (var obj in objects) - { - SafeDestroy(obj); - } + factory?.Dispose(); } + m_DataInstanceApplierFactories = null; } - DisposeArray(m_Materials); - m_Materials = null; - -#if UNITY_ANIMATION - DisposeArray(m_AnimationClips); - m_AnimationClips = null; -#endif - - DisposeArray(m_Textures); + DestroyUtils.SafeDestroy(m_Textures); m_Textures = null; m_MeshAssignments = null; - DisposeArray(m_Meshes); + DestroyUtils.SafeDestroy(m_Meshes); m_Meshes = null; - DisposeArray(m_Resources); + DestroyUtils.SafeDestroy(m_Resources); m_Resources = null; } @@ -919,7 +913,8 @@ public UnityEngine.Material GetMaterial(int index = 0) public UnityEngine.Material GetDefaultMaterial() { #if UNITY_EDITOR - if (defaultMaterial == null) { + if (defaultMaterial == null) + { m_MaterialGenerator.SetLogger(m_Context.Logger); defaultMaterial = m_MaterialGenerator.GetDefaultMaterial(m_DefaultMaterialPointsSupport); m_MaterialGenerator.SetLogger(null); @@ -986,8 +981,18 @@ public bool IsTextureYFlipped(int index = 0) /// Returns all imported animation clips /// /// All imported animation clips - public AnimationClip[] GetAnimationClips() { - return m_AnimationClips; + public AnimationClip[] GetAnimationClips() + { + if (m_DataInstanceApplierFactories == null) + return null; + foreach (var factory in m_DataInstanceApplierFactories) + { + if (factory is AnimationModuleDataInstanceApplierFactory animationDataCache) + { + return animationDataCache.Data; + } + } + return null; } #endif @@ -1424,7 +1429,8 @@ async Task LoadContent(CancellationToken cancellationToken) cancellationToken.ThrowIfCancellationRequestedWithTracking(); #if MESHOPT_IS_ENABLED - if (success) { + if (success) + { MeshoptDecode(); } #endif @@ -1579,55 +1585,56 @@ bool CheckExtensionSupport(IEnumerable extensions, bool required = true) if (!supported) { + ReportUnsupportedExtension(ext, required); + allExtensionsSupported = false; + } + } + return allExtensionsSupported; + } + + void ReportUnsupportedExtension(string ext, bool required) + { #if !DRACO_IS_ENABLED - if (ext == ExtensionName.DracoMeshCompression) - { - Logger?.Log( - required ? LogType.Error : LogType.Warning, - LogCode.PackageMissing, - "Draco for Unity", - ext - ); - } - else + if (ext == ExtensionName.DracoMeshCompression) + { + Logger?.Log( + required ? LogType.Error : LogType.Warning, + LogCode.PackageMissing, + "Draco for Unity", + ext + ); + return; + } #endif #if !MESHOPT - if (ext == ExtensionName.MeshoptCompression) - { - Logger?.Log( - required ? LogType.Error : LogType.Warning, - LogCode.PackageMissing, - "meshoptimizer decompression for Unity", - ext - ); - } - else + if (ext == ExtensionName.MeshoptCompression) + { + Logger?.Log( + required ? LogType.Error : LogType.Warning, + LogCode.PackageMissing, + "meshoptimizer decompression for Unity", + ext + ); + return; + } #endif #if !KTX_IS_ENABLED - if (ext == ExtensionName.TextureBasisUniversal) - { - Logger?.Log( - required ? LogType.Error : LogType.Warning, - LogCode.PackageMissing, - "KTX for Unity", - ext - ); - } - else -#endif - if (required) - { - Logger?.Error(LogCode.ExtensionUnsupported, ext); - } - else - { - Logger?.Warning(LogCode.ExtensionUnsupported, ext); - } - - allExtensionsSupported = false; - } + if (ext == ExtensionName.TextureBasisUniversal) + { + Logger?.Log( + required ? LogType.Error : LogType.Warning, + LogCode.PackageMissing, + "KTX for Unity", + ext + ); + return; } - return allExtensionsSupported; +#endif + Logger?.Log( + required ? LogType.Error : LogType.Warning, + LogCode.ExtensionUnsupported, + ext + ); } async Task LoadGltf(string json, CancellationToken cancellationToken) @@ -1650,7 +1657,9 @@ bool OverridesImage(ITextureImageLoader loader, TextureBase texture, out int ima return loader.IsAbleToLoad(texture, out imageIndex); } - m_Addons?.ForEachTryGet( + m_Addons + ?.SubCollection() + ?.ForEachTryGet( Root.Textures, OverridesImage, (addon, textureIndex, imageIndex) => @@ -2113,18 +2122,21 @@ ReadOnlyNativeArray IGltfBuffers.GetBufferView(int bufferViewIndex, out in { var bufferView = Root.BufferViews[bufferViewIndex]; #if MESHOPT_IS_ENABLED - if (bufferView.Extensions?.EXT_meshopt_compression != null) { + if (bufferView.Extensions?.EXT_meshopt_compression != null) + { byteStride = bufferView.Extensions.EXT_meshopt_compression.byteStride; var entireBuffer = m_MeshoptBufferViews[bufferViewIndex]; - if (offset == 0 && length <= 0) { + if (offset == 0 && length <= 0) + { return new ReadOnlyNativeArray(entireBuffer); } Assert.IsTrue(offset >= 0); - if (length <= 0) { + if (length <= 0) + { length = entireBuffer.Length - offset; } - Assert.IsTrue(offset+length <= entireBuffer.Length); - return new ReadOnlyNativeArray(entireBuffer.GetSubArray(offset,length)); + Assert.IsTrue(offset + length <= entireBuffer.Length); + return new ReadOnlyNativeArray(entireBuffer.GetSubArray(offset, length)); } #endif byteStride = bufferView.byteStride; @@ -2140,15 +2152,17 @@ int offset { var bufferView = Root.BufferViews[bufferViewIndex]; #if MESHOPT_IS_ENABLED - if (bufferView.Extensions?.EXT_meshopt_compression != null) { + if (bufferView.Extensions?.EXT_meshopt_compression != null) + { var fullSlice = m_MeshoptBufferViews[bufferViewIndex]; - if (offset == 0 && (count <= 0 || count * UnsafeUtility.SizeOf(typeof(T)) == fullSlice.Length)) { + if (offset == 0 && (count <= 0 || count * UnsafeUtility.SizeOf(typeof(T)) == fullSlice.Length)) + { return new ReadOnlyNativeArray(fullSlice).Reinterpret(); } Assert.IsTrue(offset >= 0); Assert.IsTrue(count > 0); Assert.IsTrue(offset + count * UnsafeUtility.SizeOf(typeof(T)) <= fullSlice.Length); - return new ReadOnlyNativeArray(fullSlice).GetSubArray(offset,count).Reinterpret(); + return new ReadOnlyNativeArray(fullSlice).GetSubArray(offset, count).Reinterpret(); } #endif return GetAccessorData(bufferView, count, offset); @@ -2162,7 +2176,8 @@ int offset { var bufferView = Root.BufferViews[bufferViewIndex]; #if MESHOPT_IS_ENABLED - if (bufferView.Extensions?.EXT_meshopt_compression != null) { + if (bufferView.Extensions?.EXT_meshopt_compression != null) + { unsafe { var fullSlice = m_MeshoptBufferViews[bufferViewIndex]; @@ -2176,7 +2191,7 @@ int offset count, bufferView.byteStride #if ENABLE_UNITY_COLLECTIONS_CHECKS - ,ref safety + , ref safety #endif ); } @@ -2268,14 +2283,19 @@ ReadOnlyNativeArray GetBufferView( } #if MESHOPT_IS_ENABLED - void MeshoptDecode() { - if(Root.BufferViews!=null) { + void MeshoptDecode() + { + if (Root.BufferViews != null) + { List jobHandlesList = null; - for (var i = 0; i < Root.BufferViews.Count; i++) { + for (var i = 0; i < Root.BufferViews.Count; i++) + { var bufferView = Root.BufferViews[i]; - if (bufferView.Extensions?.EXT_meshopt_compression != null) { + if (bufferView.Extensions?.EXT_meshopt_compression != null) + { var meshopt = bufferView.Extensions.EXT_meshopt_compression; - if (jobHandlesList == null) { + if (jobHandlesList == null) + { m_MeshoptBufferViews = new Dictionary>(); jobHandlesList = new List(Root.BufferViews.Count); m_MeshoptReturnValues = new NativeArray(Root.BufferViews.Count, Allocator.TempJob); @@ -2286,7 +2306,7 @@ void MeshoptDecode() { var origBufferView = GetBufferView(meshopt); var jobHandle = Decode.DecodeGltfBuffer( - m_MeshoptReturnValues.GetSubArray(i,1), + m_MeshoptReturnValues.GetSubArray(i, 1), arr, meshopt.count, meshopt.byteStride, @@ -2299,23 +2319,29 @@ void MeshoptDecode() { } } - if (jobHandlesList != null) { - using (var jobHandles = new NativeArray(jobHandlesList.ToArray(), Allocator.Temp)) { + if (jobHandlesList != null) + { + using (var jobHandles = new NativeArray(jobHandlesList.ToArray(), Allocator.Temp)) + { m_MeshoptJobHandle = JobHandle.CombineDependencies(jobHandles); } } } } - async Task WaitForMeshoptDecode() { + async Task WaitForMeshoptDecode() + { var success = true; - if (m_MeshoptBufferViews != null) { - while (!m_MeshoptJobHandle.IsCompleted) { + if (m_MeshoptBufferViews != null) + { + while (!m_MeshoptJobHandle.IsCompleted) + { await Task.Yield(); } m_MeshoptJobHandle.Complete(); - foreach (var returnValue in m_MeshoptReturnValues) { + foreach (var returnValue in m_MeshoptReturnValues) + { success &= returnValue == 0; } m_MeshoptReturnValues.Dispose(); @@ -2395,9 +2421,11 @@ async Task Prepare(CancellationToken cancellationToken) success = await CreateAllMeshAssignments(cancellationToken); } -#if UNITY_ANIMATION - if (Root.HasAnimation) { - if (m_Settings.NodeNameMethod != NameImportMethod.OriginalUnique) { +#if UNITY_ANIMATION || GLTFAST_ANIMATION + if (Root.HasAnimation) + { + if (m_Settings.NodeNameMethod != NameImportMethod.OriginalUnique) + { Logger?.Info(LogCode.NamingOverride); m_Settings.NodeNameMethod = NameImportMethod.OriginalUnique; } @@ -2424,7 +2452,7 @@ async Task Prepare(CancellationToken cancellationToken) } } -#if UNITY_ANIMATION +#if UNITY_ANIMATION || GLTFAST_ANIMATION if (Root.HasAnimation && m_Settings.AnimationMethod != AnimationMethod.None) { CreateAnimationClips(parentIndex); @@ -2435,24 +2463,34 @@ async Task Prepare(CancellationToken cancellationToken) return success; } -#if UNITY_ANIMATION +#if UNITY_ANIMATION || GLTFAST_ANIMATION void CreateAnimationClips(int[] parentIndex) { - m_AnimationClips = new AnimationClip[Root.Animations.Count]; - for (var i = 0; i < Root.Animations.Count; i++) { + var processorFactory = m_Addons?.First(); + if (processorFactory == null) + { +#if UNITY_ANIMATION + processorFactory = new AnimationModuleProcessorFactory( + m_Settings.AnimationMethod == AnimationMethod.Legacy); +#else + // Animation module disabled and no animation addon found, nothing to do here. + return; +#endif + } + + using var animationAddons = processorFactory.CreateAnimationProcessor(Root.Animations.Count); + for (var i = 0; i < Root.Animations.Count; i++) + { var animation = Root.Animations[i]; - m_AnimationClips[i] = new AnimationClip - { - name = animation.name ?? $"Clip_{i}", + var clipName = animation.name ?? $"Clip_{i}"; - // Legacy Animation requirement - legacy = m_Settings.AnimationMethod == AnimationMethod.Legacy, - wrapMode = WrapMode.Loop - }; + animationAddons.AddClip(i, clipName); - for (var j = 0; j < animation.Channels.Count; j++) { + for (var j = 0; j < animation.Channels.Count; j++) + { var channel = animation.Channels[j]; - if (channel.sampler < 0 || channel.sampler >= animation.Samplers.Count) { + if (channel.sampler < 0 || channel.sampler >= animation.Samplers.Count) + { Logger?.Error(LogCode.AnimationChannelSamplerInvalid, j.ToString()); continue; } @@ -2462,42 +2500,98 @@ void CreateAnimationClips(int[] parentIndex) Logger?.Error(LogCode.AnimationChannelSamplerInvalid, j.ToString()); continue; } - if (channel.Target.node < 0 || channel.Target.node >= Root.Nodes.Count) { + if (channel.Target.node < 0 || channel.Target.node >= Root.Nodes.Count) + { Logger?.Error(LogCode.AnimationChannelNodeInvalid, j.ToString()); continue; } - var path = AnimationUtils.CreateAnimationPath(channel.Target.node,m_NodeNames,parentIndex); - var times = (NativeArray) m_AccessorData[sampler.input]; - var outputData = m_AccessorData[sampler.output]; + var targetNode = channel.Target.node; + var nodeHierarchyInfo = new NodeHierarchyInfo(m_NodeNames, parentIndex); + var times = GetAccessorData(sampler.input); + if (!times.IsCreated) + { + Logger?.Error(LogCode.AccessorAccessFailed, sampler.input.ToString()); + continue; + } var interpolationType = sampler.GetInterpolationType(); - switch (channel.Target.GetPath()) { - case AnimationChannelBase.Path.Translation: { - var values = CastOrCreateTypedBuffer(outputData, times.Length, interpolationType); - AnimationUtils.AddTranslationCurves(m_AnimationClips[i], path, times, values, interpolationType); + switch (channel.Target.GetPath()) + { + case AnimationChannelBase.Path.Translation: + { + var values = GetAccessorData(sampler.output); + if (!values.IsCreated) + { + Logger?.Error(LogCode.AccessorAccessFailed, sampler.output.ToString()); + continue; + } + animationAddons.AddTranslationCurves( + i, + targetNode, + nodeHierarchyInfo, + times, + values, + interpolationType + ); break; } - case AnimationChannelBase.Path.Rotation: { - var values = CastOrCreateTypedBuffer(outputData, times.Length, interpolationType); - AnimationUtils.AddRotationCurves(m_AnimationClips[i], path, times, values, interpolationType); + case AnimationChannelBase.Path.Rotation: + { + var values = GetAccessorData(sampler.output); + if (!values.IsCreated) + { + Logger?.Error(LogCode.AccessorAccessFailed, sampler.output.ToString()); + continue; + } + animationAddons.AddRotationCurves( + i, + targetNode, + nodeHierarchyInfo, + times, + values, + interpolationType + ); break; } - case AnimationChannelBase.Path.Scale: { - var values = CastOrCreateTypedBuffer(outputData, times.Length, interpolationType); - AnimationUtils.AddScaleCurves(m_AnimationClips[i], path, times, values, interpolationType); + case AnimationChannelBase.Path.Scale: + { + var values = GetAccessorData(sampler.output); + if (!values.IsCreated) + { + Logger?.Error(LogCode.AccessorAccessFailed, sampler.output.ToString()); + continue; + } + animationAddons.AddScaleCurves( + i, + targetNode, + nodeHierarchyInfo, + times, + values, + interpolationType + ); break; } - case AnimationChannelBase.Path.Weights: { - var values = CastOrCreateTypedBuffer(outputData, times.Length, interpolationType); + case AnimationChannelBase.Path.Weights: + { var node = Root.Nodes[channel.Target.node]; - if (node.mesh < 0 || node.mesh >= Root.Meshes.Count) { + if (node.mesh < 0 || node.mesh >= Root.Meshes.Count) + { break; } var mesh = Root.Meshes[node.mesh]; - AnimationUtils.AddMorphTargetWeightCurves( - m_AnimationClips[i], - path, + var values = GetAccessorData(sampler.output); + if (!values.IsCreated) + { + Logger?.Error(LogCode.AccessorAccessFailed, sampler.output.ToString()); + continue; + } + animationAddons.AddMorphTargetWeightCurves( + i, + targetNode, + 0, + null, + nodeHierarchyInfo, times, values, interpolationType, @@ -2505,19 +2599,22 @@ void CreateAnimationClips(int[] parentIndex) ); // HACK BEGIN: - // Since meshes with multiple primitives that are not using - // identical vertex buffers are split up into separate Unity - // Meshes. Because of this, we have to duplicate the animation - // curves, so that all primitives are animated. + // Meshes with multiple primitives that are not using identical vertex buffer layouts + // are split up into separate Unity Meshes. Because of this, we have to duplicate the + // animation curves, so that all primitives are animated. // TODO: Refactor primitive sub-meshing and remove this hack // https://github.com/atteneder/glTFast/issues/153 - var meshName = string.IsNullOrEmpty(mesh.name) ? k_PrimitiveName : mesh.name; + var meshPrefix = string.IsNullOrEmpty(mesh.name) ? k_PrimitiveName : mesh.name; var meshCount = m_MeshAssignments.GetLength(node.mesh); - for (var k = 1; k < meshCount; k++) { - var primitiveName = $"{meshName}_{k}"; - AnimationUtils.AddMorphTargetWeightCurves( - m_AnimationClips[i], - $"{path}/{primitiveName}", + for (var meshNumeration = 1; meshNumeration < meshCount; meshNumeration++) + { + var meshName = $"{meshPrefix}_{meshNumeration}"; + animationAddons.AddMorphTargetWeightCurves( + i, + targetNode, + meshNumeration, + meshName, + nodeHierarchyInfo, times, values, interpolationType, @@ -2528,38 +2625,18 @@ void CreateAnimationClips(int[] parentIndex) break; } case AnimationChannelBase.Path.Pointer: - Logger?.Warning(LogCode.AnimationTargetPathUnsupported,channel.Target.GetPath().ToString()); + Logger?.Warning(LogCode.AnimationTargetPathUnsupported, channel.Target.GetPath().ToString()); break; case AnimationChannelBase.Path.Unknown: case AnimationChannelBase.Path.Invalid: default: - Logger?.Error(LogCode.AnimationTargetPathUnsupported,channel.Target.GetPath().ToString()); + Logger?.Error(LogCode.AnimationTargetPathUnsupported, channel.Target.GetPath().ToString()); break; } } } - } - - /// - /// Casts to the given type, or if unavailable allocates a temp buffer filled with 0-value data. - /// - /// Will be filled with 0-value data if unavailable. - /// The expected length of the temp buffer. - /// The of the expected data which might change - /// the resulting length of the output if the input was unavailable. - /// The expected type of the buffer. - /// A . - static NativeArray CastOrCreateTypedBuffer(IDisposable input, int expectedLength, InterpolationType interpolationType) where T : unmanaged - { - if (input is null) - { - // InterpolationType.CubicSpline has 3 values per key (in-tangent, out-tangent and value). - var unknownOutputLength = expectedLength * (interpolationType == InterpolationType.CubicSpline ? 3 : 1); - return new NativeArray(unknownOutputLength, Allocator.Temp); - } - - Assert.IsTrue(input is NativeArray); - return (NativeArray)input; + var instantiationFactory = animationAddons.Complete(); + AddDataInstanceApplierFactory(instantiationFactory); } #endif // UNITY_ANIMATION @@ -2847,7 +2924,7 @@ async Task DisposeTextureLoadTasks() var result = await textureLoadTask.Value; if (result.Texture is not null) { - SafeDestroy(result.Texture); + DestroyUtils.SafeDestroy(result.Texture); } } @@ -2883,22 +2960,49 @@ void DisposeVolatileData() m_MaterialPointsSupport = null; #if MESHOPT_IS_ENABLED - if(m_MeshoptBufferViews!=null) { - foreach (var nativeBuffer in m_MeshoptBufferViews.Values) { + if (m_MeshoptBufferViews != null) + { + foreach (var nativeBuffer in m_MeshoptBufferViews.Values) + { nativeBuffer.Dispose(); } m_MeshoptBufferViews = null; } - if (m_MeshoptReturnValues.IsCreated) { + if (m_MeshoptReturnValues.IsCreated) + { m_MeshoptReturnValues.Dispose(); } #endif } + void AddDataInstanceApplierFactory(IDataInstanceApplierFactory factory) + { + if (factory == null) + return; + (m_DataInstanceApplierFactories ??= new List()).Add(factory); + } + async Task InstantiateSceneInternal(IInstantiator instantiator, int sceneId, CancellationToken cancellationToken) { m_Addons?.ForEach(addon => addon.Inject(instantiator)); + // TODO: Temporary solution to maintain IInstantiator.AddAnimation behavior. + // Refactor this when a better (public and generic) method of instantiation add-on integration comes around. + List postBeginSceneAppliers = null; + + if (m_DataInstanceApplierFactories != null) + { + foreach (var factory in m_DataInstanceApplierFactories) + { + var applier = factory.CreateInstanceApplier(instantiator); + if (applier is IPostBeginSceneInstanceApplier postBeginSceneApplier) + { + (postBeginSceneAppliers ??= new List()) + .Add(postBeginSceneApplier); + } + } + } + async Task IterateNodes(uint nodeIndex, uint? parentIndex, Action callback) { var node = this.Root.Nodes[(int)nodeIndex]; @@ -3073,9 +3177,8 @@ void PopulateHierarchy(uint nodeIndex, uint? parentIndex) var scene = this.Root.Scenes[sceneId]; instantiator.BeginScene(scene.name, scene.nodes); -#if UNITY_ANIMATION - instantiator.AddAnimation(m_AnimationClips); -#endif + + postBeginSceneAppliers?.ForEach(applier => applier.PostBeginScene()); if (scene.nodes != null) { @@ -3218,19 +3321,6 @@ string GetTextureName(int textureIndex) return string.IsNullOrEmpty(texture.name) ? $"texture_{textureIndex}" : texture.name; } - static void SafeDestroy(UnityEngine.Object obj) - { -#if UNITY_EDITOR - if (!Application.isPlaying) { - UnityEngine.Object.DestroyImmediate(obj); - } - else -#endif - { - UnityEngine.Object.Destroy(obj); - } - } - /// Is called when retrieving data from accessors should be performed/started. public event Action LoadAccessorDataEvent; @@ -3247,7 +3337,7 @@ async Task LoadAccessorData(CancellationToken cancellationToken) #if DEBUG // Detect and report poor shared accessor usage. Since this adds performance overhead, it's done in debug // mode only. - var perPrimitiveSetIndices = new Dictionary,int[]>( + var perPrimitiveSetIndices = new Dictionary, int[]>( comparer: new PrimitivesComparer()); #endif @@ -3410,24 +3500,27 @@ out var primitives { foreach (var animation in Root.Animations) { - foreach (var sampler in animation.Samplers) { - SetAccessorUsage(sampler.input,AccessorUsage.AnimationTimes); + foreach (var sampler in animation.Samplers) + { + SetAccessorUsage(sampler.input, AccessorUsage.AnimationTimes); } - foreach (var channel in animation.Channels) { + foreach (var channel in animation.Channels) + { var accessorIndex = animation.Samplers[channel.sampler].output; - switch (channel.Target.GetPath()) { + switch (channel.Target.GetPath()) + { case AnimationChannel.Path.Translation: - SetAccessorUsage(accessorIndex,AccessorUsage.Translation); + SetAccessorUsage(accessorIndex, AccessorUsage.Translation); break; case AnimationChannel.Path.Rotation: - SetAccessorUsage(accessorIndex,AccessorUsage.Rotation); + SetAccessorUsage(accessorIndex, AccessorUsage.Rotation); break; case AnimationChannel.Path.Scale: - SetAccessorUsage(accessorIndex,AccessorUsage.Scale); + SetAccessorUsage(accessorIndex, AccessorUsage.Scale); break; case AnimationChannel.Path.Weights: - SetAccessorUsage(accessorIndex,AccessorUsage.Weight); + SetAccessorUsage(accessorIndex, AccessorUsage.Weight); break; } } @@ -3481,13 +3574,15 @@ out var primitives break; } #if UNITY_ANIMATION - case GltfAccessorAttributeType.SCALAR when m_AccessorUsage[i]==AccessorUsage.AnimationTimes || m_AccessorUsage[i]==AccessorUsage.Weight: + case GltfAccessorAttributeType.SCALAR when m_AccessorUsage[i] == AccessorUsage.AnimationTimes || m_AccessorUsage[i] == AccessorUsage.Weight: { GetScalarJob(i, out var times, out var jh); - if (times.HasValue) { + if (times.HasValue) + { m_AccessorData[i] = times.Value; } - if (jh.HasValue) { + if (jh.HasValue) + { tmpList.Add(jh.Value); } break; @@ -3514,7 +3609,7 @@ bool CheckVertexBufferUsage( PrimitiveSingle primitiveSingle ) { - return CheckVertexBufferUsage(perAttributeMeshCollection, new []{primitiveSingle.Primitive}); + return CheckVertexBufferUsage(perAttributeMeshCollection, new[] { primitiveSingle.Primitive }); } bool CheckVertexBufferUsage( @@ -3530,7 +3625,7 @@ bool CheckVertexBufferUsage( IReadOnlyList primitives ) { - if(perAttributeMeshCollection.TryGetValue(primitives, out var indicesAccessors)) + if (perAttributeMeshCollection.TryGetValue(primitives, out var indicesAccessors)) { Assert.AreEqual(primitives.Count, indicesAccessors.Length); var conflict = false; @@ -3604,7 +3699,8 @@ out MeshPrimitiveBase[] primitives void SetAccessorUsage(int index, AccessorUsage newUsage) { #if DEBUG - if(m_AccessorUsage[index]!=AccessorUsage.Unknown && newUsage!=m_AccessorUsage[index]) { + if (m_AccessorUsage[index] != AccessorUsage.Unknown && newUsage != m_AccessorUsage[index]) + { Logger?.Error(LogCode.AccessorInconsistentUsage, m_AccessorUsage[index].ToString(), newUsage.ToString()); } #endif @@ -3801,7 +3897,8 @@ void GetVector4Job(int accessorIndex, out NativeArray vectors, out J } #if UNITY_ANIMATION - unsafe void GetScalarJob(int accessorIndex, out NativeArray? scalars, out JobHandle? jobHandle) { + unsafe void GetScalarJob(int accessorIndex, out NativeArray? scalars, out JobHandle? jobHandle) + { Profiler.BeginSample("GetScalarJob"); scalars = null; jobHandle = null; @@ -3814,11 +3911,13 @@ unsafe void GetScalarJob(int accessorIndex, out NativeArray? scalars, out ); Assert.AreEqual(accessor.GetAttributeType(), GltfAccessorAttributeType.SCALAR); - if (accessor.IsSparse) { - Logger?.Error(LogCode.SparseAccessor,"scalars"); + if (accessor.IsSparse) + { + Logger?.Error(LogCode.SparseAccessor, "scalars"); } - if (accessor.componentType == GltfComponentType.Float) { + if (accessor.componentType == GltfComponentType.Float) + { Profiler.BeginSample("CopyAnimationTimes"); var bufferTimes = accessorData .Reinterpret() @@ -3835,50 +3934,62 @@ unsafe void GetScalarJob(int accessorIndex, out NativeArray? scalars, out jobHandle = job.Schedule(); } Profiler.EndSample(); - } else - if( accessor.normalized ) { + } + else if (accessor.normalized) + { Profiler.BeginSample("Alloc"); - scalars = new NativeArray(accessor.count,Allocator.Persistent); + scalars = new NativeArray(accessor.count, Allocator.Persistent); Profiler.EndSample(); - switch( accessor.componentType ) { - case GltfComponentType.Byte: { - var job = new ConvertScalarInt8ToFloatNormalizedJob { + switch (accessor.componentType) + { + case GltfComponentType.Byte: + { + var job = new ConvertScalarInt8ToFloatNormalizedJob + { input = accessorData.Reinterpret().AsNativeArrayReadOnly(), result = scalars.Value }; - jobHandle = job.Schedule(accessor.count,DefaultBatchCount); + jobHandle = job.Schedule(accessor.count, DefaultBatchCount); break; } - case GltfComponentType.UnsignedByte: { - var job = new ConvertScalarUInt8ToFloatNormalizedJob { + case GltfComponentType.UnsignedByte: + { + var job = new ConvertScalarUInt8ToFloatNormalizedJob + { input = accessorData.Reinterpret().AsNativeArrayReadOnly(), result = scalars.Value }; - jobHandle = job.Schedule(accessor.count,DefaultBatchCount); + jobHandle = job.Schedule(accessor.count, DefaultBatchCount); break; } - case GltfComponentType.Short: { - var job = new ConvertScalarInt16ToFloatNormalizedJob { + case GltfComponentType.Short: + { + var job = new ConvertScalarInt16ToFloatNormalizedJob + { input = accessorData.Reinterpret().AsNativeArrayReadOnly(), result = scalars.Value }; - jobHandle = job.Schedule(accessor.count,DefaultBatchCount); + jobHandle = job.Schedule(accessor.count, DefaultBatchCount); break; } - case GltfComponentType.UnsignedShort: { - var job = new ConvertScalarUInt16ToFloatNormalizedJob { + case GltfComponentType.UnsignedShort: + { + var job = new ConvertScalarUInt16ToFloatNormalizedJob + { input = accessorData.Reinterpret().AsNativeArrayReadOnly(), result = scalars.Value }; - jobHandle = job.Schedule(accessor.count,DefaultBatchCount); + jobHandle = job.Schedule(accessor.count, DefaultBatchCount); break; } default: Logger?.Error(LogCode.AnimationFormatInvalid, accessor.componentType.ToString()); break; } - } else { + } + else + { // Non-normalized Logger?.Error(LogCode.AnimationFormatInvalid, accessor.componentType.ToString()); } @@ -3913,10 +4024,12 @@ unsafe void IGltfBuffers.GetAccessorAndData(int index, out AccessorBase accessor var bufferView = Root.BufferViews[accessor.bufferView]; #if MESHOPT_IS_ENABLED var meshopt = bufferView.Extensions?.EXT_meshopt_compression; - if (meshopt != null) { + if (meshopt != null) + { byteStride = meshopt.byteStride; data = (byte*)m_MeshoptBufferViews[accessor.bufferView].GetUnsafeReadOnlyPtr() + accessor.byteOffset; - } else + } + else #endif { byteStride = bufferView.byteStride; @@ -3941,7 +4054,8 @@ public unsafe void GetAccessorSparseIndices(AccessorSparseIndices sparseIndices, var bufferView = Root.BufferViews[(int)sparseIndices.bufferView]; #if MESHOPT_IS_ENABLED var meshopt = bufferView.Extensions?.EXT_meshopt_compression; - if (meshopt != null) { + if (meshopt != null) + { data = (byte*)m_MeshoptBufferViews[(int)sparseIndices.bufferView].GetUnsafeReadOnlyPtr() + sparseIndices.byteOffset; } else @@ -3964,7 +4078,8 @@ public unsafe void GetAccessorSparseValues(AccessorSparseValues sparseValues, ou var bufferView = Root.BufferViews[(int)sparseValues.bufferView]; #if MESHOPT_IS_ENABLED var meshopt = bufferView.Extensions?.EXT_meshopt_compression; - if (meshopt != null) { + if (meshopt != null) + { data = (byte*)m_MeshoptBufferViews[(int)sparseValues.bufferView].GetUnsafeReadOnlyPtr() + sparseValues.byteOffset; } else @@ -3984,8 +4099,22 @@ static void ResetStaticsOnLoad() { // Reset static state s_DefaultDeferAgent = null; - s_MeshComparer = new (); + s_MeshComparer = new(); } #endif // UNITY_EDITOR + + + /// + public NativeArray.ReadOnly GetAccessorData(int accessorIndex) where T : unmanaged + { + if (accessorIndex < 0 || Root?.Accessors == null || accessorIndex >= Root.Accessors.Count) + { + return default; + } + var data = m_AccessorData[accessorIndex] is NativeArray + ? (NativeArray)m_AccessorData[accessorIndex] + : default; + return data.AsReadOnly(); + } } } diff --git a/Runtime/Scripts/IGltfAccessors.cs b/Runtime/Scripts/IGltfAccessors.cs new file mode 100644 index 000000000..98753552a --- /dev/null +++ b/Runtime/Scripts/IGltfAccessors.cs @@ -0,0 +1,24 @@ +// SPDX-FileCopyrightText: 2026 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +using Unity.Collections; + +namespace GLTFast +{ + /// + /// Provides read-only access to typed glTF accessor data. + /// + public interface IGltfAccessors + { + /// + /// Provides an accessors typed data. + /// + /// glTF accessor index. + /// Accessor member type. + /// The requested data or a non-initialized readonly native array + /// if the request couldn't be handled. + NativeArray.ReadOnly GetAccessorData(int accessorIndex) + where T : unmanaged; + } +} diff --git a/Runtime/Scripts/IGltfAccessors.cs.meta b/Runtime/Scripts/IGltfAccessors.cs.meta new file mode 100644 index 000000000..01299ba34 --- /dev/null +++ b/Runtime/Scripts/IGltfAccessors.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ec61ae3b3e9c47fca62ed987b5651ad3 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/IGltfBuffers.cs b/Runtime/Scripts/IGltfBuffers.cs index 87ea21e95..61d191826 100644 --- a/Runtime/Scripts/IGltfBuffers.cs +++ b/Runtime/Scripts/IGltfBuffers.cs @@ -1,7 +1,6 @@ // SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 -using Unity.Collections; using UnityEngine; namespace GLTFast diff --git a/Runtime/Scripts/INodeHierarchyInfo.cs b/Runtime/Scripts/INodeHierarchyInfo.cs new file mode 100644 index 000000000..2d02582a9 --- /dev/null +++ b/Runtime/Scripts/INodeHierarchyInfo.cs @@ -0,0 +1,27 @@ +// SPDX-FileCopyrightText: 2026 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using UnityEngine; + +namespace GLTFast +{ + /// + /// Provides glTF node hierarchy information. + /// + public interface INodeHierarchyInfo + { + /// + /// Gets the name of the node at the given index. + /// + /// Node index. + /// Node name. + string GetNodeName(int nodeIndex); + + /// + /// Gets the parent index of the node at the given index. + /// + /// Node index. + /// Parent node index (negative if node has no parent). + int GetParentIndex(int nodeIndex); + } +} diff --git a/Runtime/Scripts/INodeHierarchyInfo.cs.meta b/Runtime/Scripts/INodeHierarchyInfo.cs.meta new file mode 100644 index 000000000..dd010ec21 --- /dev/null +++ b/Runtime/Scripts/INodeHierarchyInfo.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: a1062ce8cd2e044c19bc507eb35d23ca +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/ImageConversionImageLoader.cs b/Runtime/Scripts/ImageConversionImageLoader.cs index 1b93c1951..f784d0ae1 100644 --- a/Runtime/Scripts/ImageConversionImageLoader.cs +++ b/Runtime/Scripts/ImageConversionImageLoader.cs @@ -13,18 +13,10 @@ using UnityEngine.Experimental.Rendering; using UnityEngine.Profiling; -#if UNITY_6000_0_OR_NEWER -using GLTFast.Loading; -#else -using System.Runtime.InteropServices; -using GLTFast.Jobs; -using GLTFast.Loading; -using Unity.Collections.LowLevel.Unsafe; -using Unity.Jobs; -#endif - -namespace GLTFast { - static class ImageConversionImageLoader { +namespace GLTFast +{ + static class ImageConversionImageLoader + { public static async Task LoadAsync( ImportContext context, @@ -33,14 +25,14 @@ public static async Task LoadAsync( CancellationToken cancellationToken ) { - using var download = await context.DownloadProvider.RequestTexture(uri,!readable); + using var download = await context.DownloadProvider.RequestTexture(uri, !readable); if (download == null) { context.Logger?.Error(LogCode.TextureDownloadFailed, "?", uri.ToString()); return ImageResult.Null; } - if(cancellationToken.IsCancellationRequested) + if (cancellationToken.IsCancellationRequested) return ImageResult.Null; if (download.Success) @@ -66,23 +58,9 @@ public static async Task LoadAsync( CancellationToken cancellationToken ) { -#if !UNITY_6000_0_OR_NEWER - var managedData = new byte[data.Length]; - var gcHandle = GCHandle.Alloc(managedData, GCHandleType.Pinned); - var job = CreateMemCopyJob(data, gcHandle); - var jobHandle = job.Schedule(); - while(!jobHandle.IsCompleted) - { - await Task.Yield(); - } - jobHandle.Complete(); - gcHandle.Free(); - if(cancellationToken.IsCancellationRequested) - return ImageResult.Null; -#endif while (context.DeferAgent.ShouldDefer()) { - if(cancellationToken.IsCancellationRequested) + if (cancellationToken.IsCancellationRequested) return ImageResult.Null; await Task.Yield(); } @@ -94,14 +72,7 @@ CancellationToken cancellationToken settings.GenerateMipMaps, settings.AnisotropicFilterLevel ); - texture.LoadImage( -#if UNITY_6000_0_OR_NEWER - data.AsReadOnlySpan(), -#else - managedData, -#endif - !readable - ); + texture.LoadImage(data.AsReadOnlySpan(), !readable); Profiler.EndSample(); return new ImageResult(texture); } @@ -130,23 +101,6 @@ int anisotropicFilterLevel return txt; } -#if !UNITY_6000_0_OR_NEWER - static unsafe MemCopyJob CreateMemCopyJob( - NativeArray.ReadOnly data, - GCHandle gcHandle - ) - { - var job = new MemCopyJob - { - bufferSize = data.Length, - input = (byte*)data.GetUnsafeReadOnlyPtr(), - result = (void*)gcHandle.AddrOfPinnedObject() - }; - - return job; - } -#endif // !UNITY_6000_0_OR_NEWER - /// /// UnityWebRequestTexture always loads Jpegs/PNGs in sRGB color space /// without mipmaps. This method figures if this is not desired and the @@ -160,7 +114,8 @@ bool generateMipMaps { #if UNITY_EDITOR - if (IsEditorImport) { + if (IsEditorImport) + { // Use the original texture at Editor (asset database) import return false; } diff --git a/Runtime/Scripts/ImportAddons/DataInstanceApplierFactory.cs b/Runtime/Scripts/ImportAddons/DataInstanceApplierFactory.cs new file mode 100644 index 000000000..1c66c25b8 --- /dev/null +++ b/Runtime/Scripts/ImportAddons/DataInstanceApplierFactory.cs @@ -0,0 +1,120 @@ +// SPDX-FileCopyrightText: 2026 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; + +namespace GLTFast.Addons +{ + /// + /// Base class for implementations that own a piece of + /// data produced during the conversion phase and create instances + /// targeting a specific implementation. + /// + /// Type of the data produced during conversion and applied to instances. + /// Concrete type the created appliers + /// require. + abstract class DataInstanceApplierFactory : IDataInstanceApplierFactory + where TInstantiator : IInstantiator + { + /// + /// The data produced during the conversion phase that the created appliers will apply to + /// instantiated scenes. + /// + public TData Data { get; } + + /// + /// Creates a new factory wrapping the given conversion-phase data. + /// + /// Data to be applied to instantiated scenes. + protected DataInstanceApplierFactory(TData data) + { + Data = data; + } + + /// + /// Creates an for the given instantiator if it is of the + /// expected concrete type . + /// + /// Instantiator that produced the scene instance. + /// An applier bound to , or + /// if the instantiator is not of type . + public IInstanceApplier CreateInstanceApplier(IInstantiator instantiator) + { + if (instantiator is TInstantiator typedInstantiator) + { + return CreateInstanceApplier(typedInstantiator); + } + + return null; + } + + /// + /// Creates an bound to the given typed instantiator. + /// + /// Instantiator that produced the scene instance. + /// An applier that can apply to the instance. + protected abstract IInstanceApplier CreateInstanceApplier(TInstantiator instantiator); + + /// + public void Dispose() + { + Dispose(true); + GC.SuppressFinalize(this); + } + + /// + /// Releases resources held by this factory and, when is + /// , by . + /// + /// when invoked from ; + /// when invoked from a finalizer. + protected abstract void Dispose(bool disposing); + } + + /// + /// Base class for implementations that own a piece of + /// data produced during the conversion phase and create instances + /// for any . + /// + /// Type of the data produced during conversion and applied to instances. + abstract class DataInstanceApplierFactory : IDataInstanceApplierFactory + { + /// + /// The data produced during the conversion phase that the created appliers will apply to + /// instantiated scenes. + /// + public TData Data { get; } + + /// + /// Creates a new factory wrapping the given conversion-phase data. + /// + /// Data to be applied to instantiated scenes. + protected DataInstanceApplierFactory(TData data) + { + Data = data; + } + + /// + /// Creates an bound to the given instantiator. + /// + /// Instantiator that produced the scene instance. + /// An applier that can apply to the instance, or + /// if the instantiator is not supported. + public abstract IInstanceApplier CreateInstanceApplier(IInstantiator instantiator); + + /// + public void Dispose() + { + Dispose(true); + GC.SuppressFinalize(this); + } + + /// + /// Releases resources held by this factory and, when is + /// , by . + /// + /// when invoked from ; + /// when invoked from a finalizer. + protected abstract void Dispose(bool disposing); + } +} diff --git a/Runtime/Scripts/ImportAddons/DataInstanceApplierFactory.cs.meta b/Runtime/Scripts/ImportAddons/DataInstanceApplierFactory.cs.meta new file mode 100644 index 000000000..da85a8483 --- /dev/null +++ b/Runtime/Scripts/ImportAddons/DataInstanceApplierFactory.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: ec1cc4a993ce450f94c43060dc6d75b4 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/ImportAddons/IDataCache.cs b/Runtime/Scripts/ImportAddons/IDataCache.cs new file mode 100644 index 000000000..4fd373a2a --- /dev/null +++ b/Runtime/Scripts/ImportAddons/IDataCache.cs @@ -0,0 +1,18 @@ +// SPDX-FileCopyrightText: 2026 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; + +namespace GLTFast.Addons +{ + /// + /// Marker interface for objects that hold data produced during the conversion phase of a glTF + /// import and that must be explicitly disposed when no longer needed. + /// + /// + /// Implementations typically own native or unmanaged resources (e.g. + /// ) and release them in + /// . + /// + public interface IDataCache : IDisposable { } +} diff --git a/Runtime/Scripts/ImportAddons/IDataCache.cs.meta b/Runtime/Scripts/ImportAddons/IDataCache.cs.meta new file mode 100644 index 000000000..eae213e85 --- /dev/null +++ b/Runtime/Scripts/ImportAddons/IDataCache.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: fea603a7d1cf467b975b8976a89abde5 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/ImportAddons/IDataInstanceApplierFactory.cs b/Runtime/Scripts/ImportAddons/IDataInstanceApplierFactory.cs new file mode 100644 index 000000000..80b44bb60 --- /dev/null +++ b/Runtime/Scripts/ImportAddons/IDataInstanceApplierFactory.cs @@ -0,0 +1,18 @@ +// SPDX-FileCopyrightText: 2026 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; + +namespace GLTFast.Addons +{ + /// + /// Factory that owns conversion-phase data () and produces + /// instances which apply that data to instantiated scenes. + /// + /// + /// The factory's lifetime spans the import: it is created at the end of the conversion phase + /// and disposed when the cached data is no longer needed. It may be used to apply the same + /// data to multiple scene instances. + /// + public interface IDataInstanceApplierFactory : IDataCache, IInstanceApplierFactory { } +} diff --git a/Runtime/Scripts/ImportAddons/IDataInstanceApplierFactory.cs.meta b/Runtime/Scripts/ImportAddons/IDataInstanceApplierFactory.cs.meta new file mode 100644 index 000000000..11090ea12 --- /dev/null +++ b/Runtime/Scripts/ImportAddons/IDataInstanceApplierFactory.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0c2010c3999d4fa2a2ebce85f093eae0 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/ImportAddons/IInstanceApplier.cs b/Runtime/Scripts/ImportAddons/IInstanceApplier.cs new file mode 100644 index 000000000..a733d6f2b --- /dev/null +++ b/Runtime/Scripts/ImportAddons/IInstanceApplier.cs @@ -0,0 +1,20 @@ +// SPDX-FileCopyrightText: 2026 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +using UnityEngine; + +namespace GLTFast.Addons +{ + /// + /// Marker interface for objects that apply data produced during the conversion phase to a + /// single instantiated scene. + /// + /// + /// An applier is bound to one and is created by an + /// . Concrete capabilities are exposed by derived + /// interfaces such as , which the import pipeline + /// invokes at well-defined points of the instantiation lifecycle. + /// + public interface IInstanceApplier { } +} diff --git a/Runtime/Scripts/ImportAddons/IInstanceApplier.cs.meta b/Runtime/Scripts/ImportAddons/IInstanceApplier.cs.meta new file mode 100644 index 000000000..af7b593f2 --- /dev/null +++ b/Runtime/Scripts/ImportAddons/IInstanceApplier.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b7a694e4f20d2488784dcd20b4973e14 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/ImportAddons/IInstanceApplierFactory.cs b/Runtime/Scripts/ImportAddons/IInstanceApplierFactory.cs new file mode 100644 index 000000000..6d248a1eb --- /dev/null +++ b/Runtime/Scripts/ImportAddons/IInstanceApplierFactory.cs @@ -0,0 +1,28 @@ +// SPDX-FileCopyrightText: 2026 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; + +namespace GLTFast.Addons +{ + /// + /// Creates instances bound to a specific + /// . + /// + /// + /// One factory may be invoked multiple times during an import to produce an applier per scene + /// instance. Implementations should return when the supplied + /// is not supported. + /// + public interface IInstanceApplierFactory + { + /// + /// Creates an bound to the given instantiator. + /// + /// Instantiator that produced the scene instance the applier + /// will operate on. + /// An applier bound to , or + /// if the instantiator type is not supported. + IInstanceApplier CreateInstanceApplier(IInstantiator instantiator); + } +} diff --git a/Runtime/Scripts/ImportAddons/IInstanceApplierFactory.cs.meta b/Runtime/Scripts/ImportAddons/IInstanceApplierFactory.cs.meta new file mode 100644 index 000000000..9e3becbe9 --- /dev/null +++ b/Runtime/Scripts/ImportAddons/IInstanceApplierFactory.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 74256b85ec50485aa7d448143671b86b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/ImportAddons/IPostBeginSceneInstanceApplier.cs b/Runtime/Scripts/ImportAddons/IPostBeginSceneInstanceApplier.cs new file mode 100644 index 000000000..9083c2f7e --- /dev/null +++ b/Runtime/Scripts/ImportAddons/IPostBeginSceneInstanceApplier.cs @@ -0,0 +1,12 @@ +// SPDX-FileCopyrightText: 2026 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; + +namespace GLTFast.Addons +{ + interface IPostBeginSceneInstanceApplier : IInstanceApplier + { + void PostBeginScene(); + } +} diff --git a/Runtime/Scripts/ImportAddons/IPostBeginSceneInstanceApplier.cs.meta b/Runtime/Scripts/ImportAddons/IPostBeginSceneInstanceApplier.cs.meta new file mode 100644 index 000000000..a27d896be --- /dev/null +++ b/Runtime/Scripts/ImportAddons/IPostBeginSceneInstanceApplier.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 571eab977c034f6ebdaf6e6dcfc59446 +timeCreated: 1778490548 \ No newline at end of file diff --git a/Runtime/Scripts/ImportAddons/ImportAddonInstanceCollection.cs b/Runtime/Scripts/ImportAddons/ImportAddonInstanceCollection.cs index 908974d5b..46d8d4cf8 100644 --- a/Runtime/Scripts/ImportAddons/ImportAddonInstanceCollection.cs +++ b/Runtime/Scripts/ImportAddons/ImportAddonInstanceCollection.cs @@ -2,123 +2,14 @@ // SPDX-License-Identifier: Apache-2.0 using System; -using System.Collections.Generic; namespace GLTFast.Addons { - sealed class ImportAddonInstanceCollection : IDisposable + sealed class ImportAddonInstanceCollection : QueryableList, IDisposable { - public delegate bool TryCreateResult - (TAddon addon, TInput input, out TResult result); - - readonly List m_Addons = new(); - - public void Add(T importInstance) where T : ImportAddonInstance - { - m_Addons.Add(importInstance); - } - - public T Get() where T : ImportAddonInstance - { - foreach (var addon in m_Addons) - { - if (addon is T typedAddon) - { - return typedAddon; - } - } - - return null; - } - - public bool Any(Func predicate) - { - foreach (var instance in m_Addons) - { - if (instance is T target && predicate(target)) - { - return true; - } - } - - return false; - } - - public T First(Func predicate) - { - foreach (var instance in m_Addons) - { - if (instance is T target && predicate(target)) - { - return target; - } - } - - return default; - } - - public void ForEach(Action action) - { - foreach (var instance in m_Addons) - { - action(instance); - } - } - - public bool TryGet( - TInput input, - TryCreateResult action, - out TResult result - ) - { - foreach (var instance in m_Addons) - { - if (instance is TAddon typedInstance && action(typedInstance, input, out result)) - { - return true; - } - } - - result = default; - return false; - } - - public void ForEachTryGet( - IReadOnlyList list, - TryCreateResult predicate, - Action resultAction - ) - { - List addons = null; - foreach (var instance in m_Addons) - { - if (instance is TAddon addon) - { - addons ??= new List(); - addons.Add(addon); - } - } - - if (addons != null) - { - for (var i = 0; i < list.Count; i++) - { - var element = list[i]; - foreach (var addon in addons) - { - if (predicate(addon, element, out var result)) - { - resultAction(addon, i, result); - break; - } - } - } - } - } - public bool AnySupportsGltfExtension(string extensionName) { - foreach (var instance in m_Addons) + foreach (var instance in this) { if (instance.SupportsGltfExtension(extensionName)) { @@ -131,11 +22,11 @@ public bool AnySupportsGltfExtension(string extensionName) public void Dispose() { - foreach (var importInstance in m_Addons) + foreach (var importInstance in this) { importInstance.Dispose(); } - m_Addons.Clear(); + Clear(); } } } diff --git a/Runtime/Scripts/ImportAddons/ImportAddonInstanceCollection.cs.meta b/Runtime/Scripts/ImportAddons/ImportAddonInstanceCollection.cs.meta index a8437d1a3..3b8196cf0 100644 --- a/Runtime/Scripts/ImportAddons/ImportAddonInstanceCollection.cs.meta +++ b/Runtime/Scripts/ImportAddons/ImportAddonInstanceCollection.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 753ee089bb994440a8f934ecfc46e238 +guid: c2168a7f3cad4d339edf613da79e0690 MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/Runtime/Scripts/ImportAddons/QueryableList.cs b/Runtime/Scripts/ImportAddons/QueryableList.cs new file mode 100644 index 000000000..ac2f1d6d9 --- /dev/null +++ b/Runtime/Scripts/ImportAddons/QueryableList.cs @@ -0,0 +1,131 @@ +// SPDX-FileCopyrightText: 2026 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; +using System.Collections.Generic; + +namespace GLTFast.Addons +{ + class QueryableList : List + { + public delegate bool TryCreateResult + (TAddon addon, TInput input, out TResult result); + + public T Get() where T : ImportAddonInstance + { + foreach (var addon in this) + { + if (addon is T typedAddon) + { + return typedAddon; + } + } + + return null; + } + + public QueryableList SubCollection() + { + QueryableList result = null; + + foreach (var addon in this) + { + if (addon is T typedAddon) + { + result ??= new QueryableList(); + result.Add(typedAddon); + } + } + + return result; + } + + public bool Any(Func predicate) + { + foreach (var instance in this) + { + if (instance is T target && predicate(target)) + { + return true; + } + } + + return false; + } + + public T First() + { + foreach (var instance in this) + { + if (instance is T target) + { + return target; + } + } + + return default; + } + + public T First(Func predicate) + { + foreach (var instance in this) + { + if (instance is T target && predicate(target)) + { + return target; + } + } + + return default; + } + + public void ForEach(Action action) + { + foreach (var instance in this) + { + if (instance is T addon) + { + action(addon); + } + } + } + + public bool TryGet( + TInput input, + TryCreateResult action, + out TResult result + ) + { + foreach (var instance in this) + { + if (instance is TAddon typedInstance && action(typedInstance, input, out result)) + { + return true; + } + } + + result = default; + return false; + } + + public void ForEachTryGet( + IReadOnlyList list, + TryCreateResult predicate, + Action resultAction + ) + { + for (var i = 0; i < list.Count; i++) + { + var element = list[i]; + foreach (var addon in this) + { + if (predicate(addon, element, out var result)) + { + resultAction(addon, i, result); + break; + } + } + } + } + } +} diff --git a/Runtime/Scripts/ImportAddons/QueryableList.cs.meta b/Runtime/Scripts/ImportAddons/QueryableList.cs.meta new file mode 100644 index 000000000..a8437d1a3 --- /dev/null +++ b/Runtime/Scripts/ImportAddons/QueryableList.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 753ee089bb994440a8f934ecfc46e238 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/Jobs.cs b/Runtime/Scripts/Jobs.cs index b90b2d841..8a1090e15 100644 --- a/Runtime/Scripts/Jobs.cs +++ b/Runtime/Scripts/Jobs.cs @@ -3,12 +3,12 @@ using System; using GLTFast.Vertex; -using UnityEngine; +using Unity.Burst; using Unity.Collections; using Unity.Collections.LowLevel.Unsafe; -using Unity.Burst; using Unity.Jobs; using Unity.Mathematics; +using UnityEngine; using static Unity.Mathematics.math; namespace GLTFast.Jobs @@ -320,12 +320,7 @@ public void Execute(int index) } [BurstCompile] - unsafe struct ConvertUVsUInt8ToFloatInterleavedJob : -#if UNITY_COLLECTIONS - IJobParallelForBatch -#else - IJobParallelFor -#endif + unsafe struct ConvertUVsUInt8ToFloatInterleavedJob : IJobParallelForBatch { [ReadOnly] public int inputByteStride; @@ -341,7 +336,6 @@ unsafe struct ConvertUVsUInt8ToFloatInterleavedJob : [NativeDisableUnsafePtrRestriction] public float2* result; -#if UNITY_COLLECTIONS public void Execute(int startIndex, int count) { var resultV = (float2*)((byte*)result + startIndex * outputByteStride); @@ -354,14 +348,6 @@ public void Execute(int startIndex, int count) off += inputByteStride; } } -#else - public void Execute(int index) - { - var resultV = (float2*)(((byte*)result) + (index * outputByteStride)); - var off = input + inputByteStride * index; - *resultV = new float2(off[0], 1 - off[1]); - } -#endif } [BurstCompile] @@ -396,12 +382,7 @@ public void Execute(int index) } [BurstCompile] - unsafe struct ConvertUVsUInt16ToFloatInterleavedJob : -#if UNITY_COLLECTIONS - IJobParallelForBatch -#else - IJobParallelFor -#endif + unsafe struct ConvertUVsUInt16ToFloatInterleavedJob : IJobParallelForBatch { [ReadOnly] @@ -418,7 +399,6 @@ unsafe struct ConvertUVsUInt16ToFloatInterleavedJob : [NativeDisableUnsafePtrRestriction] public float2* result; -#if UNITY_COLLECTIONS public void Execute(int startIndex, int count) { var resultV = (float2*)((byte*)result + startIndex * outputByteStride); @@ -431,14 +411,6 @@ public void Execute(int startIndex, int count) uv = (ushort*)((byte*)uv + inputByteStride); } } -#else - public void Execute(int index) - { - var resultV = (float2*)(((byte*)result) + (index * outputByteStride)); - var uv = (ushort*)(input + inputByteStride * index); - *resultV = new float2(uv[0], 1 - uv[1]); - } -#endif } [BurstCompile] @@ -473,12 +445,7 @@ public void Execute(int index) } [BurstCompile] - unsafe struct ConvertUVsInt16ToFloatInterleavedJob : -#if UNITY_COLLECTIONS - IJobParallelForBatch -#else - IJobParallelFor -#endif + unsafe struct ConvertUVsInt16ToFloatInterleavedJob : IJobParallelForBatch { [ReadOnly] @@ -495,7 +462,6 @@ unsafe struct ConvertUVsInt16ToFloatInterleavedJob : [NativeDisableUnsafePtrRestriction] public float2* result; -#if UNITY_COLLECTIONS public void Execute(int startIndex, int count) { var resultV = (float2*)((byte*)result + startIndex * outputByteStride); @@ -508,23 +474,10 @@ public void Execute(int startIndex, int count) uv = (short*)((byte*)uv + inputByteStride); } } -#else - public void Execute(int index) - { - var resultV = (float2*)(((byte*)result) + (index * outputByteStride)); - var uv = (short*)((byte*)input + inputByteStride * index); - *resultV = new float2(uv[0], 1 - uv[1]); - } -#endif } [BurstCompile] - unsafe struct ConvertUVsInt16ToFloatInterleavedNormalizedJob : -#if UNITY_COLLECTIONS - IJobParallelForBatch -#else - IJobParallelFor -#endif + unsafe struct ConvertUVsInt16ToFloatInterleavedNormalizedJob : IJobParallelForBatch { [ReadOnly] @@ -541,7 +494,6 @@ unsafe struct ConvertUVsInt16ToFloatInterleavedNormalizedJob : [NativeDisableUnsafePtrRestriction] public float2* result; -#if UNITY_COLLECTIONS public void Execute(int startIndex, int count) { var resultV = (float2*)((byte*)result + startIndex * outputByteStride); @@ -558,27 +510,10 @@ public void Execute(int startIndex, int count) uv = (short*)((byte*)uv + inputByteStride); } } -#else - public void Execute(int index) - { - var resultV = (float2*)(((byte*)result) + (index * outputByteStride)); - var uv = (short*)((byte*)input + inputByteStride * index); - - var tmp = new float2(uv[0], uv[1]) / short.MaxValue; - var tmp2 = max(tmp, -1f); - tmp2.y = 1 - tmp2.y; - *resultV = tmp2; - } -#endif } [BurstCompile] - unsafe struct ConvertUVsInt8ToFloatInterleavedJob : -#if UNITY_COLLECTIONS - IJobParallelForBatch -#else - IJobParallelFor -#endif + unsafe struct ConvertUVsInt8ToFloatInterleavedJob : IJobParallelForBatch { [ReadOnly] @@ -595,7 +530,6 @@ unsafe struct ConvertUVsInt8ToFloatInterleavedJob : [NativeDisableUnsafePtrRestriction] public float2* result; -#if UNITY_COLLECTIONS public void Execute(int startIndex, int count) { var resultV = (float2*)((byte*)result + startIndex * outputByteStride); @@ -608,23 +542,10 @@ public void Execute(int startIndex, int count) off += inputByteStride; } } -#else - public void Execute(int index) - { - var resultV = (float2*)(((byte*)result) + (index * outputByteStride)); - var off = input + inputByteStride * index; - *resultV = new float2(off[0], 1 - off[1]); - } -#endif } [BurstCompile] - unsafe struct ConvertUVsInt8ToFloatInterleavedNormalizedJob : -#if UNITY_COLLECTIONS - IJobParallelForBatch -#else - IJobParallelFor -#endif + unsafe struct ConvertUVsInt8ToFloatInterleavedNormalizedJob : IJobParallelForBatch { [ReadOnly] @@ -641,7 +562,6 @@ unsafe struct ConvertUVsInt8ToFloatInterleavedNormalizedJob : [NativeDisableUnsafePtrRestriction] public float2* result; -#if UNITY_COLLECTIONS public void Execute(int startIndex, int count) { var resultV = (float2*)((byte*)result + startIndex * outputByteStride); @@ -658,17 +578,6 @@ public void Execute(int startIndex, int count) off += inputByteStride; } } -#else - public void Execute(int index) - { - var resultV = (float2*)(((byte*)result) + (index * outputByteStride)); - var off = input + inputByteStride * index; - var tmp = new float2(off[0], off[1]) / 127f; - var tmp2 = max(tmp, -1f); - tmp2.y = 1 - tmp2.y; - *resultV = tmp2; - } -#endif } [BurstCompile] @@ -741,12 +650,7 @@ public void Execute(int index) } [BurstCompile] - unsafe struct ConvertColorsRgbaUInt16ToRGBAFloatJob : -#if UNITY_COLLECTIONS - IJobParallelForBatch -#else - IJobParallelFor -#endif + unsafe struct ConvertColorsRgbaUInt16ToRGBAFloatJob : IJobParallelForBatch { [ReadOnly] @@ -759,7 +663,6 @@ unsafe struct ConvertColorsRgbaUInt16ToRGBAFloatJob : [WriteOnly] public NativeArray result; -#if UNITY_COLLECTIONS public void Execute(int startIndex, int count) { var src = (ushort*)((byte*)input + startIndex * inputByteStride); @@ -775,27 +678,10 @@ public void Execute(int startIndex, int count) src = (ushort*)((byte*)src + inputByteStride); } } -#else - public void Execute(int index) - { - var src = (ushort*)(((byte*)input) + (index * inputByteStride)); - result[index] = new float4( - src[0] / (float)ushort.MaxValue, - src[1] / (float)ushort.MaxValue, - src[2] / (float)ushort.MaxValue, - src[3] / (float)ushort.MaxValue - ); - } -#endif } [BurstCompile] - unsafe struct ConvertColorsRGBAFloatToRGBAFloatJob : -#if UNITY_COLLECTIONS - IJobParallelForBatch -#else - IJobParallelFor -#endif + unsafe struct ConvertColorsRGBAFloatToRGBAFloatJob : IJobParallelForBatch { [ReadOnly] @@ -808,7 +694,6 @@ unsafe struct ConvertColorsRGBAFloatToRGBAFloatJob : [WriteOnly] public NativeArray result; -#if UNITY_COLLECTIONS public void Execute(int startIndex, int count) { var src = (float4*)(input + startIndex * inputByteStride); @@ -819,13 +704,6 @@ public void Execute(int startIndex, int count) src = (float4*)((byte*)src + inputByteStride); } } -#else - public void Execute(int index) - { - var src = (float4*)(input + (index * inputByteStride)); - result[index] = *src; - } -#endif } [BurstCompile] @@ -948,12 +826,7 @@ public void Execute(int index) } [BurstCompile] - unsafe struct ConvertUVsFloatToFloatInterleavedJob : -#if UNITY_COLLECTIONS - IJobParallelForBatch -#else - IJobParallelFor -#endif + unsafe struct ConvertUVsFloatToFloatInterleavedJob : IJobParallelForBatch { [ReadOnly] @@ -970,7 +843,6 @@ unsafe struct ConvertUVsFloatToFloatInterleavedJob : [NativeDisableUnsafePtrRestriction] public float2* result; -#if UNITY_COLLECTIONS public void Execute(int startIndex, int count) { var resultV = (float2*)((byte*)result + startIndex * outputByteStride); @@ -986,28 +858,13 @@ public void Execute(int startIndex, int count) off = (float2*)((byte*)off + inputByteStride); } } -#else - public void Execute(int index) - { - var resultV = (float2*)(((byte*)result) + (index * outputByteStride)); - var off = (float2*)(input + (index * inputByteStride)); - var tmp = *off; - tmp.y = 1 - tmp.y; - *resultV = tmp; - } -#endif } /// /// General purpose vector 3 (position or normal) conversion /// [BurstCompile] - unsafe struct ConvertVector3FloatToFloatInterleavedJob : -#if UNITY_COLLECTIONS - IJobParallelForBatch -#else - IJobParallelFor -#endif + unsafe struct ConvertVector3FloatToFloatInterleavedJob : IJobParallelForBatch { [ReadOnly] public ReadOnlyNativeStridedArray input; @@ -1019,7 +876,6 @@ unsafe struct ConvertVector3FloatToFloatInterleavedJob : [NativeDisableUnsafePtrRestriction] public float3* result; -#if UNITY_COLLECTIONS public void Execute(int startIndex, int count) { var resultV = (float3*)((byte*)result + startIndex * outputByteStride); @@ -1034,15 +890,6 @@ public void Execute(int startIndex, int count) resultV = (float3*)((byte*)resultV + outputByteStride); } } -#else - public void Execute(int index) - { - var resultV = (float3*)(((byte*)result) + (index * outputByteStride)); - var tmp = input[index]; - tmp.x *= -1; - *resultV = tmp; - } -#endif } /// @@ -1083,12 +930,7 @@ public void Execute(int index) } [BurstCompile] - unsafe struct ConvertTangentsFloatToFloatInterleavedJob : -#if UNITY_COLLECTIONS - IJobParallelForBatch -#else - IJobParallelFor -#endif + unsafe struct ConvertTangentsFloatToFloatInterleavedJob : IJobParallelForBatch { [ReadOnly] @@ -1105,7 +947,6 @@ unsafe struct ConvertTangentsFloatToFloatInterleavedJob : [NativeDisableUnsafePtrRestriction] public float4* result; -#if UNITY_COLLECTIONS public void Execute(int startIndex, int count) { var resultV = (float4*)((byte*)result + startIndex * outputByteStride); @@ -1121,25 +962,10 @@ public void Execute(int startIndex, int count) off = (float4*)((byte*)off + inputByteStride); } } -#else - public void Execute(int index) - { - var resultV = (float4*)(((byte*)result) + (index * outputByteStride)); - var off = input + (index * inputByteStride); - var tmp = *((float4*)off); - tmp.z *= -1; - *resultV = tmp; - } -#endif } [BurstCompile] - unsafe struct ConvertBoneWeightsFloatToFloatInterleavedJob : -#if UNITY_COLLECTIONS - IJobParallelForBatch -#else - IJobParallelFor -#endif + unsafe struct ConvertBoneWeightsFloatToFloatInterleavedJob : IJobParallelForBatch { [ReadOnly] @@ -1156,7 +982,6 @@ unsafe struct ConvertBoneWeightsFloatToFloatInterleavedJob : [NativeDisableUnsafePtrRestriction] public float4* result; -#if UNITY_COLLECTIONS public void Execute(int startIndex, int count) { var resultV = (float4*)((byte*)result + startIndex * outputByteStride); @@ -1169,23 +994,10 @@ public void Execute(int startIndex, int count) off = (float4*)((byte*)off + inputByteStride); } } -#else - public void Execute(int index) - { - var resultV = (float4*)(((byte*)result) + (index * outputByteStride)); - var off = input + (index * inputByteStride); - *resultV = *((float4*)off); - } -#endif } [BurstCompile] - unsafe struct ConvertBoneWeightsUInt8ToFloatInterleavedJob : -#if UNITY_COLLECTIONS - IJobParallelForBatch -#else - IJobParallelFor -#endif + unsafe struct ConvertBoneWeightsUInt8ToFloatInterleavedJob : IJobParallelForBatch { [ReadOnly] @@ -1202,7 +1014,6 @@ unsafe struct ConvertBoneWeightsUInt8ToFloatInterleavedJob : [NativeDisableUnsafePtrRestriction] public float4* result; -#if UNITY_COLLECTIONS public void Execute(int startIndex, int count) { var resultV = (float4*)((byte*)result + startIndex * outputByteStride); @@ -1220,28 +1031,10 @@ public void Execute(int startIndex, int count) off += inputByteStride; } } -#else - public void Execute(int index) - { - var resultV = (float4*)(((byte*)result) + (index * outputByteStride)); - var off = input + (index * inputByteStride); - *resultV = new float4( - off[0] / 255f, - off[1] / 255f, - off[2] / 255f, - off[3] / 255f - ); - } -#endif } [BurstCompile] - unsafe struct ConvertBoneWeightsUInt16ToFloatInterleavedJob : -#if UNITY_COLLECTIONS - IJobParallelForBatch -#else - IJobParallelFor -#endif + unsafe struct ConvertBoneWeightsUInt16ToFloatInterleavedJob : IJobParallelForBatch { [ReadOnly] @@ -1258,7 +1051,6 @@ unsafe struct ConvertBoneWeightsUInt16ToFloatInterleavedJob : [NativeDisableUnsafePtrRestriction] public float4* result; -#if UNITY_COLLECTIONS public void Execute(int startIndex, int count) { var resultV = (float4*)((byte*)result + startIndex * outputByteStride); @@ -1276,28 +1068,10 @@ public void Execute(int startIndex, int count) off = (ushort*)((byte*)off + inputByteStride); } } -#else - public void Execute(int index) - { - var resultV = (float4*)(((byte*)result) + (index * outputByteStride)); - var off = (ushort*)(input + index * inputByteStride); - *resultV = new float4( - off[0] / (float)ushort.MaxValue, - off[1] / (float)ushort.MaxValue, - off[2] / (float)ushort.MaxValue, - off[3] / (float)ushort.MaxValue - ); - } -#endif } [BurstCompile] - unsafe struct ConvertTangentsInt16ToFloatInterleavedNormalizedJob : -#if UNITY_COLLECTIONS - IJobParallelForBatch -#else - IJobParallelFor -#endif + unsafe struct ConvertTangentsInt16ToFloatInterleavedNormalizedJob : IJobParallelForBatch { [ReadOnly] @@ -1314,7 +1088,6 @@ unsafe struct ConvertTangentsInt16ToFloatInterleavedNormalizedJob : [NativeDisableUnsafePtrRestriction] public float4* result; -#if UNITY_COLLECTIONS public void Execute(int startIndex, int count) { var resultV = (float4*)((byte*)result + startIndex * outputByteStride); @@ -1331,26 +1104,10 @@ public void Execute(int startIndex, int count) off = (short*)((byte*)off + inputByteStride); } } -#else - public void Execute(int index) - { - var resultV = (float4*)(((byte*)result) + (index * outputByteStride)); - var off = (short*)(((byte*)input) + (index * inputByteStride)); - var tmp = new float4(off[0], off[1], off[2], off[3]) / short.MaxValue; - var tmp2 = max(tmp, -1f); - tmp2.z *= -1; - *resultV = normalize(tmp2); - } -#endif } [BurstCompile] - unsafe struct ConvertTangentsInt8ToFloatInterleavedNormalizedJob : -#if UNITY_COLLECTIONS - IJobParallelForBatch -#else - IJobParallelFor -#endif + unsafe struct ConvertTangentsInt8ToFloatInterleavedNormalizedJob : IJobParallelForBatch { [ReadOnly] @@ -1367,7 +1124,6 @@ unsafe struct ConvertTangentsInt8ToFloatInterleavedNormalizedJob : [NativeDisableUnsafePtrRestriction] public float4* result; -#if UNITY_COLLECTIONS public void Execute(int startIndex, int count) { var resultV = (float4*)((byte*)result + startIndex * outputByteStride); @@ -1384,26 +1140,10 @@ public void Execute(int startIndex, int count) off += inputByteStride; } } -#else - public void Execute(int index) - { - var resultV = (float4*)(((byte*)result) + (index * outputByteStride)); - var off = input + (index * inputByteStride); - var tmp = new float4(off[0], off[1], off[2], off[3]) / 127f; - var tmp2 = max(tmp, -1f); - tmp2.z *= -1; - *resultV = normalize(tmp2); - } -#endif } [BurstCompile] - unsafe struct ConvertPositionsUInt16ToFloatInterleavedJob : -#if UNITY_COLLECTIONS - IJobParallelForBatch -#else - IJobParallelFor -#endif + unsafe struct ConvertPositionsUInt16ToFloatInterleavedJob : IJobParallelForBatch { [ReadOnly] public ReadOnlyNativeStridedArray input; @@ -1415,7 +1155,6 @@ unsafe struct ConvertPositionsUInt16ToFloatInterleavedJob : [NativeDisableUnsafePtrRestriction] public float3* result; -#if UNITY_COLLECTIONS public void Execute(int startIndex, int count) { var resultV = (float3*)((byte*)result + startIndex * outputByteStride); @@ -1427,22 +1166,10 @@ public void Execute(int startIndex, int count) resultV = (float3*)((byte*)resultV + outputByteStride); } } -#else - public void Execute(int index) - { - var resultV = (float3*)(((byte*)result) + (index * outputByteStride)); - *resultV = input[index].GltfToUnityFloat3(); - } -#endif } [BurstCompile] - unsafe struct ConvertPositionsUInt16ToFloatInterleavedNormalizedJob : -#if UNITY_COLLECTIONS - IJobParallelForBatch -#else - IJobParallelFor -#endif + unsafe struct ConvertPositionsUInt16ToFloatInterleavedNormalizedJob : IJobParallelForBatch { [ReadOnly] public ReadOnlyNativeStridedArray input; @@ -1454,7 +1181,6 @@ unsafe struct ConvertPositionsUInt16ToFloatInterleavedNormalizedJob : [NativeDisableUnsafePtrRestriction] public float3* result; -#if UNITY_COLLECTIONS public void Execute(int startIndex, int count) { var resultV = (float3*)((byte*)result + startIndex * outputByteStride); @@ -1466,22 +1192,10 @@ public void Execute(int startIndex, int count) resultV = (float3*)((byte*)resultV + outputByteStride); } } -#else - public void Execute(int index) - { - var resultV = (float3*)(((byte*)result) + (index * outputByteStride)); - *resultV = input[index].GltfToUnityNormalizedFloat3(); - } -#endif } [BurstCompile] - unsafe struct ConvertPositionsInt16ToFloatInterleavedJob : -#if UNITY_COLLECTIONS - IJobParallelForBatch -#else - IJobParallelFor -#endif + unsafe struct ConvertPositionsInt16ToFloatInterleavedJob : IJobParallelForBatch { [ReadOnly] public ReadOnlyNativeStridedArray input; @@ -1493,7 +1207,6 @@ unsafe struct ConvertPositionsInt16ToFloatInterleavedJob : [ReadOnly] public int outputByteStride; -#if UNITY_COLLECTIONS public void Execute(int startIndex, int count) { var resultV = (float3*)((byte*)result + startIndex * outputByteStride); @@ -1505,13 +1218,6 @@ public void Execute(int startIndex, int count) resultV = (float3*)((byte*)resultV + outputByteStride); } } -#else - public void Execute(int index) - { - var resultV = (float3*)(((byte*)result) + (index * outputByteStride)); - *resultV = input[index].GltfToUnityFloat3(); - } -#endif } /// @@ -1519,12 +1225,7 @@ public void Execute(int index) /// Result is not normalized (scaled to unit length) /// [BurstCompile] - unsafe struct ConvertVector3Int16ToFloatInterleavedNormalizedJob : -#if UNITY_COLLECTIONS - IJobParallelForBatch -#else - IJobParallelFor -#endif + unsafe struct ConvertVector3Int16ToFloatInterleavedNormalizedJob : IJobParallelForBatch { [ReadOnly] @@ -1537,7 +1238,6 @@ unsafe struct ConvertVector3Int16ToFloatInterleavedNormalizedJob : [NativeDisableUnsafePtrRestriction] public float3* result; -#if UNITY_COLLECTIONS public void Execute(int startIndex, int count) { var resultV = (float3*)((byte*)result + startIndex * outputByteStride); @@ -1549,13 +1249,6 @@ public void Execute(int startIndex, int count) resultV = (float3*)((byte*)resultV + outputByteStride); } } -#else - public void Execute(int index) - { - var resultV = (float3*)(((byte*)result) + (index * outputByteStride)); - *resultV = input[index].GltfToUnityNormalizedFloat3(); - } -#endif } /// @@ -1563,12 +1256,7 @@ public void Execute(int index) /// Result is normalized (scaled to unit length) /// [BurstCompile] - unsafe struct ConvertNormalsInt16ToFloatInterleavedNormalizedJob : -#if UNITY_COLLECTIONS - IJobParallelForBatch -#else - IJobParallelFor -#endif + unsafe struct ConvertNormalsInt16ToFloatInterleavedNormalizedJob : IJobParallelForBatch { [ReadOnly] @@ -1581,7 +1269,6 @@ unsafe struct ConvertNormalsInt16ToFloatInterleavedNormalizedJob : [NativeDisableUnsafePtrRestriction] public float3* result; -#if UNITY_COLLECTIONS public void Execute(int startIndex, int count) { var resultV = (float3*)((byte*)result + startIndex * outputByteStride); @@ -1593,22 +1280,10 @@ public void Execute(int startIndex, int count) resultV = (float3*)((byte*)resultV + outputByteStride); } } -#else - public void Execute(int index) - { - var resultV = (float3*)(((byte*)result) + (index * outputByteStride)); - *resultV = input[index].GltfNormalToUnityFloat3(); - } -#endif } [BurstCompile] - unsafe struct ConvertPositionsInt8ToFloatInterleavedJob : -#if UNITY_COLLECTIONS - IJobParallelForBatch -#else - IJobParallelFor -#endif + unsafe struct ConvertPositionsInt8ToFloatInterleavedJob : IJobParallelForBatch { [ReadOnly] public ReadOnlyNativeStridedArray input; @@ -1620,7 +1295,6 @@ unsafe struct ConvertPositionsInt8ToFloatInterleavedJob : [NativeDisableUnsafePtrRestriction] public float3* result; -#if UNITY_COLLECTIONS public void Execute(int startIndex, int count) { var resultV = (float3*)((byte*)result + startIndex * outputByteStride); @@ -1632,13 +1306,6 @@ public void Execute(int startIndex, int count) resultV = (float3*)((byte*)resultV + outputByteStride); } } -#else - public void Execute(int index) - { - var resultV = (float3*)(((byte*)result) + (index * outputByteStride)); - *resultV = input[index].GltfToUnityFloat3(); - } -#endif } /// @@ -1646,12 +1313,7 @@ public void Execute(int index) /// Result is not normalized (scaled to unit length) /// [BurstCompile] - unsafe struct ConvertVector3Int8ToFloatInterleavedNormalizedJob : -#if UNITY_COLLECTIONS - IJobParallelForBatch -#else - IJobParallelFor -#endif + unsafe struct ConvertVector3Int8ToFloatInterleavedNormalizedJob : IJobParallelForBatch { [ReadOnly] public ReadOnlyNativeStridedArray input; @@ -1663,7 +1325,6 @@ unsafe struct ConvertVector3Int8ToFloatInterleavedNormalizedJob : [NativeDisableUnsafePtrRestriction] public float3* result; -#if UNITY_COLLECTIONS public void Execute(int startIndex, int count) { var resultV = (float3*)((byte*)result + startIndex * outputByteStride); @@ -1675,13 +1336,6 @@ public void Execute(int startIndex, int count) resultV = (float3*)((byte*)resultV + outputByteStride); } } -#else - public void Execute(int index) - { - var resultV = (float3*)(((byte*)result) + (index * outputByteStride)); - *resultV = input[index].GltfToUnityNormalizedFloat3(); - } -#endif } /// @@ -1689,12 +1343,7 @@ public void Execute(int index) /// Result is normalized (scaled to unit length) /// [BurstCompile] - unsafe struct ConvertNormalsInt8ToFloatInterleavedNormalizedJob : -#if UNITY_COLLECTIONS - IJobParallelForBatch -#else - IJobParallelFor -#endif + unsafe struct ConvertNormalsInt8ToFloatInterleavedNormalizedJob : IJobParallelForBatch { [ReadOnly] public ReadOnlyNativeStridedArray input; @@ -1706,7 +1355,6 @@ unsafe struct ConvertNormalsInt8ToFloatInterleavedNormalizedJob : [NativeDisableUnsafePtrRestriction] public float3* result; -#if UNITY_COLLECTIONS public void Execute(int startIndex, int count) { var resultV = (float3*)((byte*)result + startIndex * outputByteStride); @@ -1718,22 +1366,10 @@ public void Execute(int startIndex, int count) resultV = (float3*)((byte*)resultV + outputByteStride); } } -#else - public void Execute(int index) - { - var resultV = (float3*)(((byte*)result) + (index * outputByteStride)); - *resultV = input[index].GltfNormalToUnityFloat3(); - } -#endif } [BurstCompile] - unsafe struct ConvertPositionsUInt8ToFloatInterleavedJob : -#if UNITY_COLLECTIONS - IJobParallelForBatch -#else - IJobParallelFor -#endif + unsafe struct ConvertPositionsUInt8ToFloatInterleavedJob : IJobParallelForBatch { [ReadOnly] public ReadOnlyNativeStridedArray input; @@ -1745,7 +1381,6 @@ unsafe struct ConvertPositionsUInt8ToFloatInterleavedJob : [NativeDisableUnsafePtrRestriction] public float3* result; -#if UNITY_COLLECTIONS public void Execute(int startIndex, int count) { var resultV = (float3*)((byte*)result + startIndex * outputByteStride); @@ -1757,22 +1392,10 @@ public void Execute(int startIndex, int count) resultV = (float3*)((byte*)resultV + outputByteStride); } } -#else - public void Execute(int index) - { - var resultV = (float3*)(((byte*)result) + (index * outputByteStride)); - *resultV = input[index].GltfToUnityFloat3(); - } -#endif } [BurstCompile] - unsafe struct ConvertPositionsUInt8ToFloatInterleavedNormalizedJob : -#if UNITY_COLLECTIONS - IJobParallelForBatch -#else - IJobParallelFor -#endif + unsafe struct ConvertPositionsUInt8ToFloatInterleavedNormalizedJob : IJobParallelForBatch { [ReadOnly] public ReadOnlyNativeStridedArray input; @@ -1784,7 +1407,6 @@ unsafe struct ConvertPositionsUInt8ToFloatInterleavedNormalizedJob : [NativeDisableUnsafePtrRestriction] public float3* result; -#if UNITY_COLLECTIONS public void Execute(int startIndex, int count) { var resultV = (float3*)((byte*)result + startIndex * outputByteStride); @@ -1796,13 +1418,6 @@ public void Execute(int startIndex, int count) resultV = (float3*)((byte*)resultV + outputByteStride); } } -#else - public void Execute(int index) - { - var resultV = (float3*)(((byte*)result) + (index * outputByteStride)); - *resultV = input[index].GltfToUnityNormalizedFloat3(); - } -#endif } [BurstCompile] diff --git a/Runtime/Scripts/KtxImageLoader.cs b/Runtime/Scripts/KtxImageLoader.cs index 4c8a8e88d..8685ed2ca 100644 --- a/Runtime/Scripts/KtxImageLoader.cs +++ b/Runtime/Scripts/KtxImageLoader.cs @@ -15,8 +15,10 @@ using Unity.Collections; using UnityEngine; -namespace GLTFast { - static class KtxImageLoader { +namespace GLTFast +{ + static class KtxImageLoader + { public static async Task LoadAsync( ImportContext context, @@ -29,7 +31,8 @@ CancellationToken cancellationToken { var ktx = new KtxTexture(); var errorCode = ktx.Open(data); - if (errorCode != ErrorCode.Success) { + if (errorCode != ErrorCode.Success) + { context.Logger?.Error(LogCode.EmbedImageLoadFailed); ktx.Dispose(); return default; diff --git a/Runtime/Scripts/LightPunctualExtension.cs b/Runtime/Scripts/LightPunctualExtension.cs index a2790663d..6c3c115b4 100644 --- a/Runtime/Scripts/LightPunctualExtension.cs +++ b/Runtime/Scripts/LightPunctualExtension.cs @@ -126,16 +126,9 @@ static void LightAssignIntensity(Light lightDestination, LightPunctual lightSour var lightUnit = lightSource.GetLightType() == LightPunctual.Type.Directional ? LightUnit.Lux : LightUnit.Candela; - -#if USING_HDRP_17_OR_NEWER lightDestination.gameObject.AddComponent(); lightDestination.lightUnit = lightUnit; lightDestination.intensity = lightSource.intensity; -#else - var lightHd = lightDestination.gameObject.AddComponent(); - lightHd.lightUnit = lightUnit; - lightHd.intensity = lightSource.intensity; -#endif break; #endif default: @@ -158,14 +151,7 @@ static void LightAssignIntensity(LightPunctual lightDestination, Light lightSour break; #if USING_HDRP case RenderPipeline.HighDefinition: -#if USING_HDRP_17_OR_NEWER lightDestination.intensity = lightSource.intensity; -#else - if (lightSource.gameObject.TryGetComponent(out HDAdditionalLightData lightHd)) - lightDestination.intensity = lightHd.intensity; - else - lightDestination.intensity = 1; -#endif break; #endif default: diff --git a/Runtime/Scripts/Loading/CustomHeaderDownloadProvider.cs b/Runtime/Scripts/Loading/CustomHeaderDownloadProvider.cs index 809245988..b22cf92fa 100644 --- a/Runtime/Scripts/Loading/CustomHeaderDownloadProvider.cs +++ b/Runtime/Scripts/Loading/CustomHeaderDownloadProvider.cs @@ -73,7 +73,7 @@ public async Task RequestTexture(Uri url, bool nonReadable) { #pragma warning restore CS1998 #if UNITY_WEBREQUEST_TEXTURE - var req = new CustomHeaderTextureDownload(url,nonReadable,RegisterHttpHeaders); + var req = new CustomHeaderTextureDownload(url, nonReadable, RegisterHttpHeaders); await req.WaitAsync(); return req; #else @@ -116,7 +116,8 @@ public CustomHeaderDownload(Uri url, Action editor) /// /// Texture download that allows modifying the HTTP request before it's sent /// - public class CustomHeaderTextureDownload : AwaitableTextureDownload { + public class CustomHeaderTextureDownload : AwaitableTextureDownload + { /// /// Constructs an with a modifier @@ -124,8 +125,9 @@ public class CustomHeaderTextureDownload : AwaitableTextureDownload { /// URI to request /// If true, resulting texture is not readable (uses less memory) /// Callback that modifies the UnityWebRequest before it's sent - public CustomHeaderTextureDownload(Uri url, bool nonReadable, Action editor) { - m_Request = CreateRequest(url,nonReadable); + public CustomHeaderTextureDownload(Uri url, bool nonReadable, Action editor) + { + m_Request = CreateRequest(url, nonReadable); editor(m_Request); m_AsyncOperation = m_Request.SendWebRequest(); } diff --git a/Runtime/Scripts/Loading/DefaultDownloadProvider.cs b/Runtime/Scripts/Loading/DefaultDownloadProvider.cs index c9008e8bf..27c3771f2 100644 --- a/Runtime/Scripts/Loading/DefaultDownloadProvider.cs +++ b/Runtime/Scripts/Loading/DefaultDownloadProvider.cs @@ -40,7 +40,7 @@ public async Task RequestTexture(Uri url, bool nonReadable) { #pragma warning restore CS1998 #if UNITY_WEBREQUEST_TEXTURE - var req = new AwaitableTextureDownload(url,nonReadable); + var req = new AwaitableTextureDownload(url, nonReadable); await req.WaitAsync(); return req; #else @@ -182,20 +182,22 @@ protected virtual void Dispose(bool disposing) /// Default implementation that loads /// texture URIs via . /// - public class AwaitableTextureDownload : AwaitableDownload, ITextureDownload { + public class AwaitableTextureDownload : AwaitableDownload, ITextureDownload + { /// /// Parameter-less constructor, required for inheritance. /// - protected AwaitableTextureDownload() {} + protected AwaitableTextureDownload() { } /// /// Default constructor. /// /// Texture URI to request /// If true, resulting texture is not CPU readable (uses less memory) - public AwaitableTextureDownload(Uri url, bool nonReadable) { - Init(url,nonReadable); + public AwaitableTextureDownload(Uri url, bool nonReadable) + { + Init(url, nonReadable); } /// @@ -204,17 +206,19 @@ public AwaitableTextureDownload(Uri url, bool nonReadable) { /// Texture URI to request /// If true, resulting texture is not CPU readable (uses less memory) /// UnityWebRequest used for sending the request - protected static UnityWebRequest CreateRequest(Uri url, bool nonReadable) { - return UnityWebRequestTexture.GetTexture(url,nonReadable); + protected static UnityWebRequest CreateRequest(Uri url, bool nonReadable) + { + return UnityWebRequestTexture.GetTexture(url, nonReadable); } - void Init(Uri url, bool nonReadable) { - m_Request = CreateRequest(url,nonReadable); + void Init(Uri url, bool nonReadable) + { + m_Request = CreateRequest(url, nonReadable); m_AsyncOperation = m_Request.SendWebRequest(); } /// - public Texture2D Texture => (m_Request?.downloadHandler as DownloadHandlerTexture )?.texture; + public Texture2D Texture => (m_Request?.downloadHandler as DownloadHandlerTexture)?.texture; } #endif } diff --git a/Runtime/Scripts/Logging/CollectingLogger.cs b/Runtime/Scripts/Logging/CollectingLogger.cs index d02277732..a2827c8cf 100644 --- a/Runtime/Scripts/Logging/CollectingLogger.cs +++ b/Runtime/Scripts/Logging/CollectingLogger.cs @@ -181,8 +181,10 @@ public override int GetHashCode() var hash = new HashCode(); hash.Add(Type); hash.Add(Code); - if (Messages != null) { - foreach (var id in Messages) { + if (Messages != null) + { + foreach (var id in Messages) + { hash.Add(id); } } diff --git a/Runtime/Scripts/Logging/LogMessages.cs b/Runtime/Scripts/Logging/LogMessages.cs index 1eb48226b..72bb3416c 100644 --- a/Runtime/Scripts/Logging/LogMessages.cs +++ b/Runtime/Scripts/Logging/LogMessages.cs @@ -7,8 +7,8 @@ using System; using System.Collections.Generic; -using UnityEngine; using System.Text; +using UnityEngine; namespace GLTFast.Logging { @@ -265,6 +265,8 @@ public enum LogCode : uint ImageFormatUnsupported, /// Invalid vertex count VertexCountInvalid, + /// Could not provide data of an accessor. + AccessorAccessFailed, } /// @@ -276,6 +278,7 @@ public static class LogMessages static readonly string k_LinkProjectSetupTextureSupport = $"See {GltfGlobals.GltfPackageName}/Documentation~/ProjectSetup.md#texture-support for details."; static readonly Dictionary k_FullMessages = new Dictionary() { + { LogCode.AccessorAccessFailed, "Could not provide data for accessor {0}" }, { LogCode.AccessorAttributeTypeUnknown, "Unknown GLTFAccessorAttributeType" }, { LogCode.AccessorInconsistentUsage, "Inconsistent accessor usage {0} != {1}" }, { LogCode.AccessorsShared, @"glTF file uses certain vertex attributes/accessors across multiple meshes! diff --git a/Runtime/Scripts/Material/BuiltInMaterialGenerator.cs b/Runtime/Scripts/Material/BuiltInMaterialGenerator.cs index 8a0576b1d..488e824c8 100644 --- a/Runtime/Scripts/Material/BuiltInMaterialGenerator.cs +++ b/Runtime/Scripts/Material/BuiltInMaterialGenerator.cs @@ -200,8 +200,7 @@ public override Material GenerateMaterial( { material = GetPbrSpecularGlossinessMaterial(gltfMaterial.doubleSided); } - else - if (isUnlit) + else if (isUnlit) { material = GetUnlitMaterial(gltfMaterial.doubleSided); } diff --git a/Runtime/Scripts/Material/HighDefinitionRPMaterialGenerator.cs b/Runtime/Scripts/Material/HighDefinitionRPMaterialGenerator.cs index cb048b38f..fc89c63e6 100644 --- a/Runtime/Scripts/Material/HighDefinitionRPMaterialGenerator.cs +++ b/Runtime/Scripts/Material/HighDefinitionRPMaterialGenerator.cs @@ -13,9 +13,11 @@ using UnityEngine.Rendering.HighDefinition; using Material = UnityEngine.Material; -namespace GLTFast.Materials { +namespace GLTFast.Materials +{ - public class HighDefinitionRPMaterialGenerator : ShaderGraphMaterialGenerator { + public class HighDefinitionRPMaterialGenerator : ShaderGraphMaterialGenerator + { // ReSharper disable MemberCanBePrivate.Global @@ -52,29 +54,32 @@ public override Material GenerateMaterial(MaterialBase gltfMaterial, IGltfReadab return material; } - protected override void SetDoubleSided(Schema.MaterialBase gltfMaterial, Material material) { - base.SetDoubleSided(gltfMaterial,material); + protected override void SetDoubleSided(Schema.MaterialBase gltfMaterial, Material material) + { + base.SetDoubleSided(gltfMaterial, material); material.EnableKeyword(k_DoubleSidedOnKeyword); material.SetFloat(MaterialProperty.DoubleSidedEnable, 1); // UnityEditor.Rendering.HighDefinition.DoubleSidedNormalMode.Flip material.SetFloat(k_DoubleSidedNormalModePropId, 0); - material.SetVector(k_DoubleSidedConstantsPropId, new Vector4(-1,-1,-1,0)); + material.SetVector(k_DoubleSidedConstantsPropId, new Vector4(-1, -1, -1, 0)); material.SetFloat(MaterialProperty.CullMode, (int)CullMode.Off); material.SetFloat(CullModeForwardProperty, (int)CullMode.Off); } - protected override void SetAlphaModeMask(Schema.MaterialBase gltfMaterial, Material material) { - base.SetAlphaModeMask(gltfMaterial,material); + protected override void SetAlphaModeMask(Schema.MaterialBase gltfMaterial, Material material) + { + base.SetAlphaModeMask(gltfMaterial, material); material.SetFloat(MaterialProperty.AlphaCutoffEnable, 1); material.SetOverrideTag(MotionVectorTag, MotionVectorUser); material.SetShaderPassEnabled(MotionVectorsPass, false); - if (gltfMaterial.Extensions?.KHR_materials_unlit != null) { + if (gltfMaterial.Extensions?.KHR_materials_unlit != null) + { material.EnableKeyword(SurfaceTypeTransparentKeyword); material.EnableKeyword(DisableSsrTransparentKeyword); material.EnableKeyword(EnableFogOnTransparentKeyword); @@ -86,10 +91,10 @@ protected override void SetAlphaModeMask(Schema.MaterialBase gltfMaterial, Mater material.SetShaderPassEnabled(ShaderPassDepthOnlyPass, false); material.SetFloat(AlphaDstBlendProperty, (int)BlendMode.OneMinusSrcAlpha);//10 - material.SetOverrideTag(RenderTypeTag,TransparentRenderType); - material.SetShaderPassEnabled(DistortionVectorsPass,false); + material.SetOverrideTag(RenderTypeTag, TransparentRenderType); + material.SetShaderPassEnabled(DistortionVectorsPass, false); material.SetFloat(MaterialProperty.DstBlend, (int)BlendMode.OneMinusSrcAlpha);//10 - material.SetFloat(MaterialProperty.SrcBlend, (int) BlendMode.One); + material.SetFloat(MaterialProperty.SrcBlend, (int)BlendMode.One); // material.SetFloat(k_RenderQueueType, 4); // material.SetFloat(k_SurfaceType, 1); material.SetFloat(k_ZTestDepthEqualForOpaque, (int)CompareFunction.LessEqual); @@ -126,7 +131,8 @@ protected override Shader GetMetallicShader(MetallicShaderFeatures features) return base.GetMetallicShader(features); } - protected override void SetShaderModeBlend(Schema.MaterialBase gltfMaterial, Material material) { + protected override void SetShaderModeBlend(Schema.MaterialBase gltfMaterial, Material material) + { material.DisableKeyword(AlphaTestOnKeyword); material.EnableKeyword(SurfaceTypeTransparentKeyword); @@ -143,14 +149,14 @@ protected override void SetShaderModeBlend(Schema.MaterialBase gltfMaterial, Mat material.SetShaderPassEnabled(ShaderPassDepthOnlyPass, false); material.SetFloat(MaterialProperty.AlphaCutoffEnable, 0); - material.SetFloat(k_RenderQueueType, (int)CustomPass.RenderQueueType.PreRefraction );// 4 - material.SetFloat(MaterialProperty.SurfaceType, 1 ); + material.SetFloat(k_RenderQueueType, (int)CustomPass.RenderQueueType.PreRefraction);// 4 + material.SetFloat(MaterialProperty.SurfaceType, 1); material.SetFloat(MaterialProperty.ZWrite, 0); material.SetFloat(ZTestGBufferProperty, (int)CompareFunction.LessEqual); //4 material.SetFloat(k_ZTestDepthEqualForOpaque, (int)CompareFunction.LessEqual); //4 material.SetFloat(AlphaDstBlendProperty, (int)BlendMode.OneMinusSrcAlpha);//10 material.SetFloat(MaterialProperty.DstBlend, (int)BlendMode.OneMinusSrcAlpha);//10 - material.SetFloat(MaterialProperty.SrcBlend, (int) BlendMode.SrcAlpha);//5 + material.SetFloat(MaterialProperty.SrcBlend, (int)BlendMode.SrcAlpha);//5 material.SetFloat(MaterialProperty.EnableBlendModePreserveSpecularLighting, 0); } } diff --git a/Runtime/Scripts/Material/MaterialGenerator.cs b/Runtime/Scripts/Material/MaterialGenerator.cs index ee47d5202..8f6fbe6fa 100644 --- a/Runtime/Scripts/Material/MaterialGenerator.cs +++ b/Runtime/Scripts/Material/MaterialGenerator.cs @@ -9,8 +9,8 @@ using System; using GLTFast.Schema; -using UnityEngine; using Unity.Mathematics; +using UnityEngine; using UnityEngine.Assertions; #if USING_URP using UnityEngine.Rendering; @@ -239,7 +239,7 @@ public static IMaterialGenerator GetDefaultMaterialGenerator() #endif #if USING_URP case RenderPipeline.Universal: - var urpAsset = (UniversalRenderPipelineAsset) (QualitySettings.renderPipeline ? QualitySettings.renderPipeline : GraphicsSettings.defaultRenderPipeline); + var urpAsset = (UniversalRenderPipelineAsset)(QualitySettings.renderPipeline ? QualitySettings.renderPipeline : GraphicsSettings.defaultRenderPipeline); s_DefaultMaterialGenerator = new UniversalRPMaterialGenerator(urpAsset); return s_DefaultMaterialGenerator; #endif @@ -368,7 +368,7 @@ protected bool TrySetTexture( return true; } #if UNITY_IMAGECONVERSION - Logger?.Error(LogCode.TextureLoadFailed,textureIndex.ToString()); + Logger?.Error(LogCode.TextureLoadFailed, textureIndex.ToString()); #endif } else diff --git a/Runtime/Scripts/Material/ShaderGraphMaterialGenerator.cs b/Runtime/Scripts/Material/ShaderGraphMaterialGenerator.cs index 9f563dce6..b378cdcbc 100644 --- a/Runtime/Scripts/Material/ShaderGraphMaterialGenerator.cs +++ b/Runtime/Scripts/Material/ShaderGraphMaterialGenerator.cs @@ -19,39 +19,44 @@ using Material = UnityEngine.Material; -namespace GLTFast.Materials { +namespace GLTFast.Materials +{ using AlphaMode = MaterialBase.AlphaMode; - public class ShaderGraphMaterialGenerator : MaterialGenerator { + public class ShaderGraphMaterialGenerator : MaterialGenerator + { [Flags] - protected enum ShaderMode { + protected enum ShaderMode + { Opaque = 0, Blend = 1 << 0, Premultiply = 1 << 1, } [Flags] - protected enum MetallicShaderFeatures { + protected enum MetallicShaderFeatures + { Default = 0, // Bits 0-1 are the shader modes ModeMask = 0x3, ModeOpaque = 0, ModeFade = 1, - ModeTransparent = 1<<1, + ModeTransparent = 1 << 1, // Other flags - DoubleSided = 1<<2, - ClearCoat = 1<<3, - Sheen = 1<<4, + DoubleSided = 1 << 2, + ClearCoat = 1 << 3, + Sheen = 1 << 4, } [Flags] - protected enum SpecularShaderFeatures { + protected enum SpecularShaderFeatures + { Default = 0, - AlphaBlend = 1<<1, - DoubleSided = 1<<2 + AlphaBlend = 1 << 1, + DoubleSided = 1 << 2 } // These are used in HighDefinitionRPMaterialGenerator.cs for older versions of HDRP @@ -182,8 +187,10 @@ protected enum SpecularShaderFeatures { static bool s_UnlitShaderQueried; /// - protected override Material GenerateDefaultMaterial(bool pointsSupport = false) { - if(pointsSupport) { + protected override Material GenerateDefaultMaterial(bool pointsSupport = false) + { + if (pointsSupport) + { Logger?.Warning(LogCode.TopologyPointsMaterialUnsupported); } var defaultMaterial = GetMetallicMaterial(MetallicShaderFeatures.Default); @@ -201,7 +208,8 @@ public override Material GenerateMaterial( bool pointsSupport = false ) { - if(pointsSupport) { + if (pointsSupport) + { Logger?.Warning(LogCode.TopologyPointsMaterialUnsupported); } @@ -213,26 +221,32 @@ public override Material GenerateMaterial( bool isUnlit = gltfMaterial.Extensions?.KHR_materials_unlit != null; bool isSpecularGlossiness = gltfMaterial.Extensions?.KHR_materials_pbrSpecularGlossiness != null; - if (isUnlit) { + if (isUnlit) + { material = GetUnlitMaterial(gltfMaterial); materialType = MaterialType.Unlit; shaderMode = gltfMaterial.GetAlphaMode() == AlphaMode.Blend ? ShaderMode.Blend : ShaderMode.Opaque; - } else if (isSpecularGlossiness) { + } + else if (isSpecularGlossiness) + { materialType = MaterialType.SpecularGlossiness; var specularShaderFeatures = GetSpecularShaderFeatures(gltfMaterial); material = GetSpecularMaterial(specularShaderFeatures); material?.EnableKeyword(k_SpecularSetupKeyword); - if ((specularShaderFeatures & SpecularShaderFeatures.AlphaBlend) != 0) { + if ((specularShaderFeatures & SpecularShaderFeatures.AlphaBlend) != 0) + { shaderMode = ShaderMode.Blend; } - } else { + } + else + { materialType = MaterialType.MetallicRoughness; var metallicShaderFeatures = GetMetallicShaderFeatures(gltfMaterial); material = GetMetallicMaterial(metallicShaderFeatures); shaderMode = (ShaderMode)(metallicShaderFeatures & MetallicShaderFeatures.ModeMask); } - if(material==null) return null; + if (material == null) return null; material.name = gltfMaterial.name; @@ -240,11 +254,13 @@ public override Material GenerateMaterial( RenderQueue? renderQueue = null; //added support for KHR_materials_pbrSpecularGlossiness - if (gltfMaterial.Extensions != null) { + if (gltfMaterial.Extensions != null) + { PbrSpecularGlossiness specGloss = gltfMaterial.Extensions.KHR_materials_pbrSpecularGlossiness; - if (specGloss != null) { + if (specGloss != null) + { baseColorLinear = specGloss.DiffuseColor; - material.SetVector( MaterialProperty.DiffuseFactor, specGloss.DiffuseColor.gamma); + material.SetVector(MaterialProperty.DiffuseFactor, specGloss.DiffuseColor.gamma); material.SetVector(MaterialProperty.SpecularFactor, specGloss.SpecularColor); material.SetFloat(MaterialProperty.GlossinessFactor, specGloss.glossinessFactor); @@ -273,14 +289,15 @@ public override Material GenerateMaterial( } } - if (gltfMaterial.PbrMetallicRoughness!=null + if (gltfMaterial.PbrMetallicRoughness != null // If there's a specular-glossiness extension, ignore metallic-roughness // (according to extension specification) && gltfMaterial.Extensions?.KHR_materials_pbrSpecularGlossiness == null) { baseColorLinear = gltfMaterial.PbrMetallicRoughness.BaseColor; - if (materialType != MaterialType.SpecularGlossiness) { + if (materialType != MaterialType.SpecularGlossiness) + { // baseColorTexture can be used by both MetallicRoughness AND Unlit materials TrySetTexture( gltfMaterial.PbrMetallicRoughness.BaseColorTexture, @@ -293,12 +310,12 @@ public override Material GenerateMaterial( ); } - if (materialType==MaterialType.MetallicRoughness) + if (materialType == MaterialType.MetallicRoughness) { - material.SetFloat(MaterialProperty.Metallic, gltfMaterial.PbrMetallicRoughness.metallicFactor ); - material.SetFloat(MaterialProperty.RoughnessFactor, gltfMaterial.PbrMetallicRoughness.roughnessFactor ); + material.SetFloat(MaterialProperty.Metallic, gltfMaterial.PbrMetallicRoughness.metallicFactor); + material.SetFloat(MaterialProperty.RoughnessFactor, gltfMaterial.PbrMetallicRoughness.roughnessFactor); - if(TrySetTexture( + if (TrySetTexture( gltfMaterial.PbrMetallicRoughness.MetallicRoughnessTexture, material, gltf, @@ -306,7 +323,8 @@ public override Material GenerateMaterial( MaterialProperty.MetallicRoughnessMapScaleTransform, MaterialProperty.MetallicRoughnessMapRotation, MaterialProperty.MetallicRoughnessMapTexCoord - )) { + )) + { // material.EnableKeyword(KW_METALLIC_ROUGHNESS_MAP); } @@ -317,7 +335,7 @@ public override Material GenerateMaterial( } } - if(TrySetTexture( + if (TrySetTexture( gltfMaterial.NormalTexture, material, gltf, @@ -325,12 +343,13 @@ public override Material GenerateMaterial( MaterialProperty.NormalTextureScaleTransform, MaterialProperty.NormalTextureRotation, MaterialProperty.NormalTextureTexCoord - )) { + )) + { // material.EnableKeyword(ShaderKeyword.normalMap); - material.SetFloat(MaterialProperty.NormalTextureScale,gltfMaterial.NormalTexture.scale); + material.SetFloat(MaterialProperty.NormalTextureScale, gltfMaterial.NormalTexture.scale); } - if(TrySetTexture( + if (TrySetTexture( gltfMaterial.OcclusionTexture, material, gltf, @@ -338,12 +357,13 @@ public override Material GenerateMaterial( MaterialProperty.OcclusionTextureScaleTransform, MaterialProperty.OcclusionTextureRotation, MaterialProperty.OcclusionTextureTexCoord - )) { + )) + { material.EnableKeyword(k_OcclusionKeyword); - material.SetFloat(MaterialProperty.OcclusionTextureStrength,gltfMaterial.OcclusionTexture.strength); + material.SetFloat(MaterialProperty.OcclusionTextureStrength, gltfMaterial.OcclusionTexture.strength); } - if(TrySetTexture( + if (TrySetTexture( gltfMaterial.EmissiveTexture, material, gltf, @@ -351,50 +371,63 @@ public override Material GenerateMaterial( MaterialProperty.EmissiveTextureScaleTransform, MaterialProperty.EmissiveTextureRotation, MaterialProperty.EmissiveTextureTexCoord - )) { + )) + { material.EnableKeyword(k_EmissiveKeyword); } - if (gltfMaterial.Extensions != null) { + if (gltfMaterial.Extensions != null) + { // Transmission - Approximation var transmission = gltfMaterial.Extensions.KHR_materials_transmission; - if (transmission != null) { + if (transmission != null) + { renderQueue = ApplyTransmission(ref baseColorLinear, gltf, transmission, material, null); } } - if (gltfMaterial.GetAlphaMode() == AlphaMode.Mask) { + if (gltfMaterial.GetAlphaMode() == AlphaMode.Mask) + { SetAlphaModeMask(gltfMaterial, material); #if USING_HDRP - if (gltfMaterial.Extensions?.KHR_materials_unlit != null) { - renderQueue = RenderQueue.Transparent; - } else -#endif + renderQueue = gltfMaterial.Extensions?.KHR_materials_unlit == null + ? RenderQueue.AlphaTest + : RenderQueue.Transparent; +#else renderQueue = RenderQueue.AlphaTest; - } else { +#endif + } + else + { material.SetFloat(MaterialProperty.AlphaCutoff, 0); // double sided opaque would make errors in HDRP 7.3 otherwise - material.SetOverrideTag(MotionVectorTag,MotionVectorUser); - material.SetShaderPassEnabled(MotionVectorsPass,false); + material.SetOverrideTag(MotionVectorTag, MotionVectorUser); + material.SetShaderPassEnabled(MotionVectorsPass, false); } - if (!renderQueue.HasValue) { - if(shaderMode == ShaderMode.Opaque) { + if (!renderQueue.HasValue) + { + if (shaderMode == ShaderMode.Opaque) + { renderQueue = gltfMaterial.GetAlphaMode() == AlphaMode.Mask ? RenderQueue.AlphaTest : RenderQueue.Geometry; - } else { + } + else + { renderQueue = RenderQueue.Transparent; } } - material.renderQueue = (int) renderQueue.Value; + material.renderQueue = (int)renderQueue.Value; - if (gltfMaterial.doubleSided) { + if (gltfMaterial.doubleSided) + { SetDoubleSided(gltfMaterial, material); } - switch (shaderMode) { + switch (shaderMode) + { case ShaderMode.Opaque: SetShaderModeOpaque(gltfMaterial, material); break; @@ -408,7 +441,8 @@ public override Material GenerateMaterial( material.SetVector(MaterialProperty.BaseColor, baseColorLinear.gamma); - if(gltfMaterial.Emissive != Color.black) { + if (gltfMaterial.Emissive != Color.black) + { material.SetColor(MaterialProperty.EmissiveFactor, gltfMaterial.Emissive); material.EnableKeyword(k_EmissiveKeyword); } @@ -448,9 +482,11 @@ public override Material GenerateMaterial( return material; } - Material GetMetallicMaterial( MetallicShaderFeatures metallicShaderFeatures ) { + Material GetMetallicMaterial(MetallicShaderFeatures metallicShaderFeatures) + { Shader shader = GetMetallicShader(metallicShaderFeatures); - if(shader==null) { + if (shader == null) + { return null; } var mat = new Material(shader); @@ -463,7 +499,8 @@ Material GetMetallicMaterial( MetallicShaderFeatures metallicShaderFeatures ) { Material GetUnlitMaterial(MaterialBase gltfMaterial) { Shader shader = GetUnlitShader(gltfMaterial); - if(shader==null) { + if (shader == null) + { return null; } var mat = new Material(shader); @@ -473,9 +510,11 @@ Material GetUnlitMaterial(MaterialBase gltfMaterial) return mat; } - Material GetSpecularMaterial(SpecularShaderFeatures features) { + Material GetSpecularMaterial(SpecularShaderFeatures features) + { var shader = GetSpecularShader(features); - if(shader==null) { + if (shader == null) + { return null; } var mat = new Material(shader); @@ -488,7 +527,8 @@ Material GetSpecularMaterial(SpecularShaderFeatures features) { // ReSharper disable once UnusedParameter.Local protected virtual Shader GetMetallicShader(MetallicShaderFeatures features) { - if (!s_MetallicShaderQueried) { + if (!s_MetallicShaderQueried) + { #if UNITY_EDITOR s_MetallicShader = LoadShaderByGuid(new GUID(k_MetallicShaderGuid)); #else @@ -500,8 +540,10 @@ protected virtual Shader GetMetallicShader(MetallicShaderFeatures features) } // ReSharper disable once UnusedParameter.Local - Shader GetUnlitShader(MaterialBase gltfMaterial) { - if (!s_UnlitShaderQueried) { + Shader GetUnlitShader(MaterialBase gltfMaterial) + { + if (!s_UnlitShaderQueried) + { #if UNITY_EDITOR s_UnlitShader = LoadShaderByGuid(new GUID(k_UnlitShaderGuid)); #else @@ -514,8 +556,10 @@ Shader GetUnlitShader(MaterialBase gltfMaterial) { // ReSharper disable once UnusedParameter.Local - Shader GetSpecularShader(SpecularShaderFeatures features) { - if (!s_SpecularShaderQueried) { + Shader GetSpecularShader(SpecularShaderFeatures features) + { + if (!s_SpecularShaderQueried) + { #if UNITY_EDITOR s_SpecularShader = LoadShaderByGuid(new GUID(k_SpecularShaderGuid)); #else @@ -538,11 +582,13 @@ protected static Shader LoadShaderByGuid(GUID guid) /// /// The requested shader's name. /// Requested shader or null if it couldn't be loaded. - protected virtual Shader LoadShaderByName(string shaderName) { + protected virtual Shader LoadShaderByName(string shaderName) + { #if UNITY_EDITOR var shaderPath = $"{k_ShaderPathPrefix}{shaderName}.shadergraph"; var shader = AssetDatabase.LoadAssetAtPath(shaderPath); - if (shader == null) { + if (shader == null) + { Logger?.Error(LogCode.ShaderMissing, shaderPath); } return shader; @@ -551,11 +597,13 @@ protected virtual Shader LoadShaderByName(string shaderName) { #endif } - protected virtual void SetDoubleSided(MaterialBase gltfMaterial, Material material) { + protected virtual void SetDoubleSided(MaterialBase gltfMaterial, Material material) + { material.doubleSidedGI = true; } - protected virtual void SetAlphaModeMask(MaterialBase gltfMaterial, Material material) { + protected virtual void SetAlphaModeMask(MaterialBase gltfMaterial, Material material) + { material.SetFloat(MaterialProperty.AlphaCutoff, gltfMaterial.alphaCutoff); material.EnableKeyword(AlphaTestOnKeyword); material.SetOverrideTag(RenderTypeTag, TransparentCutoutRenderType); @@ -581,7 +629,7 @@ protected virtual void SetShaderModePremultiply(MaterialBase gltfMaterial, Mater // Correct transmission is not supported in Built-In renderer // This is an approximation for some corner cases if (transmission.transmissionFactor > 0f - && ( transmission.transmissionTexture == null + && (transmission.transmissionTexture == null || transmission.transmissionTexture.index < 0) ) { @@ -590,12 +638,14 @@ protected virtual void SetShaderModePremultiply(MaterialBase gltfMaterial, Mater return renderQueue; } - protected MetallicShaderFeatures GetMetallicShaderFeatures(MaterialBase gltfMaterial) { + protected MetallicShaderFeatures GetMetallicShaderFeatures(MaterialBase gltfMaterial) + { var feature = MetallicShaderFeatures.Default; ShaderMode? sm = null; - if (gltfMaterial.Extensions != null) { + if (gltfMaterial.Extensions != null) + { if (gltfMaterial.Extensions.KHR_materials_clearcoat != null && gltfMaterial.Extensions.KHR_materials_clearcoat.clearcoatFactor > 0) feature |= MetallicShaderFeatures.ClearCoat; @@ -605,14 +655,16 @@ protected MetallicShaderFeatures GetMetallicShaderFeatures(MaterialBase gltfMate if ( gltfMaterial.Extensions.KHR_materials_transmission != null && gltfMaterial.Extensions.KHR_materials_transmission.transmissionFactor > 0 - ) { + ) + { sm = ApplyTransmissionShaderFeatures(gltfMaterial); } } if (gltfMaterial.doubleSided) feature |= MetallicShaderFeatures.DoubleSided; - if (!sm.HasValue) { + if (!sm.HasValue) + { sm = gltfMaterial.GetAlphaMode() == AlphaMode.Blend ? ShaderMode.Blend : ShaderMode.Opaque; } @@ -621,7 +673,8 @@ protected MetallicShaderFeatures GetMetallicShaderFeatures(MaterialBase gltfMate return feature; } - protected virtual ShaderMode? ApplyTransmissionShaderFeatures(MaterialBase gltfMaterial) { + protected virtual ShaderMode? ApplyTransmissionShaderFeatures(MaterialBase gltfMaterial) + { // Makeshift approximation Color baseColorLinear = Color.white; var premultiply = TransmissionWorkaroundShaderMode( @@ -632,12 +685,14 @@ ref baseColorLinear return sm; } - static SpecularShaderFeatures GetSpecularShaderFeatures(MaterialBase gltfMaterial) { + static SpecularShaderFeatures GetSpecularShaderFeatures(MaterialBase gltfMaterial) + { var feature = SpecularShaderFeatures.Default; if (gltfMaterial.doubleSided) feature |= SpecularShaderFeatures.DoubleSided; - if (gltfMaterial.GetAlphaMode() == AlphaMode.Blend) { + if (gltfMaterial.GetAlphaMode() == AlphaMode.Blend) + { feature |= SpecularShaderFeatures.AlphaBlend; } return feature; diff --git a/Runtime/Scripts/Material/UniveralRPMaterialGenerator.cs b/Runtime/Scripts/Material/UniveralRPMaterialGenerator.cs index 59c63737a..fb781a144 100644 --- a/Runtime/Scripts/Material/UniveralRPMaterialGenerator.cs +++ b/Runtime/Scripts/Material/UniveralRPMaterialGenerator.cs @@ -15,9 +15,11 @@ using Material = UnityEngine.Material; -namespace GLTFast.Materials { +namespace GLTFast.Materials +{ - public class UniversalRPMaterialGenerator : ShaderGraphMaterialGenerator { + public class UniversalRPMaterialGenerator : ShaderGraphMaterialGenerator + { // Keywords const string k_TransmissionKeyword = "_TRANSMISSION"; @@ -34,21 +36,25 @@ public class UniversalRPMaterialGenerator : ShaderGraphMaterialGenerator { bool m_SupportsCameraOpaqueTexture; - public UniversalRPMaterialGenerator(UniversalRenderPipelineAsset renderPipelineAsset) { + public UniversalRPMaterialGenerator(UniversalRenderPipelineAsset renderPipelineAsset) + { m_SupportsCameraOpaqueTexture = renderPipelineAsset.supportsCameraOpaqueTexture; } - protected override void SetDoubleSided(MaterialBase gltfMaterial, Material material) { - base.SetDoubleSided(gltfMaterial,material); + protected override void SetDoubleSided(MaterialBase gltfMaterial, Material material) + { + base.SetDoubleSided(gltfMaterial, material); material.SetFloat(MaterialProperty.Cull, (int)CullMode.Off); } - protected override void SetAlphaModeMask(MaterialBase gltfMaterial, Material material) { + protected override void SetAlphaModeMask(MaterialBase gltfMaterial, Material material) + { base.SetAlphaModeMask(gltfMaterial, material); material.SetFloat(MaterialProperty.AlphaClip, 1); } - protected override void SetShaderModeBlend(MaterialBase gltfMaterial, Material material) { + protected override void SetShaderModeBlend(MaterialBase gltfMaterial, Material material) + { material.SetOverrideTag(RenderTypeTag, TransparentRenderType); material.EnableKeyword(SurfaceTypeTransparentKeyword); material.EnableKeyword(DisableSsrTransparentKeyword); @@ -58,7 +64,7 @@ protected override void SetShaderModeBlend(MaterialBase gltfMaterial, Material m material.SetShaderPassEnabled(ShaderPassTransparentBackface, false); material.SetShaderPassEnabled(ShaderPassRayTracingPrepass, false); material.SetShaderPassEnabled(ShaderPassDepthOnlyPass, false); - material.SetFloat(MaterialProperty.SrcBlend, (int) BlendMode.SrcAlpha);//5 + material.SetFloat(MaterialProperty.SrcBlend, (int)BlendMode.SrcAlpha);//5 material.SetFloat(MaterialProperty.DstBlend, (int)BlendMode.OneMinusSrcAlpha);//10 material.SetFloat(ZTestGBufferProperty, (int)CompareFunction.Equal); //3 material.SetFloat(AlphaDstBlendProperty, (int)BlendMode.OneMinusSrcAlpha);//10 @@ -95,8 +101,10 @@ protected override Shader GetMetallicShader(MetallicShaderFeatures features) return base.GetMetallicShader(features); } - protected override ShaderMode? ApplyTransmissionShaderFeatures(MaterialBase gltfMaterial) { - if (!m_SupportsCameraOpaqueTexture) { + protected override ShaderMode? ApplyTransmissionShaderFeatures(MaterialBase gltfMaterial) + { + if (!m_SupportsCameraOpaqueTexture) + { // Fall back to makeshift approximation via premultiply or blend return base.ApplyTransmissionShaderFeatures(gltfMaterial); } @@ -117,9 +125,12 @@ protected override Shader GetMetallicShader(MetallicShaderFeatures features) Transmission transmission, Material material, RenderQueue? renderQueue - ) { - if (m_SupportsCameraOpaqueTexture) { - if (transmission.transmissionFactor > 0f) { + ) + { + if (m_SupportsCameraOpaqueTexture) + { + if (transmission.transmissionFactor > 0f) + { material.EnableKeyword(k_TransmissionKeyword); material.SetFloat(TransmissionFactorProperty, transmission.transmissionFactor); renderQueue = RenderQueue.Transparent; @@ -128,9 +139,9 @@ protected override Shader GetMetallicShader(MetallicShaderFeatures features) material, gltf, TransmissionTextureProperty - // TransmissionTextureScaleTransformProperty, // TODO: add support in shader - // TransmissionTextureRotationProperty, // TODO: add support in shader - // TransmissionTextureUVChannelProperty // TODO: add support in shader + // TransmissionTextureScaleTransformProperty, // TODO: add support in shader + // TransmissionTextureRotationProperty, // TODO: add support in shader + // TransmissionTextureUVChannelProperty // TODO: add support in shader )) { } } return renderQueue; diff --git a/Runtime/Scripts/MaterialsVariants/MaterialsVariantsControl.cs b/Runtime/Scripts/MaterialsVariants/MaterialsVariantsControl.cs index 49c0f8563..db368a726 100644 --- a/Runtime/Scripts/MaterialsVariants/MaterialsVariantsControl.cs +++ b/Runtime/Scripts/MaterialsVariants/MaterialsVariantsControl.cs @@ -18,7 +18,11 @@ public class MaterialsVariantsControl : IMaterialsVariantsProvider IMaterialProvider m_MaterialProvider; IReadOnlyCollection m_Slots; - int m_CurrentVariantIndex; + /// + /// Current materials variant index. + /// Negative, if no variant is active. + /// + public int CurrentVariantIndex { get; private set; } = -1; internal MaterialsVariantsControl(IMaterialProvider materialProvider, IReadOnlyCollection slots) { @@ -42,7 +46,7 @@ public async Task ApplyMaterialsVariantAsync(int variantIndex, CancellationToken } await Task.WhenAll(tasks); - m_CurrentVariantIndex = variantIndex; + CurrentVariantIndex = variantIndex; } /// diff --git a/Runtime/Scripts/MeshGenerator.cs b/Runtime/Scripts/MeshGenerator.cs index 9e8ef9315..4ab0825e2 100644 --- a/Runtime/Scripts/MeshGenerator.cs +++ b/Runtime/Scripts/MeshGenerator.cs @@ -11,10 +11,10 @@ using Unity.Collections.LowLevel.Unsafe; using Unity.Jobs; using Unity.Mathematics; -using UnityEngine.Profiling; -using UnityEngine.Rendering; using UnityEngine; using UnityEngine.Assertions; +using UnityEngine.Profiling; +using UnityEngine.Rendering; using Mesh = UnityEngine.Mesh; namespace GLTFast @@ -32,6 +32,11 @@ class MeshGenerator : MeshGeneratorBase int SubMeshCount => m_SubMeshAssignments?.Length ?? m_Primitives.Count; + MeshPrimitiveBase GetSubMesh(int index) => + m_SubMeshAssignments == null + ? m_Primitives[index] + : m_SubMeshAssignments[index].Primitive; + public MeshGenerator( IReadOnlyList primitives, SubMeshAssignment[] subMeshAssignments, @@ -113,8 +118,10 @@ out bool hasTangents mainBufferType = MainBufferType.PosNorm; Profiler.BeginSample("LoadAccessorData.ScheduleVertexJob"); - foreach (var primitive in IterateSubMeshes()) + + for (var i = 0; i < SubMeshCount; i++) { + var primitive = GetSubMesh(i); if (primitive.mode == DrawMode.Triangles || primitive.mode == DrawMode.TriangleFan || primitive.mode == DrawMode.TriangleStrip) @@ -199,8 +206,9 @@ async Task GenerateMesh(IGltfBuffers buffers, ICodeLogger logger) return null; var indexFormat = IndexFormat.UInt16; - foreach (var primitive in m_Primitives) + for (var i = 0; i < SubMeshCount; i++) { + var primitive = GetSubMesh(i); if (primitive.indices >= 0) { var accessor = buffers.GetAccessor(primitive.indices); @@ -224,8 +232,9 @@ async Task GenerateMesh(IGltfBuffers buffers, ICodeLogger logger) m_Indices = new IndicesData(indexFormat, SubMeshCount); var tmpList = new List(SubMeshCount); - foreach (var (subMeshIndex, primitive) in IterateSubMeshesIndexed()) + for (var subMeshIndex = 0; subMeshIndex < SubMeshCount; subMeshIndex++) { + var primitive = GetSubMesh(subMeshIndex); if (primitive.indices >= 0) { var flip = primitive.mode == DrawMode.Triangles; @@ -536,40 +545,6 @@ async Task CreateMeshResultAsync(ICodeLogger logger) return msh; } - IEnumerable<(int index, MeshPrimitiveBase primitive)> IterateSubMeshesIndexed() - { - if (m_SubMeshAssignments == null) - { - for (var index = 0; index < m_Primitives.Count; index++) - { - var primitive = m_Primitives[index]; - yield return (index, primitive); - } - } - else - { - for (var index = 0; index < m_SubMeshAssignments.Length; index++) - { - var subMesh = m_SubMeshAssignments[index]; - yield return (index, subMesh.Primitive); - } - } - } - - IEnumerable IterateSubMeshes() - { - if (m_SubMeshAssignments == null) - { - foreach (var primitive in m_Primitives) - yield return primitive; - } - else - { - foreach (var subMesh in m_SubMeshAssignments) - yield return subMesh.Primitive; - } - } - protected override void Dispose(bool disposing) { base.Dispose(disposing); diff --git a/Runtime/Scripts/MeshGeneratorBase.cs b/Runtime/Scripts/MeshGeneratorBase.cs index 0cd66829c..3432e1f4f 100644 --- a/Runtime/Scripts/MeshGeneratorBase.cs +++ b/Runtime/Scripts/MeshGeneratorBase.cs @@ -3,8 +3,8 @@ using System; using System.Threading; -using UnityEngine.Rendering; using System.Threading.Tasks; +using UnityEngine.Rendering; namespace GLTFast { diff --git a/Runtime/Scripts/MorphTargetsGenerator.cs b/Runtime/Scripts/MorphTargetsGenerator.cs index 836dc084c..02f221fbd 100644 --- a/Runtime/Scripts/MorphTargetsGenerator.cs +++ b/Runtime/Scripts/MorphTargetsGenerator.cs @@ -3,6 +3,7 @@ using System; using System.Runtime.InteropServices; +using System.Threading.Tasks; using GLTFast.Schema; using Unity.Collections; using Unity.Jobs; @@ -10,7 +11,6 @@ using UnityEngine; using UnityEngine.Profiling; using Mesh = UnityEngine.Mesh; -using System.Threading.Tasks; namespace GLTFast { diff --git a/Runtime/Scripts/NativeArrayPool.cs b/Runtime/Scripts/NativeArrayPool.cs new file mode 100644 index 000000000..594db0594 --- /dev/null +++ b/Runtime/Scripts/NativeArrayPool.cs @@ -0,0 +1,75 @@ +// SPDX-FileCopyrightText: 2026 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +#if UNITY_ANIMATION && UNITY_6000_2_OR_NEWER + +using System; +using Unity.Collections; +using UnityEngine.Assertions; +using UnityEngine.Profiling; + +namespace GLTFast +{ + /// + /// Manages a pool of re-usable arrays. + /// Arrays are temporary and have to get disposed within the same frame. + /// Do not use any one of those arrays concurrently! + /// + /// Member type. + sealed class NativeArrayPool : IDisposable where T : struct + { + readonly NativeArray[] m_Buffers; + + public NativeArrayPool(int maxDimensions) { + m_Buffers = new NativeArray[maxDimensions]; + } + + public ref NativeArray GetBuffer(int dimension) + { + Assert.IsTrue(dimension < m_Buffers.Length); + return ref m_Buffers[dimension]; + } + + public void ReserveBuffers(int length, int dimensions) + { + Assert.IsTrue(dimensions <= m_Buffers.Length); + Profiler.BeginSample("NativeArrayPool.ReserveBuffers"); + for (var dimension = 0; dimension < dimensions; dimension++) + { + if (!m_Buffers[dimension].IsCreated) + { + m_Buffers[dimension] = new NativeArray( + length, + Allocator.Temp, + NativeArrayOptions.UninitializedMemory + ); + continue; + } + + if (m_Buffers[dimension].Length < length) + { + m_Buffers[dimension].Dispose(); + m_Buffers[dimension] = new NativeArray( + length, + Allocator.Temp, + NativeArrayOptions.UninitializedMemory + ); + } + } + Profiler.EndSample(); + } + + public void Dispose() + { + for (var i = 0; i < m_Buffers.Length; i++) + { + if (m_Buffers[i].IsCreated) + { + m_Buffers[i].Dispose(); + } + m_Buffers[i] = default; + } + } + } +} +#endif // UNITY_ANIMATION diff --git a/Runtime/Scripts/NativeArrayPool.cs.meta b/Runtime/Scripts/NativeArrayPool.cs.meta new file mode 100644 index 000000000..1ccb3de24 --- /dev/null +++ b/Runtime/Scripts/NativeArrayPool.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: b3bd267ddd174a3a80196b690a5a32ee +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/Newtonsoft/GltfImport.cs b/Runtime/Scripts/Newtonsoft/GltfImport.cs index 6bba7ff07..9a6713c27 100644 --- a/Runtime/Scripts/Newtonsoft/GltfImport.cs +++ b/Runtime/Scripts/Newtonsoft/GltfImport.cs @@ -25,7 +25,7 @@ public GltfImport( IDeferAgent deferAgent = null, IMaterialGenerator materialGenerator = null, ICodeLogger logger = null - ) : base(downloadProvider,deferAgent,materialGenerator, logger) { } + ) : base(downloadProvider, deferAgent, materialGenerator, logger) { } protected override RootBase ParseJson(string json) { diff --git a/Runtime/Scripts/Newtonsoft/Schema/Accessor.cs b/Runtime/Scripts/Newtonsoft/Schema/Accessor.cs index 7cef23565..d94af7d2e 100644 --- a/Runtime/Scripts/Newtonsoft/Schema/Accessor.cs +++ b/Runtime/Scripts/Newtonsoft/Schema/Accessor.cs @@ -21,7 +21,7 @@ public class Accessor : AccessorBase, IJsonObject IDictionary m_JsonExtensionData; [Preserve] - public Accessor() {} + public Accessor() { } public bool TryGetValue(string key, out T value) { diff --git a/Runtime/Scripts/Newtonsoft/Schema/AccessorSparse.cs b/Runtime/Scripts/Newtonsoft/Schema/AccessorSparse.cs index 243aded98..3675f081f 100644 --- a/Runtime/Scripts/Newtonsoft/Schema/AccessorSparse.cs +++ b/Runtime/Scripts/Newtonsoft/Schema/AccessorSparse.cs @@ -12,7 +12,7 @@ namespace GLTFast.Newtonsoft.Schema { - public class AccessorSparse : AccessorSparseBase, IJsonObject + public class AccessorSparse : AccessorSparseBase, IJsonObject { public UnclassifiedData extras; public UnclassifiedData extensions; @@ -21,7 +21,7 @@ public class AccessorSparse : AccessorSparseBase m_JsonExtensionData; [Preserve] - public AccessorSparse() {} + public AccessorSparse() { } public bool TryGetValue(string key, out T value) { diff --git a/Runtime/Scripts/Newtonsoft/Schema/AccessorSparseIndices.cs b/Runtime/Scripts/Newtonsoft/Schema/AccessorSparseIndices.cs index 7d43119d5..ee1de2ee6 100644 --- a/Runtime/Scripts/Newtonsoft/Schema/AccessorSparseIndices.cs +++ b/Runtime/Scripts/Newtonsoft/Schema/AccessorSparseIndices.cs @@ -21,7 +21,7 @@ public class AccessorSparseIndices : GLTFast.Schema.AccessorSparseIndices, IJson IDictionary m_JsonExtensionData; [Preserve] - public AccessorSparseIndices() {} + public AccessorSparseIndices() { } public bool TryGetValue(string key, out T value) { diff --git a/Runtime/Scripts/Newtonsoft/Schema/AccessorSparseValues.cs b/Runtime/Scripts/Newtonsoft/Schema/AccessorSparseValues.cs index 895c01b14..f282d44d7 100644 --- a/Runtime/Scripts/Newtonsoft/Schema/AccessorSparseValues.cs +++ b/Runtime/Scripts/Newtonsoft/Schema/AccessorSparseValues.cs @@ -21,7 +21,7 @@ public class AccessorSparseValues : GLTFast.Schema.AccessorSparseValues, IJsonOb IDictionary m_JsonExtensionData; [Preserve] - public AccessorSparseValues() {} + public AccessorSparseValues() { } public bool TryGetValue(string key, out T value) { diff --git a/Runtime/Scripts/Newtonsoft/Schema/AnimationChannel.cs b/Runtime/Scripts/Newtonsoft/Schema/AnimationChannel.cs index d5bbef7f3..7e6824159 100644 --- a/Runtime/Scripts/Newtonsoft/Schema/AnimationChannel.cs +++ b/Runtime/Scripts/Newtonsoft/Schema/AnimationChannel.cs @@ -1,7 +1,7 @@ // SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 -#if UNITY_ANIMATION && NEWTONSOFT_JSON +#if (UNITY_ANIMATION || GLTFAST_ANIMATION) && NEWTONSOFT_JSON using System.Collections.Generic; @@ -21,7 +21,7 @@ public class AnimationChannel : AnimationChannelBase, IJ IDictionary m_JsonExtensionData; [Preserve] - public AnimationChannel() {} + public AnimationChannel() { } public bool TryGetValue(string key, out T value) { diff --git a/Runtime/Scripts/Newtonsoft/Schema/AnimationChannelTarget.cs b/Runtime/Scripts/Newtonsoft/Schema/AnimationChannelTarget.cs index afcc71ad2..77411ea42 100644 --- a/Runtime/Scripts/Newtonsoft/Schema/AnimationChannelTarget.cs +++ b/Runtime/Scripts/Newtonsoft/Schema/AnimationChannelTarget.cs @@ -1,7 +1,7 @@ // SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 -#if UNITY_ANIMATION && NEWTONSOFT_JSON +#if (UNITY_ANIMATION || GLTFAST_ANIMATION) && NEWTONSOFT_JSON using System.Collections.Generic; @@ -21,7 +21,7 @@ public class AnimationChannelTarget : GLTFast.Schema.AnimationChannelTarget, IJs IDictionary m_JsonExtensionData; [Preserve] - public AnimationChannelTarget() {} + public AnimationChannelTarget() { } public bool TryGetValue(string key, out T value) { diff --git a/Runtime/Scripts/Newtonsoft/Schema/AnimationSampler.cs b/Runtime/Scripts/Newtonsoft/Schema/AnimationSampler.cs index 5c8400a8c..45d93a9a5 100644 --- a/Runtime/Scripts/Newtonsoft/Schema/AnimationSampler.cs +++ b/Runtime/Scripts/Newtonsoft/Schema/AnimationSampler.cs @@ -1,7 +1,7 @@ // SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 -#if UNITY_ANIMATION && NEWTONSOFT_JSON +#if (UNITY_ANIMATION || GLTFAST_ANIMATION) && NEWTONSOFT_JSON using System.Collections.Generic; @@ -21,7 +21,7 @@ public class AnimationSampler : GLTFast.Schema.AnimationSampler, IJsonObject IDictionary m_JsonExtensionData; [Preserve] - public AnimationSampler() {} + public AnimationSampler() { } public bool TryGetValue(string key, out T value) { diff --git a/Runtime/Scripts/Newtonsoft/Schema/Asset.cs b/Runtime/Scripts/Newtonsoft/Schema/Asset.cs index 7a47d9177..df21867ef 100644 --- a/Runtime/Scripts/Newtonsoft/Schema/Asset.cs +++ b/Runtime/Scripts/Newtonsoft/Schema/Asset.cs @@ -21,7 +21,7 @@ public class Asset : GLTFast.Schema.Asset, IJsonObject IDictionary m_JsonExtensionData; [Preserve] - public Asset() {} + public Asset() { } public bool TryGetValue(string key, out T value) { diff --git a/Runtime/Scripts/Newtonsoft/Schema/Buffer.cs b/Runtime/Scripts/Newtonsoft/Schema/Buffer.cs index 37e54c570..62be33300 100644 --- a/Runtime/Scripts/Newtonsoft/Schema/Buffer.cs +++ b/Runtime/Scripts/Newtonsoft/Schema/Buffer.cs @@ -21,7 +21,7 @@ public class Buffer : GLTFast.Schema.Buffer, IJsonObject IDictionary m_JsonExtensionData; [Preserve] - public Buffer() {} + public Buffer() { } public bool TryGetValue(string key, out T value) { diff --git a/Runtime/Scripts/Newtonsoft/Schema/BufferView.cs b/Runtime/Scripts/Newtonsoft/Schema/BufferView.cs index 36735cd5c..8ece6ecfb 100644 --- a/Runtime/Scripts/Newtonsoft/Schema/BufferView.cs +++ b/Runtime/Scripts/Newtonsoft/Schema/BufferView.cs @@ -20,7 +20,7 @@ public class BufferView : BufferViewBase, IJsonObject IDictionary m_JsonExtensionData; [Preserve] - public BufferView() {} + public BufferView() { } public bool TryGetValue(string key, out T value) { diff --git a/Runtime/Scripts/Newtonsoft/Schema/BufferViewExtensions.cs b/Runtime/Scripts/Newtonsoft/Schema/BufferViewExtensions.cs index ad1afa382..f8047a31e 100644 --- a/Runtime/Scripts/Newtonsoft/Schema/BufferViewExtensions.cs +++ b/Runtime/Scripts/Newtonsoft/Schema/BufferViewExtensions.cs @@ -18,7 +18,7 @@ public class BufferViewExtensions : GLTFast.Schema.BufferViewExtensions, IJsonOb IDictionary m_JsonExtensionData; [Preserve] - public BufferViewExtensions() {} + public BufferViewExtensions() { } public bool TryGetValue(string key, out T value) { diff --git a/Runtime/Scripts/Newtonsoft/Schema/CameraOrthographic.cs b/Runtime/Scripts/Newtonsoft/Schema/CameraOrthographic.cs index b8c47f75f..6035675fb 100644 --- a/Runtime/Scripts/Newtonsoft/Schema/CameraOrthographic.cs +++ b/Runtime/Scripts/Newtonsoft/Schema/CameraOrthographic.cs @@ -21,7 +21,7 @@ public class CameraOrthographic : GLTFast.Schema.CameraOrthographic, IJsonObject IDictionary m_JsonExtensionData; [Preserve] - public CameraOrthographic() {} + public CameraOrthographic() { } public bool TryGetValue(string key, out T value) { diff --git a/Runtime/Scripts/Newtonsoft/Schema/CameraPerspective.cs b/Runtime/Scripts/Newtonsoft/Schema/CameraPerspective.cs index f3bdf4bc9..c55a617ee 100644 --- a/Runtime/Scripts/Newtonsoft/Schema/CameraPerspective.cs +++ b/Runtime/Scripts/Newtonsoft/Schema/CameraPerspective.cs @@ -21,7 +21,7 @@ public class CameraPerspective : GLTFast.Schema.CameraPerspective, IJsonObject IDictionary m_JsonExtensionData; [Preserve] - public CameraPerspective() {} + public CameraPerspective() { } public bool TryGetValue(string key, out T value) { diff --git a/Runtime/Scripts/Newtonsoft/Schema/GltfAnimation.cs b/Runtime/Scripts/Newtonsoft/Schema/GltfAnimation.cs index 0f8f6e838..b46bb2834 100644 --- a/Runtime/Scripts/Newtonsoft/Schema/GltfAnimation.cs +++ b/Runtime/Scripts/Newtonsoft/Schema/GltfAnimation.cs @@ -1,7 +1,7 @@ // SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 -#if UNITY_ANIMATION && NEWTONSOFT_JSON +#if (UNITY_ANIMATION || GLTFAST_ANIMATION) && NEWTONSOFT_JSON using System.Collections.Generic; @@ -12,7 +12,7 @@ namespace GLTFast.Newtonsoft.Schema { - public class Animation : AnimationBase, IJsonObject + public class Animation : AnimationBase, IJsonObject { public UnclassifiedData extras; public UnclassifiedData extensions; @@ -21,7 +21,7 @@ public class Animation : AnimationBase, IJson IDictionary m_JsonExtensionData; [Preserve] - public Animation() {} + public Animation() { } public bool TryGetValue(string key, out T value) { diff --git a/Runtime/Scripts/Newtonsoft/Schema/GltfCamera.cs b/Runtime/Scripts/Newtonsoft/Schema/GltfCamera.cs index 0c7042021..beed25f92 100644 --- a/Runtime/Scripts/Newtonsoft/Schema/GltfCamera.cs +++ b/Runtime/Scripts/Newtonsoft/Schema/GltfCamera.cs @@ -12,7 +12,7 @@ namespace GLTFast.Newtonsoft.Schema { - public class Camera : CameraBase, IJsonObject + public class Camera : CameraBase, IJsonObject { public UnclassifiedData extras; public UnclassifiedData extensions; @@ -21,7 +21,7 @@ public class Camera : CameraBase, IJsonObj IDictionary m_JsonExtensionData; [Preserve] - public Camera() {} + public Camera() { } public bool TryGetValue(string key, out T value) { diff --git a/Runtime/Scripts/Newtonsoft/Schema/Image.cs b/Runtime/Scripts/Newtonsoft/Schema/Image.cs index 83e8bce08..c31fe777f 100644 --- a/Runtime/Scripts/Newtonsoft/Schema/Image.cs +++ b/Runtime/Scripts/Newtonsoft/Schema/Image.cs @@ -21,7 +21,7 @@ public class Image : GLTFast.Schema.Image, IJsonObject IDictionary m_JsonExtensionData; [Preserve] - public Image() {} + public Image() { } public bool TryGetValue(string key, out T value) { diff --git a/Runtime/Scripts/Newtonsoft/Schema/Material.cs b/Runtime/Scripts/Newtonsoft/Schema/Material.cs index 75a831b4d..90e1b8dfd 100644 --- a/Runtime/Scripts/Newtonsoft/Schema/Material.cs +++ b/Runtime/Scripts/Newtonsoft/Schema/Material.cs @@ -27,7 +27,7 @@ public class Material : MaterialBase< IDictionary m_JsonExtensionData; [Preserve] - public Material() {} + public Material() { } public bool TryGetValue(string key, out T value) { diff --git a/Runtime/Scripts/Newtonsoft/Schema/MaterialExtensions.cs b/Runtime/Scripts/Newtonsoft/Schema/MaterialExtensions.cs index 5fa8d74e6..fdb13170f 100644 --- a/Runtime/Scripts/Newtonsoft/Schema/MaterialExtensions.cs +++ b/Runtime/Scripts/Newtonsoft/Schema/MaterialExtensions.cs @@ -18,7 +18,7 @@ public class MaterialExtensions : GLTFast.Schema.MaterialExtensions, IJsonObject IDictionary m_JsonExtensionData; [Preserve] - public MaterialExtensions() {} + public MaterialExtensions() { } public bool TryGetValue(string key, out T value) { diff --git a/Runtime/Scripts/Newtonsoft/Schema/Mesh.cs b/Runtime/Scripts/Newtonsoft/Schema/Mesh.cs index 4685f7eb2..b8db090dc 100644 --- a/Runtime/Scripts/Newtonsoft/Schema/Mesh.cs +++ b/Runtime/Scripts/Newtonsoft/Schema/Mesh.cs @@ -12,7 +12,7 @@ namespace GLTFast.Newtonsoft.Schema { - public class Mesh : MeshBase, IJsonObject + public class Mesh : MeshBase, IJsonObject { public UnclassifiedData extensions; @@ -20,7 +20,7 @@ public class Mesh : MeshBase, IJsonObject IDictionary m_JsonExtensionData; [Preserve] - public Mesh() {} + public Mesh() { } public bool TryGetValue(string key, out T value) { diff --git a/Runtime/Scripts/Newtonsoft/Schema/MeshExtras.cs b/Runtime/Scripts/Newtonsoft/Schema/MeshExtras.cs index 5792fd07e..aa5c518c8 100644 --- a/Runtime/Scripts/Newtonsoft/Schema/MeshExtras.cs +++ b/Runtime/Scripts/Newtonsoft/Schema/MeshExtras.cs @@ -18,7 +18,7 @@ public class MeshExtras : GLTFast.Schema.MeshExtras, IJsonObject IDictionary m_JsonExtensionData; [Preserve] - public MeshExtras() {} + public MeshExtras() { } public bool TryGetValue(string key, out T value) { diff --git a/Runtime/Scripts/Newtonsoft/Schema/MeshPrimitive.cs b/Runtime/Scripts/Newtonsoft/Schema/MeshPrimitive.cs index 4a75d42ea..e14e786c8 100644 --- a/Runtime/Scripts/Newtonsoft/Schema/MeshPrimitive.cs +++ b/Runtime/Scripts/Newtonsoft/Schema/MeshPrimitive.cs @@ -20,7 +20,7 @@ public class MeshPrimitive : MeshPrimitiveBase, IJsonOb IDictionary m_JsonExtensionData; [Preserve] - public MeshPrimitive() {} + public MeshPrimitive() { } public bool TryGetValue(string key, out T value) { diff --git a/Runtime/Scripts/Newtonsoft/Schema/MeshPrimitiveExtensions.cs b/Runtime/Scripts/Newtonsoft/Schema/MeshPrimitiveExtensions.cs index c6b76cd5c..0e6be332c 100644 --- a/Runtime/Scripts/Newtonsoft/Schema/MeshPrimitiveExtensions.cs +++ b/Runtime/Scripts/Newtonsoft/Schema/MeshPrimitiveExtensions.cs @@ -18,7 +18,7 @@ public class MeshPrimitiveExtensions : GLTFast.Schema.MeshPrimitiveExtensions, I IDictionary m_JsonExtensionData; [Preserve] - public MeshPrimitiveExtensions() {} + public MeshPrimitiveExtensions() { } public bool TryGetValue(string key, out T value) { diff --git a/Runtime/Scripts/Newtonsoft/Schema/Node.cs b/Runtime/Scripts/Newtonsoft/Schema/Node.cs index 3ba227190..9c776bc0b 100644 --- a/Runtime/Scripts/Newtonsoft/Schema/Node.cs +++ b/Runtime/Scripts/Newtonsoft/Schema/Node.cs @@ -20,7 +20,7 @@ public class Node : NodeBase, IJsonObject IDictionary m_JsonExtensionData; [Preserve] - public Node() {} + public Node() { } public bool TryGetValue(string key, out T value) { diff --git a/Runtime/Scripts/Newtonsoft/Schema/NodeExtensions.cs b/Runtime/Scripts/Newtonsoft/Schema/NodeExtensions.cs index 6c764a01d..2cdcc2654 100644 --- a/Runtime/Scripts/Newtonsoft/Schema/NodeExtensions.cs +++ b/Runtime/Scripts/Newtonsoft/Schema/NodeExtensions.cs @@ -18,7 +18,7 @@ public class NodeExtensions : GLTFast.Schema.NodeExtensions, IJsonObject IDictionary m_JsonExtensionData; [Preserve] - public NodeExtensions() {} + public NodeExtensions() { } public bool TryGetValue(string key, out T value) { diff --git a/Runtime/Scripts/Newtonsoft/Schema/NormalTextureInfo.cs b/Runtime/Scripts/Newtonsoft/Schema/NormalTextureInfo.cs index 30ba64db6..de14048ea 100644 --- a/Runtime/Scripts/Newtonsoft/Schema/NormalTextureInfo.cs +++ b/Runtime/Scripts/Newtonsoft/Schema/NormalTextureInfo.cs @@ -20,7 +20,7 @@ public class NormalTextureInfo : NormalTextureInfoBase, I IDictionary m_JsonExtensionData; [Preserve] - public NormalTextureInfo() {} + public NormalTextureInfo() { } public bool TryGetValue(string key, out T value) { diff --git a/Runtime/Scripts/Newtonsoft/Schema/OcclusionTextureInfo.cs b/Runtime/Scripts/Newtonsoft/Schema/OcclusionTextureInfo.cs index 65d53626b..aa70e47c8 100644 --- a/Runtime/Scripts/Newtonsoft/Schema/OcclusionTextureInfo.cs +++ b/Runtime/Scripts/Newtonsoft/Schema/OcclusionTextureInfo.cs @@ -20,7 +20,7 @@ public class OcclusionTextureInfo : OcclusionTextureInfoBase m_JsonExtensionData; [Preserve] - public OcclusionTextureInfo() {} + public OcclusionTextureInfo() { } public bool TryGetValue(string key, out T value) { diff --git a/Runtime/Scripts/Newtonsoft/Schema/PbrMetallicRoughness.cs b/Runtime/Scripts/Newtonsoft/Schema/PbrMetallicRoughness.cs index ffd600c64..51b8c6804 100644 --- a/Runtime/Scripts/Newtonsoft/Schema/PbrMetallicRoughness.cs +++ b/Runtime/Scripts/Newtonsoft/Schema/PbrMetallicRoughness.cs @@ -21,7 +21,7 @@ public class PbrMetallicRoughness : PbrMetallicRoughnessBase, IJson IDictionary m_JsonExtensionData; [Preserve] - public PbrMetallicRoughness() {} + public PbrMetallicRoughness() { } public bool TryGetValue(string key, out T value) { diff --git a/Runtime/Scripts/Newtonsoft/Schema/Root.cs b/Runtime/Scripts/Newtonsoft/Schema/Root.cs index f0bb76035..e4b6dc3e8 100644 --- a/Runtime/Scripts/Newtonsoft/Schema/Root.cs +++ b/Runtime/Scripts/Newtonsoft/Schema/Root.cs @@ -36,7 +36,7 @@ public class Root : RootBase< IDictionary m_JsonExtensionData; [Preserve] - public Root() {} + public Root() { } public bool TryGetValue(string key, out T value) { diff --git a/Runtime/Scripts/Newtonsoft/Schema/RootExtensions.cs b/Runtime/Scripts/Newtonsoft/Schema/RootExtensions.cs index 859e05655..1a200b090 100644 --- a/Runtime/Scripts/Newtonsoft/Schema/RootExtensions.cs +++ b/Runtime/Scripts/Newtonsoft/Schema/RootExtensions.cs @@ -18,7 +18,7 @@ public class RootExtensions : GLTFast.Schema.RootExtensions, IJsonObject IDictionary m_JsonExtensionData; [Preserve] - public RootExtensions() {} + public RootExtensions() { } public bool TryGetValue(string key, out T value) { diff --git a/Runtime/Scripts/Newtonsoft/Schema/Sampler.cs b/Runtime/Scripts/Newtonsoft/Schema/Sampler.cs index f8de2c93d..1c24512e5 100644 --- a/Runtime/Scripts/Newtonsoft/Schema/Sampler.cs +++ b/Runtime/Scripts/Newtonsoft/Schema/Sampler.cs @@ -21,7 +21,7 @@ public class Sampler : GLTFast.Schema.Sampler, IJsonObject IDictionary m_JsonExtensionData; [Preserve] - public Sampler() {} + public Sampler() { } public bool TryGetValue(string key, out T value) { diff --git a/Runtime/Scripts/Newtonsoft/Schema/Scene.cs b/Runtime/Scripts/Newtonsoft/Schema/Scene.cs index 7d53b58eb..2f6dc06c4 100644 --- a/Runtime/Scripts/Newtonsoft/Schema/Scene.cs +++ b/Runtime/Scripts/Newtonsoft/Schema/Scene.cs @@ -21,7 +21,7 @@ public class Scene : GLTFast.Schema.Scene, IJsonObject IDictionary m_JsonExtensionData; [Preserve] - public Scene() {} + public Scene() { } public bool TryGetValue(string key, out T value) { diff --git a/Runtime/Scripts/Newtonsoft/Schema/Skin.cs b/Runtime/Scripts/Newtonsoft/Schema/Skin.cs index f872ac28c..f2c390439 100644 --- a/Runtime/Scripts/Newtonsoft/Schema/Skin.cs +++ b/Runtime/Scripts/Newtonsoft/Schema/Skin.cs @@ -21,7 +21,7 @@ public class Skin : GLTFast.Schema.Skin, IJsonObject IDictionary m_JsonExtensionData; [Preserve] - public Skin() {} + public Skin() { } public bool TryGetValue(string key, out T value) { diff --git a/Runtime/Scripts/Newtonsoft/Schema/Texture.cs b/Runtime/Scripts/Newtonsoft/Schema/Texture.cs index e9f5ce17f..9c5fbb552 100644 --- a/Runtime/Scripts/Newtonsoft/Schema/Texture.cs +++ b/Runtime/Scripts/Newtonsoft/Schema/Texture.cs @@ -20,7 +20,7 @@ public class Texture : TextureBase, IJsonObject IDictionary m_JsonExtensionData; [Preserve] - public Texture() {} + public Texture() { } public bool TryGetValue(string key, out T value) { diff --git a/Runtime/Scripts/Newtonsoft/Schema/TextureExtensions.cs b/Runtime/Scripts/Newtonsoft/Schema/TextureExtensions.cs index 29a4db8ee..186c3295d 100644 --- a/Runtime/Scripts/Newtonsoft/Schema/TextureExtensions.cs +++ b/Runtime/Scripts/Newtonsoft/Schema/TextureExtensions.cs @@ -18,7 +18,7 @@ public class TextureExtensions : GLTFast.Schema.TextureExtensions, IJsonObject IDictionary m_JsonExtensionData; [Preserve] - public TextureExtensions() {} + public TextureExtensions() { } public bool TryGetValue(string key, out T value) { diff --git a/Runtime/Scripts/Newtonsoft/Schema/TextureInfo.cs b/Runtime/Scripts/Newtonsoft/Schema/TextureInfo.cs index 355ed72ec..4f3903430 100644 --- a/Runtime/Scripts/Newtonsoft/Schema/TextureInfo.cs +++ b/Runtime/Scripts/Newtonsoft/Schema/TextureInfo.cs @@ -20,7 +20,7 @@ public class TextureInfo : TextureInfoBase, IJsonObject IDictionary m_JsonExtensionData; [Preserve] - public TextureInfo() {} + public TextureInfo() { } public bool TryGetValue(string key, out T value) { diff --git a/Runtime/Scripts/Newtonsoft/Schema/TextureInfoExtensions.cs b/Runtime/Scripts/Newtonsoft/Schema/TextureInfoExtensions.cs index f84f3ba21..30a348a06 100644 --- a/Runtime/Scripts/Newtonsoft/Schema/TextureInfoExtensions.cs +++ b/Runtime/Scripts/Newtonsoft/Schema/TextureInfoExtensions.cs @@ -18,7 +18,7 @@ public class TextureInfoExtensions : GLTFast.Schema.TextureInfoExtensions, IJson IDictionary m_JsonExtensionData; [Preserve] - public TextureInfoExtensions() {} + public TextureInfoExtensions() { } public bool TryGetValue(string key, out T value) { diff --git a/Runtime/Scripts/Newtonsoft/Schema/UnclassifiedData.cs b/Runtime/Scripts/Newtonsoft/Schema/UnclassifiedData.cs index a7cd2868e..a57d16c46 100644 --- a/Runtime/Scripts/Newtonsoft/Schema/UnclassifiedData.cs +++ b/Runtime/Scripts/Newtonsoft/Schema/UnclassifiedData.cs @@ -22,7 +22,7 @@ public class UnclassifiedData : IJsonObject IDictionary m_JsonExtensionData; [Preserve] - public UnclassifiedData() {} + public UnclassifiedData() { } public bool TryGetValue(string key, out T value) { diff --git a/Runtime/Scripts/Newtonsoft/glTFast.Newtonsoft.asmdef b/Runtime/Scripts/Newtonsoft/glTFast.Newtonsoft.asmdef index e615c17d8..27d3bf28a 100644 --- a/Runtime/Scripts/Newtonsoft/glTFast.Newtonsoft.asmdef +++ b/Runtime/Scripts/Newtonsoft/glTFast.Newtonsoft.asmdef @@ -14,7 +14,7 @@ "versionDefines": [ { "name": "com.unity.modules.animation", - "expression": "1.0.0", + "expression": "", "define": "UNITY_ANIMATION" }, { @@ -24,4 +24,4 @@ } ], "noEngineReferences": false -} \ No newline at end of file +} diff --git a/Runtime/Scripts/NodeHierarchyInfo.cs b/Runtime/Scripts/NodeHierarchyInfo.cs new file mode 100644 index 000000000..47f892764 --- /dev/null +++ b/Runtime/Scripts/NodeHierarchyInfo.cs @@ -0,0 +1,29 @@ +// SPDX-FileCopyrightText: 2026 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +using System; + +namespace GLTFast +{ + class NodeHierarchyInfo : INodeHierarchyInfo + { + readonly string[] m_NodeNames; + readonly int[] m_ParentIndices; + + public NodeHierarchyInfo(string[] nodeNames, int[] parentIndices) + { + m_ParentIndices = parentIndices; + m_NodeNames = nodeNames; + } + + public string GetNodeName(int nodeIndex) + { + return m_NodeNames[nodeIndex]; + } + + public int GetParentIndex(int nodeIndex) + { + return m_ParentIndices[nodeIndex]; + } + } +} diff --git a/Runtime/Scripts/NodeHierarchyInfo.cs.meta b/Runtime/Scripts/NodeHierarchyInfo.cs.meta new file mode 100644 index 000000000..9d936051b --- /dev/null +++ b/Runtime/Scripts/NodeHierarchyInfo.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: be93acba52e14b74b538042a0dc5bc6a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/ReadOnlyNativeArray.cs b/Runtime/Scripts/ReadOnlyNativeArray.cs index 300167dcf..7b45fb68a 100644 --- a/Runtime/Scripts/ReadOnlyNativeArray.cs +++ b/Runtime/Scripts/ReadOnlyNativeArray.cs @@ -100,7 +100,7 @@ public ReadOnlyNativeStridedArray ToStrided(int offset, int co count, byteStride #if ENABLE_UNITY_COLLECTIONS_CHECKS - ,ref m_Safety + , ref m_Safety #endif ); } diff --git a/Runtime/Scripts/ReadOnlyNativeStridedArray.cs b/Runtime/Scripts/ReadOnlyNativeStridedArray.cs index 7aa073710..474d32a4a 100644 --- a/Runtime/Scripts/ReadOnlyNativeStridedArray.cs +++ b/Runtime/Scripts/ReadOnlyNativeStridedArray.cs @@ -24,15 +24,15 @@ unsafe struct ReadOnlyNativeStridedArray where T : unmanaged internal ReadOnlyNativeStridedArray(void* buffer, int byteLength, int offset, int count, int byteStride #if ENABLE_UNITY_COLLECTIONS_CHECKS - ,ref AtomicSafetyHandle safety + , ref AtomicSafetyHandle safety #endif ) { #if ENABLE_UNITY_COLLECTIONS_CHECKS if (offset < 0) - throw new ArgumentOutOfRangeException(nameof (offset), "offset must be >= 0"); - if (offset + (count-1) * byteStride + sizeof(T) > byteLength) - throw new ArgumentOutOfRangeException(nameof (count), $"accessor range is outside the range of the native array 0-{(object)(byteLength - 1)}"); + throw new ArgumentOutOfRangeException(nameof(offset), "offset must be >= 0"); + if (offset + (count - 1) * byteStride + sizeof(T) > byteLength) + throw new ArgumentOutOfRangeException(nameof(count), $"accessor range is outside the range of the native array 0-{(object)(byteLength - 1)}"); #endif m_Buffer = (byte*)buffer + offset; m_Count = count; diff --git a/Runtime/Scripts/RenderPipelineUtils.cs b/Runtime/Scripts/RenderPipelineUtils.cs index b0e2b489e..e82ff366e 100644 --- a/Runtime/Scripts/RenderPipelineUtils.cs +++ b/Runtime/Scripts/RenderPipelineUtils.cs @@ -67,14 +67,17 @@ static RenderPipeline DetectRenderPipeline() #if USING_URP || USING_HDRP // ReSharper disable once Unity.PerformanceCriticalCodeNullComparison var rpAsset = QualitySettings.renderPipeline ? QualitySettings.renderPipeline : GraphicsSettings.defaultRenderPipeline; - if (rpAsset != null) { + if (rpAsset != null) + { #if USING_URP - if (rpAsset is UniversalRenderPipelineAsset) { + if (rpAsset is UniversalRenderPipelineAsset) + { return RenderPipeline.Universal; } #endif #if USING_HDRP - if (rpAsset is HDRenderPipelineAsset) { + if (rpAsset is HDRenderPipelineAsset) + { return RenderPipeline.HighDefinition; } #endif diff --git a/Runtime/Scripts/Schema/AnimationChannel.cs b/Runtime/Scripts/Schema/AnimationChannel.cs index 8d4885bb6..5cc5f22d2 100644 --- a/Runtime/Scripts/Schema/AnimationChannel.cs +++ b/Runtime/Scripts/Schema/AnimationChannel.cs @@ -1,7 +1,7 @@ // SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 -#if UNITY_ANIMATION +#if UNITY_ANIMATION || GLTFAST_ANIMATION using System; @@ -23,7 +23,8 @@ public abstract class AnimationChannelBase : AnimationChannelBase [Serializable] public abstract class AnimationChannelBase { - public enum Path { + public enum Path + { Unknown, Invalid, Translation, @@ -44,9 +45,10 @@ public enum Path { /// public abstract AnimationChannelTarget Target { get; } - internal void GltfSerialize(JsonWriter writer) { + internal void GltfSerialize(JsonWriter writer) + { throw new NotImplementedException($"GltfSerialize missing on {GetType()}"); } } } -#endif // UNITY_ANIMATION +#endif // UNITY_ANIMATION || GLTFAST_ANIMATION diff --git a/Runtime/Scripts/Schema/AnimationChannelTarget.cs b/Runtime/Scripts/Schema/AnimationChannelTarget.cs index 1fc6d082b..623695400 100644 --- a/Runtime/Scripts/Schema/AnimationChannelTarget.cs +++ b/Runtime/Scripts/Schema/AnimationChannelTarget.cs @@ -1,14 +1,15 @@ // SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 -#if UNITY_ANIMATION +#if UNITY_ANIMATION || GLTFAST_ANIMATION using System; namespace GLTFast.Schema { [Serializable] - public class AnimationChannelTarget { + public class AnimationChannelTarget + { /// /// The index of the node to target. /// @@ -23,7 +24,8 @@ public class AnimationChannelTarget { AnimationChannel.Path m_Path; - public AnimationChannel.Path GetPath() { + public AnimationChannel.Path GetPath() + { if (m_Path != AnimationChannel.Path.Unknown) { return m_Path; @@ -39,9 +41,10 @@ public AnimationChannel.Path GetPath() { return m_Path; } - internal void GltfSerialize(JsonWriter writer) { + internal void GltfSerialize(JsonWriter writer) + { throw new NotImplementedException($"GltfSerialize missing on {GetType()}"); } } } -#endif // UNITY_ANIMATION +#endif // UNITY_ANIMATION || GLTFAST_ANIMATION diff --git a/Runtime/Scripts/Schema/AnimationSampler.cs b/Runtime/Scripts/Schema/AnimationSampler.cs index 265487458..0e843de6d 100644 --- a/Runtime/Scripts/Schema/AnimationSampler.cs +++ b/Runtime/Scripts/Schema/AnimationSampler.cs @@ -1,7 +1,7 @@ // SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 -#if UNITY_ANIMATION +#if UNITY_ANIMATION || GLTFAST_ANIMATION using System; @@ -31,7 +31,8 @@ public class AnimationSampler InterpolationType m_Interpolation; - public InterpolationType GetInterpolationType() { + public InterpolationType GetInterpolationType() + { if (m_Interpolation != InterpolationType.Unknown) { return m_Interpolation; @@ -56,4 +57,4 @@ public InterpolationType GetInterpolationType() { public int output; } } -#endif // UNITY_ANIMATION +#endif // UNITY_ANIMATION || GLTFAST_ANIMATION diff --git a/Runtime/Scripts/Schema/BufferViewMeshoptExtension.cs b/Runtime/Scripts/Schema/BufferViewMeshoptExtension.cs index f65209ab0..4cd65e8f4 100644 --- a/Runtime/Scripts/Schema/BufferViewMeshoptExtension.cs +++ b/Runtime/Scripts/Schema/BufferViewMeshoptExtension.cs @@ -8,7 +8,8 @@ namespace GLTFast.Schema { [Serializable] - public class BufferViewMeshoptExtension : IBufferView { + public class BufferViewMeshoptExtension : IBufferView + { /// /// The index of the buffer. @@ -49,8 +50,10 @@ public class BufferViewMeshoptExtension : IBufferView { public int ByteLength => byteLength; public int ByteStride => byteStride; - public Mode GetMode() { - if (m_ModeEnum != Mode.Undefined) { + public Mode GetMode() + { + if (m_ModeEnum != Mode.Undefined) + { return m_ModeEnum; } @@ -65,8 +68,10 @@ public Mode GetMode() { return m_ModeEnum; } - public Filter GetFilter() { - if (m_FilterEnum != Filter.Undefined) { + public Filter GetFilter() + { + if (m_FilterEnum != Filter.Undefined) + { return m_FilterEnum; } diff --git a/Runtime/Scripts/Schema/GltfAnimation.cs b/Runtime/Scripts/Schema/GltfAnimation.cs index 3c0fdc2a2..187a61b2b 100644 --- a/Runtime/Scripts/Schema/GltfAnimation.cs +++ b/Runtime/Scripts/Schema/GltfAnimation.cs @@ -1,7 +1,7 @@ // SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 -#if UNITY_ANIMATION +#if UNITY_ANIMATION || GLTFAST_ANIMATION using System; using System.Collections.Generic; @@ -11,10 +11,10 @@ namespace GLTFast.Schema { -#if UNITY_ANIMATION +#if UNITY_ANIMATION || GLTFAST_ANIMATION /// [Serializable] - public class Animation : AnimationBase { } + public class Animation : AnimationBase { } /// /// Animation channel type @@ -52,7 +52,8 @@ public abstract class AnimationBase : NamedObject /// public abstract IReadOnlyList Samplers { get; } - internal void GltfSerialize(JsonWriter writer) { + internal void GltfSerialize(JsonWriter writer) + { writer.AddObject(); GltfSerializeName(writer); writer.Close(); @@ -69,5 +70,5 @@ public class Animation : AnimationBase { } /// /// public abstract class AnimationBase { } -#endif // UNITY_ANIMATION +#endif // UNITY_ANIMATION || GLTFAST_ANIMATION } diff --git a/Runtime/Scripts/Schema/InterpolationType.cs b/Runtime/Scripts/Schema/InterpolationType.cs index 49da54edf..685039b86 100644 --- a/Runtime/Scripts/Schema/InterpolationType.cs +++ b/Runtime/Scripts/Schema/InterpolationType.cs @@ -1,18 +1,23 @@ // SPDX-FileCopyrightText: 2023 Unity Technologies and the glTFast authors // SPDX-License-Identifier: Apache-2.0 -#if UNITY_ANIMATION - using System; namespace GLTFast.Schema { + /// + /// glTF animation interpolation algorithm type. + /// + /// public enum InterpolationType { + /// Unknown Unknown, + /// The animated values are linearly interpolated between keyframes. Linear, + /// The animated values remain constant to the output of the first keyframe, until the next keyframe. Step, + /// The animation’s interpolation is computed using a cubic spline with specified tangents. CubicSpline } } -#endif // UNITY_ANIMATION diff --git a/Runtime/Scripts/Schema/MeshPrimitive.cs b/Runtime/Scripts/Schema/MeshPrimitive.cs index 5c7c2561a..9e6625868 100644 --- a/Runtime/Scripts/Schema/MeshPrimitive.cs +++ b/Runtime/Scripts/Schema/MeshPrimitive.cs @@ -115,7 +115,7 @@ public int GetMaterialIndex(int variantIndex) internal abstract void UnsetExtensions(); #if DRACO_IS_INSTALLED - public bool IsDracoCompressed => Extensions!=null && Extensions.KHR_draco_mesh_compression != null; + public bool IsDracoCompressed => Extensions != null && Extensions.KHR_draco_mesh_compression != null; #endif /// @@ -370,7 +370,8 @@ internal void GltfSerialize(JsonWriter writer) { writer.AddObject(); #if DRACO_IS_INSTALLED - if (KHR_draco_mesh_compression != null) { + if (KHR_draco_mesh_compression != null) + { writer.AddProperty("KHR_draco_mesh_compression"); KHR_draco_mesh_compression.GltfSerialize(writer); } @@ -386,11 +387,13 @@ internal void GltfSerialize(JsonWriter writer) #if DRACO_IS_INSTALLED [Serializable] - public class MeshPrimitiveDracoExtension { + public class MeshPrimitiveDracoExtension + { public int bufferView; public Attributes attributes; - internal void GltfSerialize(JsonWriter writer) { + internal void GltfSerialize(JsonWriter writer) + { writer.AddObject(); writer.AddProperty("bufferView", bufferView); writer.AddProperty("attributes"); diff --git a/Runtime/Scripts/Schema/Root.cs b/Runtime/Scripts/Schema/Root.cs index 358e93570..e564bec4c 100644 --- a/Runtime/Scripts/Schema/Root.cs +++ b/Runtime/Scripts/Schema/Root.cs @@ -85,7 +85,7 @@ public abstract class RootBase< /// public TAccessor[] accessors; -#if UNITY_ANIMATION +#if UNITY_ANIMATION || GLTFAST_ANIMATION /// public TAnimation[] animations; #endif @@ -132,7 +132,7 @@ public abstract class RootBase< /// public override IReadOnlyList Accessors => accessors; -#if UNITY_ANIMATION +#if UNITY_ANIMATION || GLTFAST_ANIMATION /// public override IReadOnlyList Animations => animations; #endif @@ -205,7 +205,7 @@ public abstract class RootBase /// public abstract IReadOnlyList Accessors { get; } -#if UNITY_ANIMATION +#if UNITY_ANIMATION || GLTFAST_ANIMATION /// /// An array of keyframe animations. /// @@ -286,9 +286,9 @@ public abstract class RootBase /// internal abstract void UnsetExtensions(); -#if UNITY_ANIMATION +#if UNITY_ANIMATION || GLTFAST_ANIMATION public bool HasAnimation => Animations != null && Animations.Count > 0; -#endif // UNITY_ANIMATION +#endif // UNITY_ANIMATION || GLTFAST_ANIMATION /// /// Looks up if a certain accessor points to interleaved data. @@ -337,10 +337,12 @@ public void GltfSerialize(StreamWriter stream) writer.AddArrayProperty("extensionsUsed", extensionsUsed); } -#if UNITY_ANIMATION - if (Animations!=null) { +#if UNITY_ANIMATION || GLTFAST_ANIMATION + if (Animations != null) + { writer.AddArray("animations"); - foreach( var animation in Animations) { + foreach (var animation in Animations) + { animation.GltfSerialize(writer); } writer.CloseArray(); @@ -512,11 +514,16 @@ internal bool JsonUtilitySecondParseRequired() } } #if DRACO_IS_INSTALLED - if(!check && Meshes!=null) { - foreach (var mesh in Meshes) { - if (mesh.Primitives != null) { - foreach (var primitive in mesh.Primitives) { - if (primitive.Extensions?.KHR_draco_mesh_compression != null) { + if (!check && Meshes != null) + { + foreach (var mesh in Meshes) + { + if (mesh.Primitives != null) + { + foreach (var primitive in mesh.Primitives) + { + if (primitive.Extensions?.KHR_draco_mesh_compression != null) + { check = true; break; } @@ -601,7 +608,8 @@ internal void JsonUtilityCleanupAgainstSecondParse(FakeSchema.Root fakeRoot) if (primitive.Extensions == null) continue; var fake = fakeRoot.meshes[i].primitives[j]; #if DRACO_IS_INSTALLED - if (fake.extensions.KHR_draco_mesh_compression == null) { + if (fake.extensions.KHR_draco_mesh_compression == null) + { primitive.Extensions.KHR_draco_mesh_compression = null; } #endif diff --git a/Runtime/Scripts/StreamExtension.cs b/Runtime/Scripts/StreamExtension.cs index 27e0a8cd7..f96fc915e 100644 --- a/Runtime/Scripts/StreamExtension.cs +++ b/Runtime/Scripts/StreamExtension.cs @@ -9,9 +9,8 @@ using System; using System.IO; using System.Threading; -using UnityEngine; - using System.Threading.Tasks; +using UnityEngine; namespace GLTFast { diff --git a/Runtime/Scripts/UvTransform.cs b/Runtime/Scripts/UvTransform.cs index 65c681b37..e49ace065 100644 --- a/Runtime/Scripts/UvTransform.cs +++ b/Runtime/Scripts/UvTransform.cs @@ -33,11 +33,7 @@ public static UvTransform FromMatrix(float2x2 scaleRotation) var acos = math.acos(r1.x); if (r2.x < 0) acos = math.PI * 2 - acos; -#if UNITY_MATH_1_3_OR_NEWER result.rotation = acos * math.TODEGREES; -#else - result.rotation = math.degrees(acos); -#endif return result; } } diff --git a/Runtime/Scripts/VertexBufferBones.cs b/Runtime/Scripts/VertexBufferBones.cs index 6a0fa734c..9dfdb7533 100644 --- a/Runtime/Scripts/VertexBufferBones.cs +++ b/Runtime/Scripts/VertexBufferBones.cs @@ -106,8 +106,10 @@ public JobHandle ScheduleSortAndNormalizeBoneWeightsJob(JobHandle dependsOn) #if UNITY_EDITOR // If this is design-time import, fix and import all weights. - if(!UnityEditor.EditorApplication.isPlaying || skinWeights < 4) { - if (!UnityEditor.EditorApplication.isPlaying) { + if (!UnityEditor.EditorApplication.isPlaying || skinWeights < 4) + { + if (!UnityEditor.EditorApplication.isPlaying) + { skinWeights = 4; } #else @@ -174,11 +176,7 @@ int outputByteStride jobTangentI.input = (byte*)input; jobTangentI.outputByteStride = outputByteStride; jobTangentI.result = output; -#if UNITY_COLLECTIONS - jobHandle = jobTangentI.ScheduleBatch(count,GltfImport.DefaultBatchCount); -#else - jobHandle = jobTangentI.Schedule(count, GltfImport.DefaultBatchCount); -#endif + jobHandle = jobTangentI.ScheduleBatch(count, GltfImport.DefaultBatchCount); break; case GltfComponentType.UnsignedShort: { @@ -189,11 +187,7 @@ int outputByteStride outputByteStride = outputByteStride, result = output }; -#if UNITY_COLLECTIONS - jobHandle = job.ScheduleBatch(count,GltfImport.DefaultBatchCount); -#else - jobHandle = job.Schedule(count, GltfImport.DefaultBatchCount); -#endif + jobHandle = job.ScheduleBatch(count, GltfImport.DefaultBatchCount); break; } case GltfComponentType.UnsignedByte: @@ -205,11 +199,7 @@ int outputByteStride outputByteStride = outputByteStride, result = output }; -#if UNITY_COLLECTIONS - jobHandle = job.ScheduleBatch(count,GltfImport.DefaultBatchCount); -#else - jobHandle = job.Schedule(count, GltfImport.DefaultBatchCount); -#endif + jobHandle = job.ScheduleBatch(count, GltfImport.DefaultBatchCount); break; } default: diff --git a/Runtime/Scripts/VertexBufferColors.cs b/Runtime/Scripts/VertexBufferColors.cs index c7392bc1d..7c45d1067 100644 --- a/Runtime/Scripts/VertexBufferColors.cs +++ b/Runtime/Scripts/VertexBufferColors.cs @@ -206,11 +206,7 @@ NativeArray output inputByteStride = inputByteStride, result = output }; -#if UNITY_COLLECTIONS - jobHandle = job.ScheduleBatch(output.Length,GltfImport.DefaultBatchCount); -#else - jobHandle = job.Schedule(output.Length, GltfImport.DefaultBatchCount); -#endif + jobHandle = job.ScheduleBatch(output.Length, GltfImport.DefaultBatchCount); } } break; @@ -222,11 +218,7 @@ NativeArray output inputByteStride = inputByteStride > 0 ? inputByteStride : 8, result = output }; -#if UNITY_COLLECTIONS - jobHandle = job.ScheduleBatch(output.Length,GltfImport.DefaultBatchCount); -#else - jobHandle = job.Schedule(output.Length, GltfImport.DefaultBatchCount); -#endif + jobHandle = job.ScheduleBatch(output.Length, GltfImport.DefaultBatchCount); } break; default: diff --git a/Runtime/Scripts/VertexBufferGeneratorBase.cs b/Runtime/Scripts/VertexBufferGeneratorBase.cs index 8545a7558..7747984b1 100644 --- a/Runtime/Scripts/VertexBufferGeneratorBase.cs +++ b/Runtime/Scripts/VertexBufferGeneratorBase.cs @@ -95,14 +95,9 @@ public void Dispose() outputByteStride = outputByteStride, result = output }; -#if UNITY_COLLECTIONS - jobHandle = job.ScheduleBatch(accessor.count,GltfImport.DefaultBatchCount); -#else - jobHandle = job.Schedule(accessor.count, GltfImport.DefaultBatchCount); -#endif + jobHandle = job.ScheduleBatch(accessor.count, GltfImport.DefaultBatchCount); } - else - if (accessor.componentType == GltfComponentType.UnsignedShort) + else if (accessor.componentType == GltfComponentType.UnsignedShort) { var input = buffers.GetStridedAccessorData( accessor.bufferView, @@ -117,11 +112,7 @@ public void Dispose() outputByteStride = outputByteStride, result = output }; -#if UNITY_COLLECTIONS - jobHandle = job.ScheduleBatch(accessor.count,GltfImport.DefaultBatchCount); -#else - jobHandle = job.Schedule(accessor.count, GltfImport.DefaultBatchCount); -#endif + jobHandle = job.ScheduleBatch(accessor.count, GltfImport.DefaultBatchCount); } else { @@ -131,15 +122,10 @@ public void Dispose() outputByteStride = outputByteStride, result = output }; -#if UNITY_COLLECTIONS - jobHandle = job.ScheduleBatch(accessor.count,GltfImport.DefaultBatchCount); -#else - jobHandle = job.Schedule(accessor.count, GltfImport.DefaultBatchCount); -#endif + jobHandle = job.ScheduleBatch(accessor.count, GltfImport.DefaultBatchCount); } } - else - if (accessor.componentType == GltfComponentType.Short) + else if (accessor.componentType == GltfComponentType.Short) { var input = buffers.GetStridedAccessorData( accessor.bufferView, @@ -157,11 +143,7 @@ public void Dispose() outputByteStride = outputByteStride, result = output }; -#if UNITY_COLLECTIONS jobHandle = job.ScheduleBatch(accessor.count, GltfImport.DefaultBatchCount); -#else - jobHandle = job.Schedule(accessor.count, GltfImport.DefaultBatchCount); -#endif } else { @@ -171,11 +153,7 @@ public void Dispose() outputByteStride = outputByteStride, result = output }; -#if UNITY_COLLECTIONS jobHandle = job.ScheduleBatch(accessor.count, GltfImport.DefaultBatchCount); -#else - jobHandle = job.Schedule(accessor.count, GltfImport.DefaultBatchCount); -#endif } } else @@ -186,15 +164,10 @@ public void Dispose() outputByteStride = outputByteStride, result = output }; -#if UNITY_COLLECTIONS jobHandle = job.ScheduleBatch(accessor.count, GltfImport.DefaultBatchCount); -#else - jobHandle = job.Schedule(accessor.count, GltfImport.DefaultBatchCount); -#endif } } - else - if (accessor.componentType == GltfComponentType.Byte) + else if (accessor.componentType == GltfComponentType.Byte) { var input = buffers.GetStridedAccessorData( accessor.bufferView, @@ -211,11 +184,7 @@ public void Dispose() outputByteStride = outputByteStride, result = output }; -#if UNITY_COLLECTIONS jobHandle = job.ScheduleBatch(accessor.count, GltfImport.DefaultBatchCount); -#else - jobHandle = job.Schedule(accessor.count, GltfImport.DefaultBatchCount); -#endif } else { @@ -225,11 +194,7 @@ public void Dispose() outputByteStride = outputByteStride, result = output }; -#if UNITY_COLLECTIONS jobHandle = job.ScheduleBatch(accessor.count, GltfImport.DefaultBatchCount); -#else - jobHandle = job.Schedule(accessor.count, GltfImport.DefaultBatchCount); -#endif } } else @@ -241,15 +206,10 @@ public void Dispose() outputByteStride = outputByteStride, result = output }; -#if UNITY_COLLECTIONS jobHandle = job.ScheduleBatch(accessor.count, GltfImport.DefaultBatchCount); -#else - jobHandle = job.Schedule(accessor.count, GltfImport.DefaultBatchCount); -#endif } } - else - if (accessor.componentType == GltfComponentType.UnsignedByte) + else if (accessor.componentType == GltfComponentType.UnsignedByte) { var input = buffers.GetStridedAccessorData( accessor.bufferView, @@ -265,11 +225,7 @@ public void Dispose() outputByteStride = outputByteStride, result = output }; -#if UNITY_COLLECTIONS jobHandle = job.ScheduleBatch(accessor.count, GltfImport.DefaultBatchCount); -#else - jobHandle = job.Schedule(accessor.count, GltfImport.DefaultBatchCount); -#endif } else { @@ -279,11 +235,7 @@ public void Dispose() outputByteStride = outputByteStride, result = output }; -#if UNITY_COLLECTIONS jobHandle = job.ScheduleBatch(accessor.count, GltfImport.DefaultBatchCount); -#else - jobHandle = job.Schedule(accessor.count, GltfImport.DefaultBatchCount); -#endif } } else @@ -318,11 +270,7 @@ public void Dispose() outputByteStride = outputByteStride, result = output }; -#if UNITY_COLLECTIONS - jobHandle = jobTangent.ScheduleBatch(count,GltfImport.DefaultBatchCount); -#else - jobHandle = jobTangent.Schedule(count, GltfImport.DefaultBatchCount); -#endif + jobHandle = jobTangent.ScheduleBatch(count, GltfImport.DefaultBatchCount); break; } case GltfComponentType.Short: @@ -335,11 +283,7 @@ public void Dispose() outputByteStride = outputByteStride, result = output }; -#if UNITY_COLLECTIONS - jobHandle = jobTangent.ScheduleBatch(count,GltfImport.DefaultBatchCount); -#else - jobHandle = jobTangent.Schedule(count, GltfImport.DefaultBatchCount); -#endif + jobHandle = jobTangent.ScheduleBatch(count, GltfImport.DefaultBatchCount); break; } case GltfComponentType.Byte: @@ -352,11 +296,7 @@ public void Dispose() outputByteStride = outputByteStride, result = output }; -#if UNITY_COLLECTIONS - jobHandle = jobTangent.ScheduleBatch(count,GltfImport.DefaultBatchCount); -#else - jobHandle = jobTangent.Schedule(count, GltfImport.DefaultBatchCount); -#endif + jobHandle = jobTangent.ScheduleBatch(count, GltfImport.DefaultBatchCount); break; } default: diff --git a/Runtime/Scripts/VertexBufferTexCoords.cs b/Runtime/Scripts/VertexBufferTexCoords.cs index 34fb46457..12e380db0 100644 --- a/Runtime/Scripts/VertexBufferTexCoords.cs +++ b/Runtime/Scripts/VertexBufferTexCoords.cs @@ -163,11 +163,7 @@ protected override void Dispose(bool disposing) outputByteStride = outputByteStride, result = output }; -#if UNITY_COLLECTIONS - jobHandle = jobUv.ScheduleBatch(count,GltfImport.DefaultBatchCount); -#else - jobHandle = jobUv.Schedule(count, GltfImport.DefaultBatchCount); -#endif + jobHandle = jobUv.ScheduleBatch(count, GltfImport.DefaultBatchCount); } break; case GltfComponentType.UnsignedByte: @@ -191,11 +187,7 @@ protected override void Dispose(bool disposing) outputByteStride = outputByteStride, result = output }; -#if UNITY_COLLECTIONS - jobHandle = jobUv.ScheduleBatch(count,GltfImport.DefaultBatchCount); -#else - jobHandle = jobUv.Schedule(count, GltfImport.DefaultBatchCount); -#endif + jobHandle = jobUv.ScheduleBatch(count, GltfImport.DefaultBatchCount); } break; case GltfComponentType.UnsignedShort: @@ -219,11 +211,7 @@ protected override void Dispose(bool disposing) outputByteStride = outputByteStride, result = output }; -#if UNITY_COLLECTIONS - jobHandle = jobUv.ScheduleBatch(count,GltfImport.DefaultBatchCount); -#else - jobHandle = jobUv.Schedule(count, GltfImport.DefaultBatchCount); -#endif + jobHandle = jobUv.ScheduleBatch(count, GltfImport.DefaultBatchCount); } break; case GltfComponentType.Short: @@ -236,11 +224,7 @@ protected override void Dispose(bool disposing) outputByteStride = outputByteStride, result = output }; -#if UNITY_COLLECTIONS - jobHandle = job.ScheduleBatch(count,GltfImport.DefaultBatchCount); -#else - jobHandle = job.Schedule(count, GltfImport.DefaultBatchCount); -#endif + jobHandle = job.ScheduleBatch(count, GltfImport.DefaultBatchCount); } else { @@ -251,11 +235,7 @@ protected override void Dispose(bool disposing) outputByteStride = outputByteStride, result = output }; -#if UNITY_COLLECTIONS - jobHandle = job.ScheduleBatch(count,GltfImport.DefaultBatchCount); -#else - jobHandle = job.Schedule(count, GltfImport.DefaultBatchCount); -#endif + jobHandle = job.ScheduleBatch(count, GltfImport.DefaultBatchCount); } break; case GltfComponentType.Byte: @@ -268,11 +248,7 @@ protected override void Dispose(bool disposing) outputByteStride = outputByteStride, result = output }; -#if UNITY_COLLECTIONS - jobHandle = jobInt8.ScheduleBatch(count,GltfImport.DefaultBatchCount); -#else - jobHandle = jobInt8.Schedule(count, GltfImport.DefaultBatchCount); -#endif + jobHandle = jobInt8.ScheduleBatch(count, GltfImport.DefaultBatchCount); } else { @@ -283,11 +259,7 @@ protected override void Dispose(bool disposing) outputByteStride = outputByteStride, result = output }; -#if UNITY_COLLECTIONS - jobHandle = jobInt8.ScheduleBatch(count,GltfImport.DefaultBatchCount); -#else - jobHandle = jobInt8.Schedule(count, GltfImport.DefaultBatchCount); -#endif + jobHandle = jobInt8.ScheduleBatch(count, GltfImport.DefaultBatchCount); } break; default: diff --git a/Runtime/Scripts/VertexStructs.cs b/Runtime/Scripts/VertexStructs.cs index a30d73859..64db29b9a 100644 --- a/Runtime/Scripts/VertexStructs.cs +++ b/Runtime/Scripts/VertexStructs.cs @@ -114,7 +114,8 @@ unsafe struct VBones public fixed uint joints[4]; #if DEBUG - public override string ToString() { + public override string ToString() + { return $"{joints[0]}/{weights[0]}, {joints[1]}/{weights[1]}, {joints[2]}/{weights[2]}, {joints[3]}/{weights[3]}"; } #endif diff --git a/Runtime/Scripts/glTFast.asmdef b/Runtime/Scripts/glTFast.asmdef index b05a69836..fa2820bcb 100644 --- a/Runtime/Scripts/glTFast.asmdef +++ b/Runtime/Scripts/glTFast.asmdef @@ -5,7 +5,6 @@ "Unity.Mathematics", "Unity.Burst", "Unity.Collections", - "Unity.Jobs", "Draco", "Ktx", "Unity.Meshopt.Decompress", @@ -42,27 +41,22 @@ }, { "name": "com.unity.render-pipelines.universal", - "expression": "7.3.1", + "expression": "", "define": "USING_URP" }, { "name": "com.unity.render-pipelines.high-definition", - "expression": "7.3.1", + "expression": "", "define": "USING_HDRP" }, - { - "name": "com.unity.render-pipelines.high-definition", - "expression": "17", - "define": "USING_HDRP_17_OR_NEWER" - }, { "name": "com.unity.modules.physics", - "expression": "1.0.0", + "expression": "", "define": "UNITY_PHYSICS" }, { "name": "com.unity.modules.animation", - "expression": "1.0.0", + "expression": "", "define": "UNITY_ANIMATION" }, { @@ -75,11 +69,6 @@ "expression": "", "define": "UNITY_WEBREQUEST_TEXTURE" }, - { - "name": "com.unity.collections", - "expression": "1.4.0", - "define": "UNITY_COLLECTIONS" - }, { "name": "com.unity.meshopt.decompress", "expression": "", @@ -97,14 +86,9 @@ }, { "name": "com.unity.nuget.newtonsoft-json", - "expression": "3", + "expression": "", "define": "NEWTONSOFT_JSON" - }, - { - "name": "com.unity.mathematics", - "expression": "1.3", - "define": "UNITY_MATH_1_3_OR_NEWER" } ], "noEngineReferences": false -} \ No newline at end of file +} diff --git a/package.json b/package.json index c6210835c..a6d966210 100644 --- a/package.json +++ b/package.json @@ -1,9 +1,9 @@ { "name": "com.atteneder.gltfast", - "version": "6.18.0", + "version": "6.19.0", "displayName": "glTFast", "description": "Use glTFast to import and export glTF 3D files efficiently at runtime or in the Editor", - "unity": "2022.3", + "unity": "6000.0", "keywords": [ "mesh", "gltf", @@ -23,9 +23,8 @@ "dependencies": { "com.unity.modules.jsonserialize": "1.0.0", "com.unity.modules.unitywebrequest": "1.0.0", - "com.unity.mathematics": "1.2.6", - "com.unity.burst": "1.8.24", - "com.unity.collections": "1.2.4" - }, - "unityRelease": "67f2" + "com.unity.mathematics": "1.3.3", + "com.unity.burst": "1.8.29", + "com.unity.collections": "2.6.6" + } } From 198966d3b4887ab7e8ca1ec11afd5fb7f8d0ec19 Mon Sep 17 00:00:00 2001 From: Andreas Atteneder Date: Wed, 22 Jul 2026 11:47:18 +0200 Subject: [PATCH 25/27] chore: Directed pull request authors towards Unity's fork of glTFast. - Automatically close PRs with references to Untity's fork. --- .github/contributing.md | 3 +++ .github/pull_request_template.md | 2 ++ .github/workflows/close-pull-request.yml | 25 ++++++++++++++++++++++++ 3 files changed, 30 insertions(+) create mode 100644 .github/contributing.md create mode 100644 .github/pull_request_template.md create mode 100644 .github/workflows/close-pull-request.yml diff --git a/.github/contributing.md b/.github/contributing.md new file mode 100644 index 000000000..3933b6b78 --- /dev/null +++ b/.github/contributing.md @@ -0,0 +1,3 @@ +# Contributing + +This repository is a mirror/read-only. Please contribute to Unity's fork at diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 000000000..1a2fc4a9e --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,2 @@ +> [!IMPORTANT] +> Please submit contributions to instead. This repository is a mirror/read-only. diff --git a/.github/workflows/close-pull-request.yml b/.github/workflows/close-pull-request.yml new file mode 100644 index 000000000..fcdf6e8e9 --- /dev/null +++ b/.github/workflows/close-pull-request.yml @@ -0,0 +1,25 @@ +name: Close pull request +on: + pull_request_target: + types: [opened] + +jobs: + close: + runs-on: ubuntu-latest + permissions: + pull-requests: write + steps: + - uses: superbrothers/close-pull-request@v3 + with: + comment: | + 👋 Thanks for opening a pull request! + + Unfortunately contributions are only accepted on Unity's fork. + + Please resubmit your changes here instead: + 👉 + + > [!NOTE] + > Unity's fork is structured as a [monorepo](https://en.wikipedia.org/wiki/Monorepo), so you need to move your changes into the appropriate subfolder (`Packages/com.unity.cloud.gltfast`). + + Thank you! 🙏 From a361dacdc5ccd2a2ec7e2307cc31525e26eb734c Mon Sep 17 00:00:00 2001 From: Mostafa Mohamad Date: Tue, 11 Aug 2026 02:56:14 +0300 Subject: [PATCH 26/27] Add optional WebP support example and schema extension Adds EXT_texture_webp to the glTF schema parser to enable WebP texture detection. Moves the WebP loading implementation (WebpImageLoader.cs and WebpTextureImportAddon.cs) out of the core package and into DocExamples/ to demonstrate how to implement a native addon without coupling the core package to unity.webp. Also updates DocExamples/LoadGltfWithWebp.cs to show how to manually register the addon before loading. --- DocExamples/LoadGltfWithWebp.cs | 65 ++++++++++++++++ DocExamples/WebpImageLoader.cs | 75 ++++++++++++++++++ DocExamples/WebpTextureImportAddon.cs | 84 +++++++++++++++++++++ Runtime/Scripts/Schema/Texture.cs | 11 +++ Runtime/Scripts/Schema/TextureExtensions.cs | 18 +++++ 5 files changed, 253 insertions(+) create mode 100644 DocExamples/LoadGltfWithWebp.cs create mode 100644 DocExamples/WebpImageLoader.cs create mode 100644 DocExamples/WebpTextureImportAddon.cs diff --git a/DocExamples/LoadGltfWithWebp.cs b/DocExamples/LoadGltfWithWebp.cs new file mode 100644 index 000000000..e448b0149 --- /dev/null +++ b/DocExamples/LoadGltfWithWebp.cs @@ -0,0 +1,65 @@ +using UnityEngine; +using GLTFast; + +namespace GLTFast.Documentation.Examples +{ + /// + /// Loads a local GLB file at runtime using glTFast. + /// WebP textures are decoded automatically when the com.netpyoung.webp package is installed. + /// No special setup required — just set the file path in the Inspector and press Play. + /// + public class LoadGltfWithWebp : MonoBehaviour + { + [Header("Model")] + [Tooltip("Full path to a local .glb file.\nExample: D:\\Models\\mymodel.glb")] + public string glbFilePath = ""; + + GltfImport m_GltfImport; + + async void Start() + { + if (string.IsNullOrWhiteSpace(glbFilePath)) + { + Debug.LogError("[GlbLoader] No file path set! Set the path in the Inspector."); + return; + } + + string fileUri = "file:///" + glbFilePath.Replace("\\", "/"); + Debug.Log($"[GlbLoader] Loading: {fileUri}"); + +#if WEBP_IS_INSTALLED + // Manually register the WebP addon before loading + GLTFast.Addons.ImportAddonRegistry.RegisterImportAddon(new WebpTextureImportAddon()); +#else + Debug.LogWarning("[GlbLoader] WEBP_IS_INSTALLED is not defined. WebP textures will fail to load."); +#endif + + m_GltfImport = new GltfImport(); + bool success = await m_GltfImport.Load(fileUri); + + if (!success) + { + Debug.LogError("[GlbLoader] Load FAILED. Check console for errors."); + return; + } + + Debug.Log("[GlbLoader] Model loaded successfully."); + + bool instantiated = await m_GltfImport.InstantiateMainSceneAsync(transform); + + if (instantiated) + { + Debug.Log("[GlbLoader] Model instantiated!"); + } + else + { + Debug.LogError("[GlbLoader] Instantiation failed."); + } + } + + void OnDestroy() + { + m_GltfImport?.Dispose(); + } + } +} diff --git a/DocExamples/WebpImageLoader.cs b/DocExamples/WebpImageLoader.cs new file mode 100644 index 000000000..21f3f3d02 --- /dev/null +++ b/DocExamples/WebpImageLoader.cs @@ -0,0 +1,75 @@ +// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +#if WEBP_IS_INSTALLED + +using System; +using System.Threading; +using System.Threading.Tasks; +using GLTFast.Logging; +using Unity.Collections; +using UnityEngine; +using WebP; + +namespace GLTFast.Documentation.Examples +{ + /// + /// Decodes WebP image data into a using the unity.webp package. + /// + static class WebpImageLoader + { + public static async Task LoadAsync( + NativeArray.ReadOnly data, + bool linear, + bool readable, + bool generateMipMaps, + ICodeLogger logger, + CancellationToken cancellationToken + ) + { + cancellationToken.ThrowIfCancellationRequested(); + + var bytes = data.ToArray(); + int width = 0; + int height = 0; + byte[] rawData = null; + Error error = Error.Success; + + // Offload heavy decompression to a background thread + await Task.Run(() => + { + try + { + Texture2DExt.GetWebPDimensions(bytes, out width, out height); + // Always decode WITHOUT mipmaps — unity.webp only fills the base level. + // We generate mipmaps natively on the GPU later. + rawData = Texture2DExt.LoadRGBAFromWebP(bytes, ref width, ref height, false, out error, null); + } + catch (Exception e) + { + Debug.LogError($"[glTFast] WebP background decode exception: {e.Message}"); + error = Error.DecodingError; + } + }, cancellationToken); + + if (error != Error.Success || rawData == null) + { + logger?.Error(LogCode.EmbedImageLoadFailed); + return ImageResult.Null; + } + + // Back on the main thread: create texture and upload pixels instantly + var texture = Texture2DExt.CreateWebpTexture2D(width, height, false, linear); + texture.LoadRawTextureData(rawData); + + // Generate mipmaps if requested, then optionally mark non-readable + texture.Apply(generateMipMaps, !readable); + + // unity.webp returns textures in Unity's standard orientation (bottom-up), + // so isYFlipped is false. + return new ImageResult(texture, false); + } + } +} + +#endif // WEBP_IS_INSTALLED diff --git a/DocExamples/WebpTextureImportAddon.cs b/DocExamples/WebpTextureImportAddon.cs new file mode 100644 index 000000000..572ea392a --- /dev/null +++ b/DocExamples/WebpTextureImportAddon.cs @@ -0,0 +1,84 @@ +// SPDX-FileCopyrightText: 2025 Unity Technologies and the glTFast authors +// SPDX-License-Identifier: Apache-2.0 + +#if WEBP_IS_INSTALLED + +using System; +using System.Threading; +using System.Threading.Tasks; +using GLTFast.Addons; +using GLTFast.Schema; +using Unity.Collections; +using UnityEngine; +using WebP; + +namespace GLTFast.Documentation.Examples +{ + /// + /// Import add-on that registers native WebP texture support. + /// + class WebpTextureImportAddon : ImportAddon { } + + /// + /// Handles the EXT_texture_webp glTF extension and WebP image format detection. + /// Decodes WebP texture data using the unity.webp package. + /// + class WebpTextureImportAddonInstance : ImportAddonInstance, ITextureImageLoader + { + /// + public override void Inject(GltfImportBase gltfImport) + { + gltfImport.AddImportAddonInstance(this); + } + + /// + public override void Inject(IInstantiator instantiator) { } + + /// + public override void Dispose() { } + + /// + public override bool SupportsGltfExtension(string extensionName) + { + return extensionName == ExtensionName.TextureWebP; + } + + /// + /// Checks if the texture has the EXT_texture_webp extension and returns the WebP image index. + /// + public bool IsAbleToLoad(TextureBase texture, out int imageIndex) + { + if (texture.Extensions?.EXT_texture_webp is { source: >= 0 } webp) + { + imageIndex = webp.source; + return true; + } + imageIndex = -1; + return false; + } + + /// + /// Detects WebP format from raw byte data (RIFF????WEBP header). + /// + public bool IsAbleToLoad(ReadOnlySpan data) + { + return ImageFormatDetection.IsWebP(data); + } + + /// + /// Decodes WebP image data into a Unity Texture2D. + /// + public Task LoadImage( + NativeArray.ReadOnly data, + bool linear, + bool readable, + bool generateMipMaps, + CancellationToken cancellationToken + ) + { + return WebpImageLoader.LoadAsync(data, linear, readable, generateMipMaps, null, cancellationToken); + } + } +} + +#endif // WEBP_IS_INSTALLED diff --git a/Runtime/Scripts/Schema/Texture.cs b/Runtime/Scripts/Schema/Texture.cs index f2c81f9e4..7be3940df 100644 --- a/Runtime/Scripts/Schema/Texture.cs +++ b/Runtime/Scripts/Schema/Texture.cs @@ -129,6 +129,17 @@ internal void JsonUtilityCleanup() if ((e.KHR_texture_basisu?.source ?? -1) < 0) { e.KHR_texture_basisu = null; + } + + // Check if WebP extension is valid + if ((e.EXT_texture_webp?.source ?? -1) < 0) + { + e.EXT_texture_webp = null; + } + + // Unset extensions container if all extensions are null + if (e.KHR_texture_basisu == null && e.EXT_texture_webp == null) + { UnsetExtensions(); } } diff --git a/Runtime/Scripts/Schema/TextureExtensions.cs b/Runtime/Scripts/Schema/TextureExtensions.cs index 6dd0604bc..a0b003886 100644 --- a/Runtime/Scripts/Schema/TextureExtensions.cs +++ b/Runtime/Scripts/Schema/TextureExtensions.cs @@ -15,6 +15,10 @@ public class TextureExtensions // ReSharper disable once InconsistentNaming public TextureBasisUniversal KHR_texture_basisu; + /// + // ReSharper disable once InconsistentNaming + public TextureWebP EXT_texture_webp; + internal void GltfSerialize(JsonWriter writer) { throw new System.NotImplementedException($"GltfSerialize missing on {GetType()}"); @@ -35,4 +39,18 @@ public class TextureBasisUniversal /// public int source = -1; } + + /// + /// WebP texture extension + /// + /// + [System.Serializable] + public class TextureWebP + { + + /// + /// Index of the image which contains the WebP image data. + /// + public int source = -1; + } } From af2848cc45633c74b9906f74789e192b4dee6d2f Mon Sep 17 00:00:00 2001 From: Mostafa Mohamad Date: Tue, 11 Aug 2026 17:56:42 +0300 Subject: [PATCH 27/27] Refactor WebP add-on for clean separation and inverted dependency --- DocExamples/LoadGltfWithWebp.cs | 65 ------------------- Runtime/Scripts/GltfImport.cs | 12 ++++ Runtime/Scripts/ImageImport.cs | 8 +++ Runtime/Scripts/ImportAddons/WebP.meta | 8 +++ .../ImportAddons/WebP}/WebpImageLoader.cs | 2 +- .../ImportAddons/WebP/WebpImageLoader.cs.meta | 2 + .../WebP}/WebpTextureImportAddon.cs | 19 +++++- .../WebP/WebpTextureImportAddon.cs.meta | 2 + .../ImportAddons/WebP/glTFast.WebP.asmdef | 26 ++++++++ .../WebP/glTFast.WebP.asmdef.meta | 7 ++ Runtime/Scripts/glTFast.asmdef | 5 ++ 11 files changed, 88 insertions(+), 68 deletions(-) delete mode 100644 DocExamples/LoadGltfWithWebp.cs create mode 100644 Runtime/Scripts/ImportAddons/WebP.meta rename {DocExamples => Runtime/Scripts/ImportAddons/WebP}/WebpImageLoader.cs (98%) create mode 100644 Runtime/Scripts/ImportAddons/WebP/WebpImageLoader.cs.meta rename {DocExamples => Runtime/Scripts/ImportAddons/WebP}/WebpTextureImportAddon.cs (81%) create mode 100644 Runtime/Scripts/ImportAddons/WebP/WebpTextureImportAddon.cs.meta create mode 100644 Runtime/Scripts/ImportAddons/WebP/glTFast.WebP.asmdef create mode 100644 Runtime/Scripts/ImportAddons/WebP/glTFast.WebP.asmdef.meta diff --git a/DocExamples/LoadGltfWithWebp.cs b/DocExamples/LoadGltfWithWebp.cs deleted file mode 100644 index e448b0149..000000000 --- a/DocExamples/LoadGltfWithWebp.cs +++ /dev/null @@ -1,65 +0,0 @@ -using UnityEngine; -using GLTFast; - -namespace GLTFast.Documentation.Examples -{ - /// - /// Loads a local GLB file at runtime using glTFast. - /// WebP textures are decoded automatically when the com.netpyoung.webp package is installed. - /// No special setup required — just set the file path in the Inspector and press Play. - /// - public class LoadGltfWithWebp : MonoBehaviour - { - [Header("Model")] - [Tooltip("Full path to a local .glb file.\nExample: D:\\Models\\mymodel.glb")] - public string glbFilePath = ""; - - GltfImport m_GltfImport; - - async void Start() - { - if (string.IsNullOrWhiteSpace(glbFilePath)) - { - Debug.LogError("[GlbLoader] No file path set! Set the path in the Inspector."); - return; - } - - string fileUri = "file:///" + glbFilePath.Replace("\\", "/"); - Debug.Log($"[GlbLoader] Loading: {fileUri}"); - -#if WEBP_IS_INSTALLED - // Manually register the WebP addon before loading - GLTFast.Addons.ImportAddonRegistry.RegisterImportAddon(new WebpTextureImportAddon()); -#else - Debug.LogWarning("[GlbLoader] WEBP_IS_INSTALLED is not defined. WebP textures will fail to load."); -#endif - - m_GltfImport = new GltfImport(); - bool success = await m_GltfImport.Load(fileUri); - - if (!success) - { - Debug.LogError("[GlbLoader] Load FAILED. Check console for errors."); - return; - } - - Debug.Log("[GlbLoader] Model loaded successfully."); - - bool instantiated = await m_GltfImport.InstantiateMainSceneAsync(transform); - - if (instantiated) - { - Debug.Log("[GlbLoader] Model instantiated!"); - } - else - { - Debug.LogError("[GlbLoader] Instantiation failed."); - } - } - - void OnDestroy() - { - m_GltfImport?.Dispose(); - } - } -} diff --git a/Runtime/Scripts/GltfImport.cs b/Runtime/Scripts/GltfImport.cs index b11dfd0b4..8f60d50b6 100755 --- a/Runtime/Scripts/GltfImport.cs +++ b/Runtime/Scripts/GltfImport.cs @@ -1629,6 +1629,18 @@ void ReportUnsupportedExtension(string ext, bool required) ); return; } +#endif +#if !WEBP_IS_INSTALLED + if (ext == "EXT_texture_webp") + { + Logger?.Log( + required ? LogType.Error : LogType.Warning, + LogCode.PackageMissing, + "unity.webp", + ext + ); + return; + } #endif Logger?.Log( required ? LogType.Error : LogType.Warning, diff --git a/Runtime/Scripts/ImageImport.cs b/Runtime/Scripts/ImageImport.cs index 5f236ff6b..6511d140d 100644 --- a/Runtime/Scripts/ImageImport.cs +++ b/Runtime/Scripts/ImageImport.cs @@ -78,11 +78,19 @@ CancellationToken cancellationToken if (ImageFormatDetection.IsWebP(data.Data.AsReadOnlySpan())) { +#if !WEBP_IS_INSTALLED + context.Logger?.Error( + LogCode.PackageMissing, + "unity.webp", + "EXT_texture_webp" + ); +#else context.Logger?.Error( LogCode.ImageFormatUnsupported, imageIndex.ToString(), nameof(ImageFormat.WebP) ); +#endif return ImageResult.Null; } diff --git a/Runtime/Scripts/ImportAddons/WebP.meta b/Runtime/Scripts/ImportAddons/WebP.meta new file mode 100644 index 000000000..8f3cdd67d --- /dev/null +++ b/Runtime/Scripts/ImportAddons/WebP.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 03ca9736a8d5c754498fecd9bc947c3e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/DocExamples/WebpImageLoader.cs b/Runtime/Scripts/ImportAddons/WebP/WebpImageLoader.cs similarity index 98% rename from DocExamples/WebpImageLoader.cs rename to Runtime/Scripts/ImportAddons/WebP/WebpImageLoader.cs index 21f3f3d02..bc0b29e1f 100644 --- a/DocExamples/WebpImageLoader.cs +++ b/Runtime/Scripts/ImportAddons/WebP/WebpImageLoader.cs @@ -11,7 +11,7 @@ using UnityEngine; using WebP; -namespace GLTFast.Documentation.Examples +namespace GLTFast.Addons { /// /// Decodes WebP image data into a using the unity.webp package. diff --git a/Runtime/Scripts/ImportAddons/WebP/WebpImageLoader.cs.meta b/Runtime/Scripts/ImportAddons/WebP/WebpImageLoader.cs.meta new file mode 100644 index 000000000..4715c8df2 --- /dev/null +++ b/Runtime/Scripts/ImportAddons/WebP/WebpImageLoader.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: ce01bc9c4f6d80f4c97e1abcd6a546cf \ No newline at end of file diff --git a/DocExamples/WebpTextureImportAddon.cs b/Runtime/Scripts/ImportAddons/WebP/WebpTextureImportAddon.cs similarity index 81% rename from DocExamples/WebpTextureImportAddon.cs rename to Runtime/Scripts/ImportAddons/WebP/WebpTextureImportAddon.cs index 572ea392a..97434de8a 100644 --- a/DocExamples/WebpTextureImportAddon.cs +++ b/Runtime/Scripts/ImportAddons/WebP/WebpTextureImportAddon.cs @@ -12,7 +12,7 @@ using UnityEngine; using WebP; -namespace GLTFast.Documentation.Examples +namespace GLTFast.Addons { /// /// Import add-on that registers native WebP texture support. @@ -40,7 +40,7 @@ public override void Dispose() { } /// public override bool SupportsGltfExtension(string extensionName) { - return extensionName == ExtensionName.TextureWebP; + return extensionName == "EXT_texture_webp"; } /// @@ -79,6 +79,21 @@ CancellationToken cancellationToken return WebpImageLoader.LoadAsync(data, linear, readable, generateMipMaps, null, cancellationToken); } } + + /// + /// Auto-registers the WebP addon on load, for both Editor and Runtime. + /// + public static class WebpAddonBootstrapper + { + [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)] +#if UNITY_EDITOR + [UnityEditor.InitializeOnLoadMethod] +#endif + static void RegisterWebpAddon() + { + ImportAddonRegistry.RegisterImportAddon(new WebpTextureImportAddon()); + } + } } #endif // WEBP_IS_INSTALLED diff --git a/Runtime/Scripts/ImportAddons/WebP/WebpTextureImportAddon.cs.meta b/Runtime/Scripts/ImportAddons/WebP/WebpTextureImportAddon.cs.meta new file mode 100644 index 000000000..1d8ae79c9 --- /dev/null +++ b/Runtime/Scripts/ImportAddons/WebP/WebpTextureImportAddon.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 736aa393618372b4a9bbbad3f065d1a3 \ No newline at end of file diff --git a/Runtime/Scripts/ImportAddons/WebP/glTFast.WebP.asmdef b/Runtime/Scripts/ImportAddons/WebP/glTFast.WebP.asmdef new file mode 100644 index 000000000..625455a4d --- /dev/null +++ b/Runtime/Scripts/ImportAddons/WebP/glTFast.WebP.asmdef @@ -0,0 +1,26 @@ +{ + "name": "glTFast.WebP", + "rootNamespace": "GLTFast.Addons", + "references": [ + "Unity.Burst", + "Unity.Collections", + "Unity.Mathematics", + "glTFast", + "unity.webp" + ], + "includePlatforms": [], + "excludePlatforms": [], + "allowUnsafeCode": true, + "overrideReferences": false, + "precompiledReferences": [], + "autoReferenced": true, + "defineConstraints": [], + "versionDefines": [ + { + "name": "com.netpyoung.webp", + "expression": "", + "define": "WEBP_IS_INSTALLED" + } + ], + "noEngineReferences": false +} diff --git a/Runtime/Scripts/ImportAddons/WebP/glTFast.WebP.asmdef.meta b/Runtime/Scripts/ImportAddons/WebP/glTFast.WebP.asmdef.meta new file mode 100644 index 000000000..e50327643 --- /dev/null +++ b/Runtime/Scripts/ImportAddons/WebP/glTFast.WebP.asmdef.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 185ae037744214c4786a19d9eeb386e9 +AssemblyDefinitionImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Scripts/glTFast.asmdef b/Runtime/Scripts/glTFast.asmdef index fa2820bcb..60117e6e2 100644 --- a/Runtime/Scripts/glTFast.asmdef +++ b/Runtime/Scripts/glTFast.asmdef @@ -88,6 +88,11 @@ "name": "com.unity.nuget.newtonsoft-json", "expression": "", "define": "NEWTONSOFT_JSON" + }, + { + "name": "com.netpyoung.webp", + "expression": "", + "define": "WEBP_IS_INSTALLED" } ], "noEngineReferences": false